1946年2月15日,作为世界上第二台计算的ENIAC诞生,占地面积达170平方米,重达30吨。在揭幕仪式上,“埃尼阿克”为来宾表演了它的“绝招”----—分别在1秒钟内进行了5000次加法运算和500次乘法运算,这比当时最快的继电器计算机的运算速度要快1000多倍。这次完美的亮相,使得来宾们喝彩不已。

ENIAC计算机

而ENIAC的出现还要感谢第二次世界大战,美国为了加速新武器的研究而投入巨资修建ENIAC。美国军方要求该实验室每天为陆军炮弹部队提供6张火力表以便对×××的研制进行技术鉴定。千万别小瞧了这区区6张火力表,它们所需的工作量大得惊人!事实上每张火力表都要计算几百条弹道,而每条弹道的数学模型你知道是什么吗?一组非常复杂的非线性方程组。这些方程组是没有办法求出准确解的,因此只能用数值方法近似地进行计算。

不过即使用数值方法近似求解也不是一件容易的事!按当时的计算工具,实验室即使雇用200多名计算员加班加点工作也大约需要二个多月的时间才能算完一张火力表。在“时间就是胜利”的战争年代,这么慢的速度怎么能行呢?恐怕还没等先进的武器研制出来,败局已定。

其实我们从上面可以看出,ENIAC所谓的编程开发还不能严格意义上属于开发的范畴,甚至ENIAC的工作人员也不能称为“程序员”,称呼他们为“数学家”更加合理。不过正因为有了他们的第一步,才有了后来千千万万程序员的工作饭碗。从粗大的电子管到比头发丝还细的晶体管,是CPU制作工艺的进化。而数学公式到高级开发语言,则是编程开发的进化了。可以说ENIAC是计算机编程开发的起源。