Lisp
这种语言实际上在互联网上并没有广泛使用,但负责以多种方式构建互联网。Lisp由John McCarthy在1950年代后期发明,尽管它的名字很奇怪,但它将帮助创建互联网的研究社区联系在一起。
从麻省理工学院扩展到麻省理工学院,Lisp首次提供了一些现代功能,例如条件函数。但Lisp真正令人振奋的是,它没有区分代码和数据。Lisp可以将代码视为数据,将数据视为代码。Lisp使得以设计者从未想过的方式扩展语言成为可能,从而产生了术语“可编程编程语言”。
Lisp成为人工智能社区的通用语言,DARPA呼吁这个社区在1960年代后期最终成为互联网。随着80年代后期的“AI Winter”,Lisp的命运有所下降,尽管它仍然有粉丝。其中一位名叫保罗·格雷厄姆(Paul Graham)的人后来创立了创业孵化器Y Combinator,用它来建立最早的电子商务公司之一Viaweb,后来被雅虎收购。格雷厄姆认为,自己编写强大软件的能力是其成功的原因之一。流行的社交新闻网站Reddit的第一个版本也是用Common Lisp构建的。
C 语言
当今最有影响力的编程语言可能是C。它于70年代在贝尔实验室发明,是首批在其中编写操作系统的高级编程语言之一。而这个操作系统恰好是Unix。因为它是用C语言编写的,所以可以将Unix移动到不同的平台。
用C语言重写Unix是一个重大突破。以前,操作系统是用汇编语言编写的,因为它们必须非常接近硬件。另一方面,C是一种更高级的语言,但仍然足够接近硬件来编写操作系统。这使得Unix成为最早的可移植操作系统之一。C程序可以被编译为在不同的操作系统上运行,但是由于大多数早期的C程序员也恰好是Unix程序员,他们倾向于假设他们的程序将在Unix下运行,并相应地开发他们的代码。因为将Unix移植到其他计算机相对容易,所以很多人都这样做了。
C语言在Unix之外显然取得了很大的成功。Windows是用C编码的,就像许多其他应用程序一样。正如C语言的创造者Dennis Ritchie所写的那样,“C语言是古怪的,有缺陷的,并且取得了巨大的成功。虽然历史的偶然事件肯定有所帮助,但它显然满足了对系统实现语言的需求,这种语言足够高效,可以取代汇编语言,但又足够抽象和流畅,可以描述各种环境中的算法和交互。
Perl
Perl并不像90年代那样被谈论,但它仍然是互联网的重要组成部分。事实上,它的受欢迎程度归功于互联网。Perl是由Larry Wall在80年代后期为NASA的喷气推进实验室工作时发明的,正如一本名为“Programming Perl”的书中所述。Wall 需要一个配置管理系统来与对岸的几台 Unix 计算机进行通信。现有的Unix工具都无法完成这项工作,所以他采取了懒惰的路线,发明了一种全新的编程语言。
正如所描述的那样,Wall于1987年在Usenet上发布了它,它吸引了不断增长的互联网上的开发人员社区,这是Linux之前首批获得牵引力的主要开源项目之一。当网络起飞时,Perl找到了一个利基市场,成为开发动态网页的首选语言之一。在语法上,它类似于C,但在更高的级别上实现,而无需手动管理内存。这意味着开发人员可以快速编写、测试和调试程序。Perl非常灵活,导致一些丑陋的代码。它的丑陋和实用性的结合给了它“互联网的管道胶带”的绰号。
PHP
说到PHP,这种语言已经取代了Perl作为现代动态网页的主要构建块之一。像Perl一样,它以让人们编写丑陋的代码而闻名,但它仍然运行着许多人们每天使用的网站,包括Facebook。它由Rasmus Lerdorf于1994年创建。
PHP可能会让计算机科学家嘲笑,但如果你想被认真对待作为Web开发人员,这是你应该在简历上拥有的技能。它变得如此流行的原因是PHP代码可以直接嵌入到网页中。这意味着您不必将PHP脚本放在单独的程序中并使用Perl或C生成HTML代码。这使得已经了解HTML的人很容易学习PHP并为他们的页面添加交互性。将PHP与MySQL等SQL服务器集成也很容易。
SQL
SQL 代表 结构化查询语言。这是一种为关系数据库形成查询的方法。它也相对容易学习,因为它使用类似英语的命令。有很多实现,如MySQL和PostgreSQL,它们是流行的开源关系数据库服务器。SQLite是一种较小的变体,用于许多应用程序,例如Apple的iTunes。
虽然由Edgar F. Codd在1970年代发明,但SQL和关系数据库需要一段时间才流行起来。Oracle首先普及了关系数据库,然后MySQL使其成为构建网站的必备技术。关系模型提供了一种简单有效的方法来管理大量数据,你可以使用任何语言创建良好的 Web 应用或服务,但选择影响 Web 发展方式的语言之一不会出错。