
1801年,第一句“hello world”诞生了
至今编程也有快300年历史
那300年前的代码
是用什么编写的呢?
往下看,解锁编程趣事👇

我们知道,计算机是用0和1来交流的。最早期的代码就是用0和1写出来,我们将此称为“机器语言”。
计算机靠机器语言来直接运行,输入方法是靠打孔带(一个条带上面有实心空心的小点,对应1和0)。

1725年,法国人布乔(Basile Bouchon)发明了穿孔卡,并用于控制纺织机绘制图案。
基本设计思路如下:在织布机在编织过程中,编织针往复滑动,根据打孔卡上小孔的存在与否,正对小孔穿孔的编织针可以通过钩起经线,反之编织针则被纸带挡住。
因而,编织针就可以自动按照在打孔卡上预先设计的图案去挑选经线、编织图案。这种编织图案的“程序”也就“储存”在穿孔纸带的小孔之中。

这种发展被认为是半自动化机械的第一个工业应用。
1801年,Joseph Marie Jacquard用打孔卡为一台织布机编写指令,在挂毯上织出了“hello world”的字样,但在当时的艺术圈和时尚圈对这项工作的反响并不热烈,因为字样没有区分大小写。
后来将这种设计的打孔卡应用于提花织机上,这就是打孔纸带的雏形。
利用卡上不同位置孔的组合可以表示不同的信息,这种思想和方法在很长一段时间内得到广泛的使用。

历史上第一位程序员Ada·Lovelace就是利用打孔卡片的控制来实现公式计算等复杂的操作。
利用穿孔卡形式的机械存储,信息的读取和写入,都依赖于纸带上孔的设计,随着电磁学的发展,从机械自动化逐步发展到电气自动化。
存储核心是利用两个状态二进制来表征数据信息。
磁性材料,利用磁矩的取向,从而替代机械打孔,后续出现的磁带存储技术,一定程度上还保留着打孔卡设计的影子。
1933年,Eduard Schueller发明了环形磁头,这是磁记录的一个重要进展。
磁场可以被控制在很小范围内,从而实现了较高密度的信息存储。然而,磁带用于计算机则是从1951年开始的。

磁带存储是当时存储器设备中单位存储信息成本最低、容量最大、标准化程度最高的常用存储介质,也是一些重要资料档案的首选存储介质之一。
到了20世纪40年代,一些直接采用布线和开关来进行程序控制的“计算机”出现了,工程师们当时这么做,据说是为了避开“用空格还是用制表符缩进”这样的论战。
传说当时负责设计ENIAC的工程师中间曾经发生过这样的争论:
1.空格比制表符好
2.制表符比空格好
3.4个空格比8个空格好
4.什么?用2个空格的“统统烧死”

接着70年代80年代,C语言、Python、Java等各种编程语言诞生……
1972 年,Dennis Ritchie发明了C语言。从此,无数程序员为其前赴后继,聪明绝顶者不在少数。
1983 年,Bjarne Stroustrup把他所听说过的一切都试图嫁接到C语言上,梦醒之后,他创造了C++语言,专治各种C语言的不服。
Python诞生于1989年的一个圣诞节,其创作者Guido van Rossum为了打发圣诞节假期的无聊,便开始了Python语言的编写。
1995年,James Gosling发明Java。Java拥有单实现继承和多接口继承,是一个相对繁冗的面向对象的语言。
这些语言到现在也是被多数开发者所用,也在不断的更新迭代,编程语言每一次的创新与创造,都将关乎未来。

