10 种更具影响力的编程语言 十大最热门世界编程语言排行榜( 二 )


人们就是这样做的 。1960年,70人用I/O和额外的数据结构扩展了ALGOL,开发了大量类似ALGOL的语言 。这包括JOVIAL、SIMULA、CLU和CPL,后来的语言都是基于这些类ALGOL语言,而不是直接基于ALGOL 。我们称C为“类Algol”,但实际上它是“BCPL(类BCPL),即“CPL(类CPL)”,即类ALGOL 。阿尔戈尔的孩子埋了它 。
最终,ALGOL人试图将其扩展到ALGOL-68,ALGOL-68完全脱离了ALGOL-60,但并没有获得那么大的影响力 。ALGOL-60的血统通过Nikolaus Wirth的Pascal延续 。
APL语言背景:肯·艾弗森,1962年 。起初,它是数组数学的手写表示,后来IBM将其作为编程语言应用 。作为一种语言,APL侧重于数组处理:它可以精确地处理大型数字块 。
如果你以前听说过APL,你可能知道它是“那种奇怪的符号语言” 。最臭名昭著的代码片段之一是生命游戏的实现:
life←{↑1?∨.∧34=+/,101°.?101°.???}你必须用专用键盘来写,就像这样:

APL键盘(原点)
然而,APL在大型机中非常受欢迎,因为它对内存的要求很低 。
主要意思:数组处理 。每次添加两个数字列表意味着需要一个映射或一个循环 。APL引入了同时操作所有阵列的概念 。示例:
1+123423451234+1234246824??8123456781234+[2]24??82468681012
这绝对是科学界的大事件 。这么多的应用数学都可以归结为大矩阵的大规模运算 。什么时候可以放外部产品 。f、外品易得!
通过这个创新,APL引出了R,numpy,pandas,Matlab等等 。APL的直系后代还包括J、Dyalog、K、q,虽然不那么成功,但在金融领域仍然被广泛使用 。
死因:很明显,问题出在键盘上 。如果不能用ASCII写,那就不能写太多内容 。艾弗森用J修复了这个问题,J应用了一个有向图来替换不同的符号 。写~:而不是≦ 。但是,那是1990年了,普及一种完全不同的编程风格已经来不及了 。
更神秘的问题是APL和J只适用于同构数据的处理 。你不能在同一个数据结构中既存储字符串又存储数字(除非你应用box,这是一个完全的“worm can”),处理字符串通常是一场噩梦 。所以没有数据框架,淘汰了很多现代数据科学 。
浏览:作为意识形态工具的符号 。
基本的背景:约翰·凯米尼,1964年 。起初,它是一种简化的类似FORTRAN的语言,旨在赞助工程技术以外的人应用计算机 。
BASIC的真正腾飞是在微型计算机时期 。起初,微型计算机没有足够的内存来编译“真正的”编程语言,但我们可以将基本编译器减少到2 KB左右 。BASIC成为早期程序员的通用语言 。在20世纪70年代,如果你在家编程,那么你很可能在微型计算机上编写BASIC 。
10PRINT"Hello,World!"20END主要意义:它更大的技术影响在于运行时显示设备 。BASIC是之一种采用达特茅斯分时系统的语言,比APL早一年 。而且APL系统只针对IBM的客户,所以在很长一段时间内,实时标注器基本或者不存在 。(3)
基本有较大的社会影响力 。它给家庭,尤其是孩子带来了编程 。20世纪80年代和90年代,许多有影响力的程序员首先学会了如何应用BASIC编程 。很多企业程序也是用BASIC写的,这可能会加速Cobol的衰落 。
BASIC还有一个妙招:办公工具!微软最终把BASIC变成了Visual Basic,并把它作为Office的宏语言 。后来又扩展到OpenOffice和LibreOffice,从而巩固了BASIC在特定小众市场的地位 。最近被JavaScript取代,现在是遗留的宏语言 。
原因:人们认为BASIC是一种“次要”语言 。如果你是小孩或者小企业主,可能会用,但是真正的程序员用的是真正的语言 。一旦制造商能廉价地制造出内存超过16k的微型计算机,他们就会开始贬低BASIC for Pascal和c 。
BASIC作为一种遗留的语言教学 ,在儿童职业生涯中已经持续了一段时间,但似乎已经消失在这个小众市场之外 。
PL/I* *背景:IBM,1966年 。IBM的业务分为两种语言:科学家用FORTRAN,商人用COMTRAN 。面对来自COBOL的竞争,为了简化系统,他们试图开发一种对工程和商业都有用的语言 。它看起来像是两种语言的超集,在顶部添加了许多附加功能 。(4)**现在大家都可以用同一种语言了,IBM可以赚大钱了!耶!
主要意义:ALGOL-68的作者嘲讽PL/I是过时的语言 。但是ALGOL-68做的每一件事,PL/I都能做得更快更好 。虽然COBOL是之一个提出结构化数据的语言,但PL/I是之一个将其作为类型实现的语言 。在COBOL中,应用程序名称读取器将使用两个全局变量:user和name 。在PL/I中,您可以应用带有用户名字段的变量 。PL/I也是之一个使用指针操作直接内存、常量和函数重载的高级语言 。(5)