短短十几年,程序员已走过了三代

软件开发十年小史
服务器君一共花费了479.404 ms进行了6次数据库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议

《不差钱》里的鸭蛋说,长江后浪推前浪,坚决要把他爹拍在沙滩上。我无意间一回想,软件开发上还真有点这个味道,十几年间,已是三代程序员

第一代程序员大致上是基于DOS来做开发,常用的开发环境叫Turbo C。这个时候还没那么多API和类库,也没那么多层次,你要想干什么很容易直接操作到硬件。如果你不喜欢开发环境提供的库函数,大可以自己操作显卡显示点什么。

现在回想起来,那一代程序员应该是国际水准,大家玩的东西是一样的能鼓捣出WPS,UCDOS,KV300的人绝对是超一流选手,世界上的高手也就这个水平,至少不会差很多。到后来,才因为种种原因,拉开了差距。

第二代程序员大致上是基于Windows来做开发的,常用的开发环境是VC,C++Builder,Delphi,VB来做开发的。

这个时间段里,操作系统对硬件的封装越来越严格,Windows 2000出来后,不写内核驱动已经无法操作硬件。程序员能看到的主要是操作系统了。

现有的有名的客户端软件,几乎都是这个时候兴起的,Adobe的,Office,甚至WinRar。这段时间应该可以算作客户端程序最为辉煌的时候。

这个时候比较盛行的一个事是找没有文档化的Windows API,在当年的MSDN杂志(好像叫MSJ)上,还有一个专门的栏目叫Under the hood来解析一些微软不公开的东西。

现在的年青的程序员可能很难想象,一群人坐在一起争论VC好,C++Builder好,Delphi好,还是VB好的样子,但对某些人而言,这不过是昨天才发生的事情。只是岁月如刀,砍去了那些碍眼的东西。

C++Builder,Delphi,VB几乎彻底消失,Under the hood久无新章,可为明证吧。

需要补充的一点是,在这个阶段里,国内外开发水平被拉开了。之前很多赫赫有名的软件,延续的并不是很好。

第三代程序员不太好界定,但大致可以说是以Web为核心吧,更多的体现一种联通(网络)的特质。更多的会涉及Html,CSS,VBScript,Javascript,PHP这类东西。

老实讲当Javascript刚出现的时候,我个人的第一感觉是:这玩意太弱,能干得甚事。哪会想到今时今日Ajax有这般威力。

也许时至今日很多老程序员仍然不太看得上Html,CSS这些东西,觉得太简单。但如果我们正视现实我们就会发现世界确实变了,在2000年的时候,谁会想到微软会有步履蹒跚的时候。今时今日Web的地位已经不必多说。

 我们可以讲第一代程序员所需要的技能彻底的退出了历史的舞台,但第二代程序员却仍然存在着,并将与第三代程序员一起丰富着软件的世界。只不过与当年处在绝对主角的位置不同,现在有其他的东西更加光芒四射。

.net和Java涵盖的面太广,很难讲他们就和第二代程序员所需要掌握的技能没有关系,但是我更愿意把他们划在这里。

佛家喜欢讲的成住坏空为一轮回,放在软件上,这种轮回是如此的明显。只是软件这行当里轮回的过于快了,局中人还是要想好自己的自处之道才行,否则就很可能会被拍在沙滩上了。

本文地址:http://www.nowamagic.net/librarys/veda/detail/1764,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.nowamagic.net/librarys/veda/detail/1764

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏

大家都在看

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下。

所以,阅读一百本计算机著作吧,少年!

《大话数据结构》 程杰 (作者)

《大话数据结构》主要内容包含:数据结构介绍、算法推导大O阶的方法;顺序结构与链式结构差异、栈与队列的应用;串的朴素模式匹配、KMP模式匹配算法;二叉树前中后序遍历、赫夫曼树及应用;图的深度、广度遍历;最小生成树两种算法、最短路径两种算法;拓扑排序与关键路径算法;折半查找、插值查找、斐波那契查找等静态查找;稠密索引、分块索引、倒排索引等索引技术;二叉排序树、平衡二叉树等动态查找;B树、B+树技术,散列表技术;冒泡、选择、插入等简单排序;希尔、堆、归并、快速等改进排序。

更多计算机宝库...