主题:【原创】一个程序员的自白 -- 荆棘探兴
1. 我大学时代一些老师跟我描述他们当年的编程生涯,怎么使用打孔纸带来写程序,大部分发生在7,80年代。 你说的这个时间,至少要推到70年代。我大学实习时接触的pdp系统,软件开发也都是在80年代完成的,以前上班的地方,一些老家伙也都是80年代就开始从事开发工作的人。 只能说进入90年代以后,硅谷游戏的崛起加速了这个过程。至于硬件方面,80年代中期以前,国内半导体研究的地位其实要比现在高。
2.那个判别方法有点搞笑了, 基本只是一个科班学生的编译原理的一个小作业而已。一般工科学生,解决这个问题也很简单。而且说句笑话,对于函数式语言,或者目前众多主流语言都提供了lambda的支持的情况下,就是一句话而已。 记得以前做开发培训的时候,就拿这个做课堂作业,限时1,2个小时,大部分人也不觉得有难度。
3. 对你对应用程序员的看法不是很苟同吧。 其实应用程序员对算法,对计算机系统的理解也很重要,只不过这个重要在工作价值体现的点不同,更多的会体现在宏观上和解决问题的能力上。同样是做应用级别的编程,我接触不同程序员的代码长度可以相差近10倍,由此导致的质量和工作效率的差别就是大问题了。应用级别的编程,因为受限于条件,对程序员的算法能力要求是必须的,比如c++的标准库中已经自带了一些基本算法,而早期java,vb这类高级语言其实是没有的,为了数据的显示格式问题,就需要自己来实现排序算法。我的经验也表明,程序员对基本算法的理解程度和他解决问题的能力,对业务知识的领会能力是有直接线性关系的。 对算法的理解掌握过程就是一个思维训练过程,是否经历过这个过程的人,解决问题的能力是有差别的。相当一部分应用程序员转行,或者被公司所抛弃,本质上还是因为基础的问题。
那种误以为应用程序员只要熟悉业务,不需要懂多少技术的看法,其实是很多软件项目失败的深层次原因之一。
软件开发门槛低是没错,但是入了门以后往后走,要做好必须学的东西一点都不少,基础还是关键。
这个问题其实是以前我和顾教授争论的一个本质,计算机系统和工具的进步在我看来只是降低了门槛,但是并没有降低对从业人员的要求,应用级别的程序员现在不得不面临比传统程序员更多的复杂性,不仅仅是需求方面,技术的过度发展也导致了整个体系的复杂性增加,这些对人的要求都只会越来越高。比如15年前写点dbase,画几个窗口就很容易混口饭吃,现在你只会干这个,连汤都没的喝。做系统的,可能只需要精通c/c++和1,2种脚本就够了,而做应用的,要学习东西的广度就大了去,没有好的基础,这种持续学习的过程是很难坚持下来的。
现在国内一些大学,包括东北大学,武汉大学这样的学校,居然在本科阶段取消了数据结构的课程,简直是本末倒置。
- 相关回复 上下关系8
🙂我的意思是: 荆棘探兴 字140 2008-06-26 18:54:54
🙂40岁的程序员是很少 4 河蚌 字1366 2008-06-25 08:34:29
🙂比如13+25或者3*5+4/2这样的 yueyu 字43 2009-02-16 16:05:32
🙂您说的俺不赞同
🙂武大这么牛? 有点不相信 季侯 字44 2008-08-16 11:09:05
🙂计算机系本科不学数据结构和算法,不是搞笑吧,扩招都扩成这样了? 股市就是搏傻游 字0 2008-07-06 09:06:11
🙂工作经验不同呀. 1 河蚌 字2482 2008-06-28 07:40:35
🙂呵呵,体制不同吧 1 风北客 字1505 2008-06-28 19:06:48