西西河

主题:【原创】也来说说Linux和Windows下的开发感受 -- 昔杨今雨

共:💬203 🌺502 新:
全看树展主题 · 分页
/ 14
下页 末页
家园 【原创】也来说说Linux和Windows下的开发感受

在河里闲逛, 看到这里大家讨论得挺热闹, 不由得手痒, 也来说说俺的感受.

俺的起步是Turbo C, 后来是Borland C++, 没有多久, 接触到了Sun Sparc Workstation, 其后4年, 一直在Unix下, 包括大学毕业后还在SCO下折腾了1年. 然后换了公司, 又在Windows下用了3年VC. 随着职位的升迁, 直接编程的机会越来越少, 直到辞职创业, 又回到了Unix环境, 这次是Linux了. 最近随着桌面产品的逐步推出, 处在LW两栖状态下, 真的变成了青蛙;-)

回顾一下这十几年的开发经历, 对这两种平台的开发感受也是随着时间不断有更深的体会.

最早的一个感受, 到现在我也依然这么认为, 就是Windows下的IDE让很多人成为一个庸庸碌碌的程序员. 我刚开始接触 Unix的时候, IDE? 不, 我们只有命令行:-). 开发人员面临的第一个问题就是如何组织你的源代码. 你必须很在意代码文件的命名和目录结构, 否则自己都会被搞糊涂. 记得当时常用的方法就是一个函数一个文件, 文件名就是函数名; 随时注意代码的重用, 可以编译成一个lib的, 就编译成lib, 模块化的概念由此产生; 命令行方式的debug不是很方便, 因此就必须在代码编写的时候高度重视代码的质量; F1帮助? 拜托, 请自己去查; 重复敲打命令很让人厌烦, 做个shell script来批量执行, 这又是最早对解释型编程语言的接触. everything is a file, do one thing and do it best, 这些Unix设计思想中的精华就这样深印在脑海里. 这些都是被逼出来的, 但是回头看看, 收获是如此丰厚, 以至于至今受益.

而舒适的IDE不会让一个刚刚接触编程的人获得上面任何一个经验, 就像一个一直用傻瓜相机的人永远不会成为一个优秀摄影师一样, 一直使用IDE编程的人也不会成为一个优秀的程序员. 顺便说一下, 我觉得唯一比一个初学者使用IDE更糟糕的是: 他(她)居然使用中文版的IDE.

我的第二个看法, Windows和Unix在它们诞生之初就存在很大的区别. 用玩具打个比方, 如果Windows是一个洋娃娃, Unix就是Lego. 当我们讨论这两个平台作为开发环境的优劣的时候, 我们不仅要评价它们各自可以给最终用户带来什么, 更应该认真思考一下这两个平台分别为程序员带来什么. Unix自身就是一个最好的演示, 因为它给了程序员一张解剖图, 而不是一个黑盒. 即使你仅仅在使用它, 只要你愿意多问个为什么, 它就会带着你由简入繁, 再由繁入简. 这就好像杨过睡的寒玉床, 不知不觉中, 功力就得到了提升. 从这个意义上来说, Unix难道不是一个最好的开发环境吗?

第三点是看了大家的讨论后而产生的, 在跟帖里面, 各位都有很多很好的意见, 但是我觉得大家在比较的时候似乎都忽略了很重要的一点, 那就是团队开发. 单个技术的比较在我看来容易发生分歧, 而且意义不大. 在实际工作中, 我们往往是在一个团队中或者领导着一个团队. 我说四个字"持续集成". 也许你看到这里已经微笑, 那么我们自有会心处. 如果您还不明白, 那么我就追问一句, 在Windows和Unix下, 分别搭建一个持续集成环境, 哪个更方便, 哪个更成熟?

顺便鸣谢AllenKi, 他的一篇讲IPhone SDK的文章, 看了以后给我触动很大, 可以说, 苹果对产品看法和开发原则给我打开了一片新天地, 我正在尝试走入这片新天地, 希望有一天我还可以对这三者进行一些深入的比较.

家园 说的真不错,花
家园 很有道理!但也不能走极端,好比大家用C而不是汇编甚至机器语言。
家园 呵呵, 我的看法是我们需要时常疯狂一下

套用一下票姚校尉的话: 因为我们不是用户, 我们是程序员.

家园 也觉得IPhone SDK可能是个机会

IT的技术路线发展很快,前人走的通的路后人未必走的通。熊仔一向觉得自己蹲家学东西是最慢的。最快的方式是就是老板催着你完工,家里没米下锅了,硬件充足到奢侈,身边全是有经验的开发者,你不做完他们也回不了家所以全力帮你,做完了会得到一大笔奖励。所以,能不能找到个好的项目对人成长很重要。今天的Unix Linux还像昔杨今雨当年学习时那样,给初学者留下很多机会了吗?熊仔的学生中只有一个是在linux下的 (嵌入式的不算)。熊仔只知道SCO在银行,交易所的应用,昔杨今雨能说说其他吗?方便的话,也谈谈SCO开发者的待遇。可能是熊仔的技术等级比较低,在SCO下开发是养不活熊仔的。

