美文网首页编程语言爱好者
编程相关:所谓编程语言

编程相关:所谓编程语言

作者: inco | 来源:发表于2015-10-06 11:00 被阅读0次

    所谓语言即是用来建立沟通的桥梁,想像这样一种情形,你临危受命去接待来自日本的同学,但直到见到人后你才想起来一个重要的问题,你不会日语而对方不懂中文。万幸的是你发现这位同学可以说一点英语,所以为了交流方便你只好硬着头皮用自己不太流利的英语去和对方沟通,反正对于初学者来说即使对方说错了也会先怀疑自己。。。

    无论是c或者python这类编程语言做的无非是这样一件事,在机器和人类之间充当中介语言,来方便使用者对机器下达命令(当然具体说起来lisp和汇编语言相比谁更难理解也是不太好说的。。。不过在我看来汇编语言也只不过是一种中介语言,要比就拿机器语言和lisp比)

    机器所使用的官方语言是机器语言,它是一串纯粹由0和1构成的字符串,每一位都代表着电路上的高电压或者低电压,控制着元件的启动或者是关闭。细说起来很有趣,但这里就不在赘言了。

    (图片来自维基百科)

    这样的语言对于人类来说想要读懂还是有一些难度的,无论断句还是识字都十分的困难。何况对于不同的芯片来说,由于组成电路的不同,即使同样的add操作,也对应着完全不同的机器指令。你能想象你学完了一门语言(虽然我觉得这根本不可能。。。)后面对不同的人还得学习不同的方言么?

    为了方便理解,我们选择出来一些(几乎所有)操作并给他们加以命名,就好象这样:

    (图片来自百度百科)

    看起来似乎还是有些难以理解,但是已经比满屏的0,1好多了吧?而当电脑想要执行这些命令的时候,只需要把它们翻译成机器语言就好了。当然这个翻译的过程对于人类而言还是比较痛苦的,但是当有了一台拥有了“翻译功能”的电脑时,这些工作也就变得简单起来。

    但是汇编语言还是有些困难,这里面存在着大量对具体寄存器和内存的调用,为了方便人类表述自己的想法,不让有天份(而且懒惰)的人们苦恼于具体某一部分硬件的使用,一些人决定把这些具体分配什么样的硬件这样的工作交给“翻译”来分辨,而我们就只需要使用“翻译”给我们的标准指令来规划我们的想法,而这些标准指令就是我们所面对的编程语言了。处于更高层次的人使用下层传递上来的接口完成自己想要的操作,而不需要知道下层是如何执行的,这或许就是计算机发展如此迅速的原因么?

    那么从下次开始,我将尝试简述一下如何去编程。

    PS:基于视角和经验所限,笔者所言可能有很多错误,还望多多包涵,欢迎指证。

    相关文章

      网友评论

        本文标题:编程相关:所谓编程语言

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