现在普遍认同的说法是1946年2月14日,世界上第一台现代电子计算机,俗称电脑,埃尼阿克(ENIAC)在美国宾夕法尼亚大学诞生。它使用了17468个真空电子管,7200个晶体二极管、1500个继电器、10000个电容器,还有大约五百万个手工焊接头。 耗电174千瓦,占地170平方米,重达30吨,每秒钟可进行5000次加法运算。据说当时每次埃尼阿克计算机开动起来,计算机所在的费城全城的电压都会降低!

  当时还没有任何计算机开发语言,怎么让机器“理解”人的要求,然后计算结果反馈给人,是一件非常麻烦的事情。尽管它能执行复杂的操作序列,可以包含循环、分支和子程序,但是这个机器没有存储器,只能理解机器语言(二进制),可想而知,给它编程会有多麻烦!把一个数学计算问题变成一个输入,让它能够“理解”、“计算”,通常要花好几周的时间。当把问题搞清楚了以后,操作各种开关、连接各种电缆,然后通过打孔卡片输入,又要花掉好几天时间。然后,还要进行验证和测试,通过机器的单步执行来协助测试。

当时,做这种“程序员”工作的主要是六位女士,她们1997年入选国际科技名人堂。下图为她们的工作场景:

※  图片引自网络:http://www.columbia.edu/cu/computinghistory/eniac.html

至于埃尼阿克(ENIAC)的编程原理与方法,有兴趣的话,可以参看下面网址:

http://www.myhpi.de/~schapran/eniac/modulo/

   现在我们许多程序员自嘲自己是码农、做体力活的,第一代程序员,那6位女士,可真是干体力活!

埃尼阿克(ENIAC)的第一次测试运行是计算氢弹相关数据,输入、输出数据是一百万张卡片!

每秒5000次加法计算的速度,拿到现在来说只能是玩具级别的,还是低档的玩具!可相对于人工计算,已经是相当惊人的了。比如对于圆周率的计算,英国人W.香克斯在1873年计算到小数点后707位,后人为了纪念他,在他的墓志铭上,刻了707这个数字。而据说他是用了30多年的断续工作才完成的。而使用ENIAC进行计算,仅用了40秒就达到了这个记录,还发现香克斯的计算中,第528位是错误的。

  值得一提的是,当时做计算处理器(CPU)的,是电子管。而电子管除了体积大、发热大等缺点外,最大问题是容易坏掉。而埃尼阿克(ENIAC)最长无电子管损坏记录才100多个小时!

编程语言小传之 一.最早的编程语言——机器语言相关推荐

  1. 编程语言小传之 零.第一个研究写程序的女人

    大家知道,第一次工业大革命开始于纺纱.织布机的发明应用.而现代计算机的发明,也跟织布有关系.虽然在第一次工业革命后,布匹可以用机器大规模织出来了,但如果要织出复杂图案,还是只能依赖于人工操作提花织布机 ...

  2. plc-st编程语言学习_这就是您可以学习所有编程语言的方式,是的-“全部”

    plc-st编程语言学习 "我应该首先学习哪种编程语言?" 许多初学者在开始学习编码时都会遇到这个常见问题. "哪种是最好的编程语言?" 在学习了一些语言之后, ...

  3. 吃鸡是python写的吗_吃鸡手游竟是这个编程语言所写,它荣登最流行的编程语言榜首...

    原标题:吃鸡手游竟是这个编程语言所写,它荣登最流行的编程语言榜首 吃鸡游戏火爆全球,已经把腾讯的<王者荣耀>都比下去了,有传言,腾讯给"王者荣耀"开发团队的年终奖就超过 ...

  4. 编程语言python培训-0基础转行IT,编程语言应该学习Java还是Python呢?

    首先你纠结的点:是学Java还是Python?我理解你纠结的点可能是:转行的话是Java好上手?还是Python好上手?能更快学成后入职,毕竟成家有房贷,有车和老婆.每个月都有一大笔开支在等着. /& ...

  5. 计算机编程语言python-初学者最容易学的六种编程语言

    [51CTO.com快译]学习编程看起来是一项艰巨的任务,其实不如想象中的那么难学.由于,现在网上有一大批资源可供使用和活跃的社区,以及社交媒体上也有很多专家,现在学习编程要比过去简单得多,就连小孩子 ...

  6. python与其他编程语言对比优点_Python编程不同于其他编程语言的优点

    Python有很多的优点方便我们在计算机应用的技术方面,但是真正了解Python编程这一计算机语言的人却不是占为大多数,以下的文章是我们对Python编程资源这种编程语言的相关介绍,以下是文章的介绍. ...

  7. github编程语言排名_这是每种主要编程语言的Hello World应用示例-全部在一个GitHub存储库中

    github编程语言排名 One of the first things that you are instructed to do when you start to learn to progra ...

  8. g2是一种编程语言吗_我写了一种编程语言。 这也是您可以的方式。

    g2是一种编程语言吗 by William W Wold 威廉·沃尔德(William W Wold) 我写了一种编程语言. 这也是您可以的方式. (I wrote a programming lan ...

  9. 5 月编程语言排行榜:C 重回第一,今年编程语言名人堂冠军还会是它吗? | 原力计划...

    作者 | 院主 责编 | 王晓曼 出品 | CSDN博客 本文章中语言排名数据来自TIOBE排行榜和PYPL排行榜. TIOBE排行榜5月份数据 2020年5月TIOBE指数 以下是官方说明: 五月标 ...

最新文章

  1. SVN commit:remains in tree-conflict错误的解决办法
  2. 魅蓝note6android8,魅蓝Note6屏幕尺寸_魅蓝Note6屏幕多大-太平洋IT百科
  3. gitlab bash_如何编写Bash一线式以克隆和管理GitHub和GitLab存储库
  4. linux查看文件从底部开始,linux中怎样从底部向上查看log文件
  5. 在Linux下如何安装Jupyter Notebook
  6. jdk目录详解及其使用方法
  7. 点云3D目标检测学习(2):pointnet++源码
  8. Java二维码登录流程实现(包含短地址生成,含部分代码)
  9. #STM32 LCD12864编程即原理介绍
  10. exchange服务器没有响应,exchange服务没法启动!急!
  11. CSS固定定位 将模块固定到版心右边
  12. nginx配置选项try_files详解
  13. unity (初学者的个人问题)
  14. 关于K.im的满满干货!
  15. 江苏开启“金环”对话会:政府“牵线”助环保项目与金融“联姻”
  16. guid备份分区表crc错误_硬盘GPT和MBR分区表转换方法
  17. Android中识别手柄JAVA_android蓝牙手柄监听 BluetoothGamepad
  18. 给天空“染个色”?摄影后期时进行的一些思考
  19. android打开图库,Android 7.0 以上通过系统图库打开图片的方法
  20. 二十八、非谓语动词_作宾补

热门文章

  1. R studio下载安装包及关于rtools4.0安装时候遇到的一些问题补充
  2. 小米路由器 root ssh查看温度和风扇转速
  3. adb命令 -- fastboot命令OEM解锁
  4. 线性回归--乐高玩具价格预测
  5. 一文搞懂socket读写数据接口API
  6. ANSYS 安装故障
  7. 如何判断几个向量是否线性无关
  8. 猿辅导校招技术类笔试题
  9. android 屏幕取词 像有道,有道词典更新 Android版推出扩充词库 桌面版支持Firefox5取词...
  10. Pet Store安装ok