嗯,这应该是个古老的话题了。
很多年以前,86年吧,我刚开始接触电脑的时候,曾经疑惑过,什么叫做电脑高手。那个时侯,能把电脑玩的很熟练,就叫高手了。
可是,玩了半天,发现自己还是不会编程序。
后来才发现,玩电脑,和写程序,根本就是两码事,二者之间没有任何必然的关系。
当然,电脑玩的熟练,对于快速理解和学习操作系统,有一定帮助,但也仅仅是一定帮助而已。
进到这个坛子里面的朋友,我想基本上都是想学习编程的,因此我谈点我的看法。
我以前一直在Windows下开发应用服务,现在转到Linux下了,arm也买了一个自己在家里玩,我去年带领团队,开发了一个Linux服务器集群,自己也在Arm9的开发板上开发出一个局域网网关,但我还是不同意自己算一个Linux或arm平台的高手。
为什么呢?因为我没有去学习操作系统怎么操作。学还是想学的,主要是项目压得紧,没有时间学习。
项目一开始,我就要求公司给项目组配置一个专门的服务器管理员,他负责按我们的需求,将服务器配置妥当,我们只管用。不要以为公司不理会员工的要求,我只说了一句话公司就同意了,让程序员来配操作系统,太贵了,找个专业网管成本很低的。
对我而言,我只要了解Linux的开发特性,能写出正确的程序,ftp上传到Linux服务器上编译,并putty开一个ssh的客户端,能观察调试我的程序,就够了。
arm也一样,我去年一个冲动,自己从淘宝上买了个arm9的开发板,我去提货时,首先就是当场利用笔记本的linux虚拟机,调出vi,写了个经典的hello world,然后交叉编译,然后利用telnet,登录arm机器,run,一切ok。就可以了。
之后我再没有碰过系统的东东,我只管写我的应用,然后不断编译调试,我的目的很明确,要做出自己的应用来,至于这个平台怎么玩,我不感兴趣。arm买回来之后这么久,我一次系统都没有装过,因为我不需要。
我倒不是说BootLoader不可以玩,但是,我们学的是开发,编程,不是变成玩Linux的高手,除了以后立志做驱动工程师,需要对Arm平台的Linux底层技术了解非常透彻,需要玩玩BootLoader之外,其他时候,专业写BootLoader的机会恐怕还真不多。
建议大家还是把目标锁定在编程开发的思路上,多关注需求实现需要的算法,数据结构什么的,这是程序设计的根本。
arm机本来拿来就是做应用的,它不是玩具,也不好玩。只要能做事就好了。
呵呵,这是一家之言哈,可能有点偏颇,欢迎大家拍砖。
嗯,再补充一点。
商业开发时,需求优先,目的优先,从来不会去讨论哪个语言,哪个平台的优劣性,完全看需要,哪个合用用哪个。不会,不会就去学习,学不会,那换人,下一个。
而且,现在开发的趋势,是混合编程,底层用C保证效率,上层用脚本,开发成本很低,可以迅速调整业务,适应不同的市场需求。
平台普遍是客户端都是Windows的,因为大家爱用,服务器很多都是Linux的,因为不花钱。Apache也比IIS用得多,MySQL比SQLServer用得多,这些都是实际情况。
与技术先进性无关,完全是商业运作的成本和市场份额考虑。
因此,大家学习时,不要对任何语言,平台有偏见,专攻一门,掌握核心,同时多有涉猎,广为了解。
尤其不要去争论C和C++哪个好之类的话题,很多时候,在确定项目方案的时候,C和C++都输了,PHP或者JS胜出。
呵呵,一家之言,欢迎拍砖。
记住,程序员就是程序员,程序员是应用实现的专家,是客户需求满足的专家。
从来就没有哪条法律规定,程序员一定是操作系统或者平台的使用专家。
国外很多大型机程序员,一辈子没有看见过自己用的计算机,就是远程登录上去,写程序,编译,调试,交工,然后拿到自己的薪水。
呵呵。