当前位置: 技术问答>linux和unix
大家好,一起来讨论下Linux的发展方向:服务器和设备端的开发吧。
来源: 互联网 发布时间:2016-12-10
本文导语: 大家好,Linux的就业方向在我看来主要分为服务器开发和设备端开发两个发展方向,我也从事过这两个方向的工作,现在做的是设备端程序的开发工作,但是很是怀念以前的服务器的开发工作。 在我看来,这两个方...
大家好,Linux的就业方向在我看来主要分为服务器开发和设备端开发两个发展方向,我也从事过这两个方向的工作,现在做的是设备端程序的开发工作,但是很是怀念以前的服务器的开发工作。
在我看来,这两个方向的优缺点是:
1,服务器开发
优点:
对算法要求高,代码质量也相对高一些,对动态语言脚本的运用,数据存储的知识及一些纯软件方面的知识要求较高且杂。感觉要牛逼点,可以在技术方面得到很好的锻炼。
缺点:
企业需求的开发人员较少,且大部分服务器开发的工作重点在测试、维护、优化上,想写很多代码,进入新的服务器项目才行。
2,设备端的开发
优点:
就是现在需求量比较大的嵌入式软件的开发,软硬件结合,即使做的是纯软件开发,也要求能看懂电路原理图,对计算机系统、体系结构等方面的内容要求较多。
缺点:
代码量少,且质量相对没服务器的高,在写代码方面的锻炼较少。
以上是我个人的一点拙见,希望抛砖引玉,大家一起探讨探讨!
在我看来,这两个方向的优缺点是:
1,服务器开发
优点:
对算法要求高,代码质量也相对高一些,对动态语言脚本的运用,数据存储的知识及一些纯软件方面的知识要求较高且杂。感觉要牛逼点,可以在技术方面得到很好的锻炼。
缺点:
企业需求的开发人员较少,且大部分服务器开发的工作重点在测试、维护、优化上,想写很多代码,进入新的服务器项目才行。
2,设备端的开发
优点:
就是现在需求量比较大的嵌入式软件的开发,软硬件结合,即使做的是纯软件开发,也要求能看懂电路原理图,对计算机系统、体系结构等方面的内容要求较多。
缺点:
代码量少,且质量相对没服务器的高,在写代码方面的锻炼较少。
以上是我个人的一点拙见,希望抛砖引玉,大家一起探讨探讨!
|
我以前是搞过几年的设备端开发,就是终端嵌入式开发,如果嵌入式系统是linux,可以熟悉一下系统的内核,其实操作系统运用的话,一般熟悉了系统的任务调度,系统调用,外加c语言, 其它的需要理解嵌入式概念:看门狗、中断触发(沿触发、电平触发)等,至于电路图,如果是搞软件的,一般能够对照图中的PIN脚,根据芯片的文档,能够用示波器、万用表对照代码逻辑能够测量就可以了。我这个搞了3年多,后来发现,这个东西,芯片是人家的,系统也是人家的,且上层地协议栈芯片厂商也已经实现了。回想起来,大多时间在改一些很上层的东西,和芯片厂商沟通花去很长的时间,所以英语水平提高了不少,O(∩_∩)O~。
我现在不做嵌入式开发了,目前从事的算是服务器开发吧,或者不算,整个系统很复杂,好多个点,每个点的系统有linux(suse),也有Unix(hp-ux),确实需要经常运用一些脚本,shell编程、熟悉perl等,但是代码用c++来写,可以详细运用linux的系统调用,还有一些复杂的逻辑代码实现,开发流程更加可控一下,不像设备端开发,很多fatal问题都与芯片(不是硬件,可能是上层算法,或者协议)有关,需要厂家出补丁才能结果。开发流程可控,加班也少了。
以上是我的感受,给位莫拍砖!
我现在不做嵌入式开发了,目前从事的算是服务器开发吧,或者不算,整个系统很复杂,好多个点,每个点的系统有linux(suse),也有Unix(hp-ux),确实需要经常运用一些脚本,shell编程、熟悉perl等,但是代码用c++来写,可以详细运用linux的系统调用,还有一些复杂的逻辑代码实现,开发流程更加可控一下,不像设备端开发,很多fatal问题都与芯片(不是硬件,可能是上层算法,或者协议)有关,需要厂家出补丁才能结果。开发流程可控,加班也少了。
以上是我的感受,给位莫拍砖!
|
看了下,貌似我是设备端的(嵌入式?),用的语言主要是C,脚本的话,只涉及到一点点,比如设置个环境变量什么的。
这方面要求的东西的确多,应该是要有所专注的,比如说搞软件的,电路图可以不必像硬件工程师那样深入研究,另外,也要看懂时序图。像计算机体系结构方面的知识,有比没有好,而像C语言、计算机组成、数据结构等等,算基础的了。
但是,有些东西,久了不用便会忘了。
个人意见,欢迎指正。
这方面要求的东西的确多,应该是要有所专注的,比如说搞软件的,电路图可以不必像硬件工程师那样深入研究,另外,也要看懂时序图。像计算机体系结构方面的知识,有比没有好,而像C语言、计算机组成、数据结构等等,算基础的了。
但是,有些东西,久了不用便会忘了。
个人意见,欢迎指正。
|
顶一下,说的不错,看样子这位大哥挺有经验的。
依我个人的经验觉得终端嵌入式方面对基层知识要求的更多更广,代码写的也不一定更少。
服务器并不一定都很多算法,算法最多的部分也是有现存的库的。
服务器端的难点只在于业务逻辑和架构。