编程语言看世界

作者: aubell | 来源:发表于2020-02-24 14:24 被阅读0次

    世界上的编程语言有成千上万种,搜索esolang就可以知道。每种编程语言看世界的观点都不一样。我尝试列举几种编程语言看世界的观点。次序不分先后。

    c语言:一切皆字节

    c语言最接近机器的底层。底层只有字节。c语言用字节来看待世界上的一切。如果不是字节,那么转化成字节来处理。虽然有long,int,char等类型。但unsigned char才是最根本的类型。
    8个bit长的字节是c语言处理的最小单元。

    为什么不说一切皆是字位(bit)呢?因为“一切皆字位”是汇编语言(Asm)的看法。

    Java语言:一切皆合作

    Java语言适合团队使用。每个人把自己的代码用类封装,彼此之间可以合作。它拥有庞大的类库。Java写的程序比较健壮,因为总有异常处理要声明。Java使用面向对象的方法,是因为它诞生的年代正好流行面向对象编程。“一切皆对象”不是Java的本意,而是Smalltalk的本意。

    C++语言:一切皆兼容

    C++是为了兼容这个世界而诞生的。既要兼容c语言,又要兼容面向对象的方法,还要兼容使用模板的方法。所以C++很复杂,难学且难用。很多语言为了兼容这个世界,都不得不作出一些妥协。

    Perl语言:一切皆文本

    Perl语言的全称是:Practical Extraction and Reporting Language,翻译过来叫做“实用报表提取生成语言”。最初的设计就是为了提取报表中的数据,生成新的数据。面向的是文本文件。“一切皆文本”的看法与Linux一致。当“面向对象”流行以后,Perl语言就增加了面向对象的功能。但它骨子里对世界的看法依然是一切皆文本。处理文本文件依然是perl的强项,当Unicode出现以后,perl也能很好的处理非英文的文本。

    HTML:一切皆标记

    全称 HyperText Markup Language,名称就暗示了,它是一种标记语言。甚至连编程语言都算不上。那么为什么要列在这里呢?首先因为这个世界上除了文本文件,最多的应该是HTML文件。其次因为HTML还在不断的进步中,也许未来就有编程的能力。尽管它暂时没有编程的能力,但它作为编程的对象而存在。而且,现在的HTML里,可以内嵌Javascript,CSS等。Javascript是具有编程能力的。HTML成功的粘合了Javascript,CSS。至少是与编程语言密切相关的东西。

    Javascript:一切皆交互

    Javascript包揽了用户界面的交互任务,要同用户进行交互。另一方面,还可以与服务器交互。Javascript就是为了动态的交互而诞生的。并且,名称上占了Java的便宜。Java如日中天的时候,诞生了Javascript。不明所以的人还以为两者是一样的,或者至少有某种联系。Javascript告诉我们,拥有一个好名字是多么的重要。

    Lisp语言:一切皆列表

    Lisp的全称是:LISt Processing。而且大小写就是这个样子的。大概因为最早的lisp不区分大小写,所有的符号最终都会大写。在lisp中,数据是列表,函数也是列表,因为lisp语言擅长处理列表,所以lisp能够自动生成函数。碰巧的是,列表真的是一种万能的结构,可以表示数据,集合,栈,队列,树,函数......所以lisp认为一切皆列表。S表达式、Lambda演算、宏这些高级的东西都用列表来表示。

    Brainfuck语言:一切皆搬运

    Brainfuck语言是一种极小化的编程语言。越是结构简单的编程语言,越能反映计算的本质。在Brainfuck看来,计算就是搬运数字。Brainfuck搬运数字的能力也不是那么强大,一次只能搬运1。理论上讲这门语言具有的编程能力胜过了HTML。但只要在HTML中加入一个Brainfuck的解释器就可以改变这种状况了。所以,图灵机完备与否并不重要。

    SQL语言:一切皆存储

    虽然是为了查询而存在,但如果存储不在了,查询永远没有结果。在SQL看来,存储是这个世界上最重要的事情。一定要把数据存储做到完整、完美。

    结论:所用编程语言共同的观点是:

    一切即抽象

    相关文章

      网友评论

        本文标题:编程语言看世界

        本文链接:https://www.haomeiwen.com/subject/yghvqhtx.html