我的编程语言学习之路1
周围一直有人告诉我,语言只是一个工具,用什么语言并不重要,重要的是思想。我第一次听到这句话的时候,是带着膜拜的眼神看着一个个“大神”,后面却发现这些"大神"一点都不神。偶然的机会,接触到了LISP,看了一些关于编程语言的讨论,慢慢才发现编程语言的地位是如此重要。不同的语言会给我一个不同的抽象思维世界框架,这种思维和我们普通的数学思维不一样。这种行为更多的是建立在过程性认识的基础上,你所选择的工具会深刻地影响你的思维。
在大学浑浑噩噩的过到现在,多少有了点醒悟的意味。亡羊补牢,为时未晚,抓紧时间从现在开始做起了。

上面的图示我想要构建的编程语言体系,画图方面我比较白痴,只是画了一个大体框架,里面还有很多内容没有画出来,后面会进行补充。
第一层是最高抽象层,这个层次脱离了语言的束缚,它是编程语言的真理所在,是最浓缩最抽象的精华,深刻的体现在每一门语言当中。初步认为,这块内容应该是涉及冯诺依曼体系和图灵机的内容。
第二层是中间的抽象层次,它将编程语言进行类别的划分。画图实在让人蛋疼,所以就只画了两类在此,其实应该还有其他的很多类别,包括声明式的语言,协同式,面向对象等等。他们代表了一类语言的共同特性,也代表了不同的编程思想方法。每一类里面,你都会发现一种新的编程思维。这一块的内容,应该是SCIP或者是面向对象思想等等一系列知识,它们是对一类语言的共同特性的抽象总结。
第三层是我们所使用的各种编程语言,当然编程语言不仅仅只有我上面列出的三种,还有很多很优秀的语言,Ruby,Perl,C,C++等等。它们都带有很强的专一性,专注于一种编程语言的知识。这一部分主要涉及两方面,一个是语言核心体系包括相应语言编译器的实现,一方面是语言的应用,使用语言构建使用项目程序。
我所希望自己构建的,是一整套完整的编程语言体系。从上到下,从下到上,无懈可击。当新的内容出现的时候,我可以根据高层次的抽象,很快的掌握相关内容。同时,也可以站在相当的高度创造自己想要的语言,让这种能力化作内力与自己融合在一起。
说起容易,做起来困难,我又要怎样实现自己的梦想呢?
下一篇博文会给出我自己的一些答案。