转:郑晔(dreamhead)同学的一篇文章——《起步的台阶》

136 views
Skip to first unread message

pongba

unread,
Feb 23, 2008, 1:37:44 AM2/23/08
to TopLanguage
有些同感,故转之(链接:http://dreamhead.blogbus.com/logs/15800574.html

《起步的台阶》
我的程序人生是从微软的技术起步的。虽然那时已经是Windows的年代,但是目光的局限,让我依然还是在DOS上下了一些功夫。也是因为从DOS出发, 后来顺理成章的进入了Windows开发的行列。那时候的我是很努力的,不断的探索着各种各样的技术实现,不断的阅读着各种各样的书刊杂志,也着实记住了 一些所谓的技术。不过,有个问题一直困扰着我,我觉得自己记住的只是一些形,而非神,这些形的东西是很容易忘记的,所以,我一直觉得自己并没有真正的理解 编程,我甚至一度怀疑适不适合做开发。

真正让我开始觉得心里踏实是以程序员为职业之后。我的职业之路起步于Java,做的是服务器端的开 发。跨平台的Java让我的目光不在局限于微软的平台,而服务器端的开发,让我有机会更加关注软件设计本身,而并非花哨的表现形式。随着开发越做越多,我 逐渐开始摸索到了一些共性的东西,对自己的程序人生充满了信心。

走不同的路,得到的结果差异会很大。从上面提到的我个人的经历反映出在不 同的技术社区内的不同倾向。记得有人说过,微软社区更倾向于探究底层实现,而Java社区更关注设计架构。其实,差别并不只这些,比如,微软的技术社区倾 向于追踪新技术,因为几乎差不多每隔几年,微软就要把自己的东西推翻了重来,从DOS到Windows,再到.NET的变化,而Java社区的人则是在一 个稳定的基础上不断的发展。微软是为了商业上的发展,所以,它要不断推陈出新,而Java也有变化,比如EJB到without EJB,但决定因素多半是技术上的,而非商业上的。

如我前面所说,微软社区有很多人关注的是一些细节上的实现,所以,造成的结果是他们不 得不在茂密的技术丛林中不断摸索,而无暇顾及其它。我们公司内部,有一个技能列表,上面记录着哪些人会哪些东西,比如Java、.NET、Ruby等等, 这样方便做项目时进行资源调配。其中有一个有趣的现象,只拥有一项技能的开发人员大多都属于.NET阵营。而Java阵营的人,经过最初的探索,会发现原 来自己学到的东西是可以用在很多其它的地方,于是他们的触角开始伸向其它地方,比如JavaEye这个以Java命名的网站上会有很多关于Ruby的讨 论、关于函数式编程的讨论、关于Erlang的讨论,这些东西少有会对Java开发本身产生直接的帮助。

如果已经从最初的阶段突围而出,或许,这些差异并不重要,因为我们做事靠的是自己的方法和一些共性的东西。但对于刚开始成为程序员的人来说,并不知道这些差别的存在,一个人的见识有限时,他会认为自己见到的就是整个的世界,就像我刚开始编程那会儿。

其 实,我觉得最适合编程起步的应该是Unix开发。这些年里,很多出自贝尔实验室的书,比如《Unix编程环境》、《程序设计实践》、《C程序设计语言》等 等都是在探索软件开发本质的书,而Unix的诞生地正是贝尔实验室。Eric Raymond写过一本《Unix编程艺术》,品味之下,便不难发现,许多随着Unix而生的是做事的方法,而这些方法并不是把人限制在Unix这个具体 的平台之上,而更多的是一种通用的软件开发理念,拥有了这些理念,即便进入了一个陌生的领域,只要稍加学习,从前的感觉便会回到身边。

起步固然重要,不过,即便起步并非一帆风顺,如果抱有一个开放的心和一个思考的大脑,最终,都会走上同样的开发之路。

--
刘未鹏(pongba)|C++的罗浮宫
http://blog.csdn.net/pongba
TopLanguage
http://groups.google.com/group/pongba

lbaby

unread,
Feb 23, 2008, 4:21:08 AM2/23/08
to TopLanguage
unix的编程真的是非常简单。弄得我现在都不敢看M$的东西了

On Feb 23, 2:37 pm, pongba <pon...@gmail.com> wrote:
> 有些同感,故转之(链接:http://dreamhead.blogbus.com/logs/15800574.html
>
> 《起步的台阶》
> 我的程序人生是从微软的技术起步的。虽然那时已经是Windows的年代,但是目光的局限,让我依然还是在DOS上下了一些功夫。也是因为从DOS出发,
> 后来顺理成章的进入了Windows开发的行列。那时候的我是很努力的,不断的探索着各种各样的技术实现,不断的阅读着各种各样的书刊杂志,也着实记住了
> 一些所谓的技术。不过,有个问题一直困扰着我,我觉得自己记住的只是一些形,而非神,这些形的东西是很容易忘记的,所以,我一直觉得自己并没有真正的理解
> 编程,我甚至一度怀疑适不适合做开发。
>
> 真正让我开始觉得心里踏实是以程序员为职业之后。我的职业之路起步于Java,做的是服务器端的开
> 发。跨平台的Java让我的目光不在局限于微软的平台,而服务器端的开发,让我有机会更加关注软件设计本身,而并非花哨的表现形式。随着开发越做越多,我
> 逐渐开始摸索到了一些共性的东西,对自己的程序人生充满了信心。
>
> 走不同的路,得到的结果差异会很大。从上面提到的我个人的经历反映出在不
> 同的技术社区内的不同倾向。记得有人说过,微软社区更倾向于探究底层实现,而Java社区更关注设计架构。其实,差别并不只这些,比如,微软的技术社区倾
> 向于追踪新技术,因为几乎差不多每隔几年,微软就要把自己的东西推翻了重来,从DOS到Windows,再到.NET的变化,而Java社区的人则是在一
> 个稳定的基础上不断的发展。微软是为了商业上的发展,所以,它要不断推陈出新,而Java也有变化,比如EJB到without
> EJB,但决定因素多半是技术上的,而非商业上的。
>
> 如我前面所说,微软社区有很多人关注的是一些细节上的实现,所以,造成的结果是他们不
> 得不在茂密的技术丛林中不断摸索,而无暇顾及其它。我们公司内部,有一个技能列表,上面记录着哪些人会哪些东西,比如Java、.NET、Ruby等等,
> 这样方便做项目时进行资源调配。其中有一个有趣的现象,只拥有一项技能的开发人员大多都属于.NET阵营。而Java阵营的人,经过最初的探索,会发现原
> 来自己学到的东西是可以用在很多其它的地方,于是他们的触角开始伸向其它地方,比如JavaEye这个以Java命名的网站上会有很多关于Ruby的讨
> 论、关于函数式编程的讨论、关于Erlang的讨论,这些东西少有会对Java开发本身产生直接的帮助。
>
> 如果已经从最初的阶段突围而出,或许,这些差异并不重要,因为我们做事靠的是自己的方法和一些共性的东西。但对于刚开始成为程序员的人来说,并不知道这些差别的-存在,一个人的见识有限时,他会认为自己见到的就是整个的世界,就像我刚开始编程那会儿。

莫华枫

unread,
Feb 23, 2008, 5:12:11 AM2/23/08
to pon...@googlegroups.com
ms的东西20年前都是很简单的,然后越来越复杂。不知道是历史包袱,还是开发人员太菜,抑或是管理的问题。或许三者都有?

2008/2/23 lbaby <lba...@yahoo.com.cn>:



--
反者道之动,弱者道之用
m...@seaskysh.com
longsh...@gmail.com
http://blog.csdn.net/longshanks/

Kyle M. Lee

unread,
Feb 23, 2008, 8:32:25 AM2/23/08
to pon...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

莫华枫 写道:


> ms的东西20年前都是很简单的,然后越来越复杂。不知道是历史包袱,还是开发人员太菜,抑或是管理的问题。或许三者都有?
>

感觉各方面的原因都有。
从以往MS的人写的文章来看,他们OS部门有个专门做OS向后兼容接口,做各种app
兼容的测试和os适配的。这种“脏活”是MS为客户的考虑。想想大部分程序,包括以
前dos的,都可以在现在xp上跑,觉得还是挺不错的。

当然,也有负面的因素导致了这个结果,就是公司大之后,各个部门的想法如果各
成一套,东西就会变复杂。

还有就是从商业上考虑产品差异化的时候,会把OS做的不兼容其他标准的,或者程
序接口和已知接口不兼容的,以增加用户黏度。著名的就是office,IE这些了。

Unix开发是方便,麻烦的地方在在于在各个版本的unix之间移植。
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHwCBpu3FNgZBi4vkRAuMwAJ42ZX0RbjJZBuOsF6xQXK7GbdCz4QCeOBPw
pbA/HYDvqnWp2efc0qk5QmY=
=vPVP
-----END PGP SIGNATURE-----

lbaby

unread,
Feb 23, 2008, 10:48:52 PM2/23/08
to TopLanguage
这次vista的版本与以前不兼容也可能是ms 意识到了,向前的太多兼容会损害技术的进步吧,
看好vista这次的构架上的改变



On Feb 23, 9:32 pm, "Kyle M. Lee" <mail2k...@gmail.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> 莫华枫 写道:> ms的东西20年前都是很简单的,然后越来越复杂。不知道是历史包袱,还是开发人员太菜,抑或是管理的问题。或许三者都有?
>
> 感觉各方面的原因都有。
> 从以往MS的人写的文章来看,他们OS部门有个专门做OS向后兼容接口,做各种app
> 兼容的测试和os适配的。这种"脏活"是MS为客户的考虑。想想大部分程序,包括以
> 前dos的,都可以在现在xp上跑,觉得还是挺不错的。
>
> 当然,也有负面的因素导致了这个结果,就是公司大之后,各个部门的想法如果各
> 成一套,东西就会变复杂。
>
> 还有就是从商业上考虑产品差异化的时候,会把OS做的不兼容其他标准的,或者程
> 序接口和已知接口不兼容的,以增加用户黏度。著名的就是office,IE这些了。
>
> Unix开发是方便,麻烦的地方在在于在各个版本的unix之间移植。
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.7 (MingW32)
> Comment: Using GnuPG with Mozilla -http://enigmail.mozdev.org

Kyle M. Lee

unread,
Feb 24, 2008, 1:01:23 AM2/24/08
to pon...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

lbaby 写道:
> 这次vista的版本与以前不兼容也可能是ms 意识到了,向前的太多兼容会损害技术的进步吧,
> 看好vista这次的构架上的改变
>
嗯,从技术上来说,vista做的还不错。我更倾向于虚拟化的方式对之前的变化太
大的接口提供支持。

从非技术角度,用户体验上,估计很多用户需要再次教育。:) 毕竟变化比较
多,而且还是硬件杀手。一般用户还是关注如何用电脑能够低成本的完成任务。


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHwQgzu3FNgZBi4vkRApENAJ9FIiuTsUt7QKlfnh9KWr+rnD8DCACdH9da
5TOz3NS/bpaLTLOJzt0UEUc=
=hqCJ
-----END PGP SIGNATURE-----

王磊

unread,
Feb 26, 2008, 7:48:33 PM2/26/08
to pon...@googlegroups.com
有一个观点很不错,大多在windows上工作的人,尤其是vs路线上的,会很单一,往往跟msdn关系比较亲,对外界反应比较迟缓。

在08-2-23,pongba <pon...@gmail.com> 写道:

莫华枫

unread,
Feb 26, 2008, 8:33:12 PM2/26/08
to pon...@googlegroups.com


2008/2/27 王磊 <wangle...@gmail.com>:

有一个观点很不错,大多在windows上工作的人,尤其是vs路线上的,会很单一,往往跟msdn关系比较亲,对外界反应比较迟缓。
这档子事情正在我的身边上演。嗨。:(

Wang Xin

unread,
Feb 26, 2008, 8:43:32 PM2/26/08
to pon...@googlegroups.com
对此观点深表怀疑……
因为赞同的话,貌似就把自己给归类进去了:(

在08-2-27,王磊 <wangle...@gmail.com> 写道:
有一个观点很不错,大多在windows上工作的人,尤其是vs路线上的,会很单一,往往跟msdn关系比较亲,对外界反应比较迟缓。


--
Everything is possible and available if we trust ourselves!

鋆邓

unread,
Feb 26, 2008, 8:55:55 PM2/26/08
to pon...@googlegroups.com
我不知道我是什么路线的。我在VS里的时间的确比较多,达到70%,但在Java里和在命令行里的时间也并不少~
咳……反正我觉得我思路还是比较开放式的了。

2008/2/27 Wang Xin <cber.w...@gmail.com>:

王磊

unread,
Feb 26, 2008, 10:29:46 PM2/26/08
to pon...@googlegroups.com
han ~ jpn system without cn input method

if you have some java project ,that's would be better .

but lot of us just work in vs or vc  or ....gcc..tubro c wahah

在08-2-27,鋆邓 <tdzl...@gmail.com> 写道:

Linker Lin

unread,
Feb 27, 2008, 12:26:18 AM2/27/08
to pon...@googlegroups.com
On 2/23/08, 莫华枫 <longsh...@gmail.com> wrote:
ms的东西20年前都是很简单的,然后越来越复杂。不知道是历史包袱,还是开发人员太菜,抑或是管理的问题。或许三者都有?
 
我是这样看的,很多平台软件起步时靠简单易用发家,垄断后靠不断增加复杂性来获取更多利润.
看看Flash Java...
四大咨询公司不都是靠复杂性吃饭的吗?

莫华枫

unread,
Feb 27, 2008, 1:00:12 AM2/27/08
to pon...@googlegroups.com


2008/2/27 Linker Lin <linker...@gmail.com>:



On 2/23/08, 莫华枫 <longsh...@gmail.com> wrote:
ms的东西20年前都是很简单的,然后越来越复杂。不知道是历史包袱,还是开发人员太菜,抑或是管理的问题。或许三者都有?
 
我是这样看的,很多平台软件起步时靠简单易用发家,垄断后靠不断增加复杂性来获取更多利润.
看看Flash Java...
四大咨询公司不都是靠复杂性吃饭的吗?
有道理,"靠复杂吃饭",说得好。SAP的咨询市场一年几十上百亿$,比SAP自己的销售额高得多,不就是"靠复杂吃饭"嘛。SAP是复杂的一点道理都没有
Reply all
Reply to author
Forward
0 new messages