为什么大多数程序员都不能叫做计算机工程师?

程序员

因为他们不懂计算机原理。

八十年代有一本书,是给中小学生看的课外读物,《科技小制作》。里面有一个玩具,是用一堆二极管自己做一个加法计算器。

如果把这个任务交给普通的程序员,可能大多数程序员做不了,因为普通程序员都不懂计算机原理。

如果你给程序员一大堆继电器,让他们用继电器设计一台计算机,估计大多数程序员干不了。

因为大多数普通程序员的逻辑是如此之差,以至于他们不知道如何用继电器打造与非门,用与非门构建编码器、译码器、jk触发器、t触发器、d触发器、寄存器、加法器、移位寄存器……

甚至给他们一大堆TTL或CMOS逻辑电路,让他们组建一个上世纪七十年代的最古老最简陋的计算机,大多数程序员也干不了。因为大多数程序员根本不懂计算机。

程序员和计算机工程师是两码事。计算机工程师是需要懂计算机的,而程序员不需要懂计算机。所以,某些程序员自称计算机工程师,正如一个出租车司机自称是汽车工程师一样可笑,正如一个飞机机长自称是飞机工程师一样可笑。正如一个射击运动员自称是枪械工程师一样可笑。

甚至有些程序员,给他一个现成的计算机系统,比如一个单片机,让他用汇编语言写一个程序,都不会。连驾照都没有的司机不该自称是汽车工程师。但是有些连汇编语言都不会写的程序员,却自称是计算机专业的工程师。

世界上最早的程序员是一个美少女,名字叫Ada。Ada的父亲是一个著名诗人,叫拜伦。

Ada从小看她父亲一行行地写诗,长大后就一行行地写程序。她和她父亲都很喜欢用打字机的回车键。

所以做一个程序员,热爱回车键,是有传统的。

还有一些并不被人当做计算机工程师的计算机工程师,比如爱迪生。爱迪生改进了很多机械式手摇式计算机。他研发的计算机,被广泛应用于股票交易所。

当今那些培训班出来的程序员,大多数没有计算机基本知识。不信你可以给他一堆二极管三极管电阻电容,让他演示一下怎样做个电子计算机出来。

虽然这些内容,在早年的数字电路原理里写得清清楚楚。但是很多程序员不仅没学透《数字电路原理》,连《微机原理》都没学懂。因为不懂计算机,只能当一个程序员。

所幸的是,现在程序员也可以叫工程师了,前端工程师,Java工程师,数据库工程师……

正如司机也可以叫工程师了。本田雅阁开车工程师,劳斯莱斯驾驶工程师,解放牌八吨平头柴油车运货工程师,长江750边三轮侉子摩托车飙车工程师,哈雷摩托车长途巡航工程师。