昨天,覃超老师在极客时间部落里问了我一个问题:“现在编程环境和氛围与二十年前比主要变化是什么?”
我还是把 20 年前的编程情况跟大家说一下,大家自己对比对比。
20 年前,能够找到一家连上互联网的公司是一件很不容易的事。大多数公司的办公电脑都无法访问互联网。所以,写程序时需要在桌面上摞一堆书和手册。然后就是看 MSDN 和 Unix 下的 man。记得有 Google 时候,大家奔走相告,说用 Google 找到技术问题的解决方案太容易了,一查就中!所以,到一个能上网的公司工作是头等大事。
20 年前,在家上网需要拨号,56.6Kbps 的电话传输是你上网能得到的最大速度,一小时 15 元左右。电脑主流配置:奔腾 133MHz,32M 内存,2G 硬盘,价格 8000 元左右。笔记本电脑,Thinkpad,需要 2 万 4 以上。至于说程序员的月薪,大城市 3000-5000 元左右,小城市 1000 元左右。
20 年前,主要的编程语言是 C 语言,用 C 写所有端,包括前端。那个时候的程序员都需要了解很多的底层知识和基本数据结构。因为用 C 写代码基本上就意味着要重新发明一切(那时候,绝大多数程序员并不能写出泛型的代码,也不会分离控制逻辑和业务逻辑,而可用的框架和类库不够,所以,因为业务逻辑的侵入,需要重新发明各种轮子。)
20 年前,Java 刚刚开始,但应用不多,面向对象刚刚开始流行,Web 编程刚刚开始(主要是 PHP/ASP,IE3.0 有 Netscape),基本没有 JavaScript 什么事,主要是后端生成 HTML。Windows 大行其道,Delphi/VB/PowerBuilder 这样的快速出 GUI 的编程 IDE 非常流行。
20 年前,程序员不分工,要干所有的事,前端、后端、测试、运维,全都是程序员的事,那时应该叫软件工程师。沟通和表达能力好一些的程序员会被公司整成项目经理或售前售后。
20 年前,基本上所有中国的公司还不会用(甚至不知道)源代码的版本管理工具,代码管理基本都是人肉备份。Code Review 基本没有,测试和需求管理也没有。如果哪家公司在用 ISO9001 的软件开发标准,那就很牛逼了。
20 年前,最有技术含量的公司是银行,那时工行做全国大集中,无论是软硬件,网络和系统规模,还是业务量,都是整个国家最前沿的。
和今天有什么不一样?
20 年前的程序员获取知识的来源基本只有一个:读书。今天的程序员则主要通过互联网,不过少数还是在看书。20 年前,互联网很不发达,程序员能沉得下心来就有大块大块的时间,今天的程序员被各种打断,全是碎片时间,时间利用率不高。
20 年前的程序员需要用 C,所以对系统和底层知识和原理吃的比较透彻,但是生产力不高。今天的程序员有大量的框架和可重用的库,包括开源软件和 StackOverflow 等,所以,今天的程序员生产效率很高。
20 年前的程序员分工不细要干所有的事,所以比较全面。今天的程序员分工很细,所以知识面比较窄。
20 年前中国的软件工程非常非常不规范,今天的软件工程还算比较规范(至少都会有软件版本管理了)。
20 年前的技术不多,程序员用几个单一的技术干所有的事,今天的技术非常多,程序员要用多种的技术来干一件事[狗头]
20 年前节奏不快,今天的节奏很快,快到有点不科学了。
左耳朵耗子今晚直播:
作者介绍:
陈皓,网名“左耳朵耗子”,MegaEase 创始人 &CEO,资深技术专家,骨灰级程序员, QCon2020 全球软件开发大会讲师,极客时间《左耳听风》专栏作者。本文首发自酷壳 CoolShell,InfoQ 获得陈皓授权发布。
评论