家园 楼主太走极端了.误导
家园 河里玩LINUX的人还真不少.
家园 看主帖您就可以看出我的基础是在大学打下的

今天的Unix Linux还像昔杨今雨当年学习时那样,给初学者留下很多机会了吗?

我不大明白您指的机会是什么, 没有觉得我得到了什么机会呀;-), 您要是指Sparc, 当时linux才1.x.x, 咱们不也弄上一堆软盘, 一张一张地安装了玩. 现在上那儿不能下载个linux啊.

现在的条件应该比我们那时候强得多, 至少宿舍里面都有电脑. 也许都是用来打游戏了吧, 我发现很多相关专业的应届毕业生居然对编程一窍不通, 有的本科毕业以后, 发现这种水平工作实在不好找, 就回到北大青鸟之类的职业培训学校去专门学习编程. 似乎有点不可思议, 但是却是事实.

熊仔所期望的那种"最快的方式"好像不大现实. 熊仔你在实际生活中遇到过吗? 如果是的话, 你可就太幸运了. 能够有这一条:"身边全是有经验的开发者", 就该谢天谢地了. 编程的基础应该在学校里面就建立好, 而不是到工作中再开始学习. 反正我是不会雇佣这样的员工的.

我大学毕业的第一年是为银行开发一些应用, 因此用了一段时间的SCO. 不过因为是和几个朋友合伙开的公司, 所以待遇啥的没有代表性, 就不提了吧.

家园 SCO自己都改做LINUX去了,何必再和它纠缠呢?
家园 稍稍的争论一下

熊仔猜测,仅仅是猜测啊,以前用unix,linux的人,开始时水平也不高,进公司后大家都不太懂,类似于萨大说的插个网线都出一身汗。现在10年以上经验的人多了,系统搭建比以前复杂了,想让公司养着你入门比较难。现在有没有哪个领域的公司愿意养应届毕业生呢?有,但不再是unix,linux方面的(我不拿嵌入式的linux当linux)。所以熊仔说iphone SDK是个机会,没有公司用新人,我可以自己做自由职业嘛,熟了再转回来做linux.总比被派去做客服,晚上加班加点的偷偷学强。

大学里有些论坛或者项目组比公司还强,熊仔觉得这才是个资源。

随着生活越来越富裕,更多的年轻人选择轻松的生活方式,尤其是那些好大学的毕业生。据说美国那边也是这样,好多人不愿读理工。所以你所能看到的愿意把青春献给编码的年轻人往往是没有良好资源的,能力也不太强的。站在这个角度,理解一下他们。现在it这行对优秀人才的吸引力没有以前大了,只有他们才愿意一天工作十几个小时。虽然他们中的大多数开始没有什么基础,但在工作中去学,还是能成长为高手的。

优秀的人总希望自己的继任者也是优秀的,现实却不尽人意。面对这个矛盾,中国人的传统还是求人不如求己,不如努力去吸引新人培养新人了。希望你招聘时还多给新人的机会,只要肯用功就给他机会。浪费老板一点钱,培养个人才不吃亏。

熊仔遇到过身边都是有经验的开发者的时候,那时熊仔产业界经验是6个月,别人都是5年以上。熊仔是放进去锻炼的。现在也有不少组是这样的吧,在别的行业里也应该有以老带新的吧。

家园 有些工作机会还在SCO上

有些银行,交易所上了SCO的船就下不来了,现在还用着。作为搞技术的,管他挂什么牌呢。发钱养着搞开发的就好,要是发的太少,就谁都养不活了。河里有篇文章说,要是软件都开源了,开源的就没饭吃了。考证一下,据说有一年Sun没钱了,微软给了好多补助,有没有这个事

家园 楼主混淆了两件事情

那就是学习和赚钱。

学习

FreeBSd和Linux的源代码可以让人亲自主刀有个解剖操作系统/应用软件的机会,可这对视窗系统来说,不啻于做梦。

赚钱

Borland公司起家于视窗,又被微软打到,如果当时类UNIX平台上的利润如此丰厚,Borland当时也犯不着吊在视窗上啊。可如今几年过去了,Kylix也未见如当年Turbo系列Borland系列一般火爆。

家园 为何比试一试gPhone的开发呢?

感觉比iPhone更有市场前景。

家园 我是觉得Apple的用户比较有价值。

Apple用户付钱痛快,写了好软件有人买单。google的用户好多是企业,都想着如何用google再赚钱,这不,美国经济不好了,做广告的就少了,google的股价就跌了

家园 相比于10个人竞争服务于一个富人

10个人竞争服务于1000个人那个好些。

iPhone的市场及市场价值和整个手机市场比?

(gPhone是平台,不针对那家品牌.)

全看树展主题 · 分页
/ 14
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河