文章这个提法对于我来说感觉不敢担,所以我的博客里原来看不到文章,只有贴子。
但帖子实在是太长了,而且容易引起一些不必要的“吵架”。决定写一篇文章来系统的描述一下我的一些看法。
语言最初是和物理对应的,为了使人的表达能够被机器所执行,从汇编到C都是和硬件对应的。从C++开始,在语言领域就开始出现一个动词Think in,人们努力想让语言逃出硬件的禁锢,进入思想的领域,至今为止,这个趋势将继续。这有点像人类艺术的发展,从实物写生到抽象艺术,语言开始变得有思想,不同的程序员开始创造出不同的作品,这些作品开始会让人充满感情,会因欣赏而激动,会因观点不同而批评。这些作品再也不能用简单的正确和错误来评判。
Java虚拟机不自觉的开始了语言新的里程碑。虚拟机对语言的意义是,语言开始拥有了属于自己的虚拟硬件,语言可以领先于硬件的发展。这对于语言的本质而言是非常有意义的事情。在这点上,我没有去想所谓一次编程到处使用的意义,也没有去想通用语言引擎的意义。相反,这些被宣传的意义导致了虚拟机的无限膨胀,退化成了函数(对象)库的堆积。
语言被设计用于各种目的,用于指令系统的,用于状态机的,用于系统设计的,用于推理的,用于规则计算的,用于硬件设计的,用于文档处理的,用于构建语言本身的,用于科学计算的,用于人工智能的,用于图像处理的等等,举这么多类型,并不是要显示我的知识多么的广博,只是我能够想得到的,而我所能想到的也只是很小的一部分。思想是独立于语言的,可以被使用在一种或多种语言上,如面向对象和结构化思想可以被用在指令系统,系统设计,硬件设计等语言上以增强语言的表达能力。
对于选择语言来讲,这里是讲在同一类型的语言中选择。语言的基本状态都一样,我们所选择的是什么呢?(待续)
但帖子实在是太长了,而且容易引起一些不必要的“吵架”。决定写一篇文章来系统的描述一下我的一些看法。
语言最初是和物理对应的,为了使人的表达能够被机器所执行,从汇编到C都是和硬件对应的。从C++开始,在语言领域就开始出现一个动词Think in,人们努力想让语言逃出硬件的禁锢,进入思想的领域,至今为止,这个趋势将继续。这有点像人类艺术的发展,从实物写生到抽象艺术,语言开始变得有思想,不同的程序员开始创造出不同的作品,这些作品开始会让人充满感情,会因欣赏而激动,会因观点不同而批评。这些作品再也不能用简单的正确和错误来评判。
Java虚拟机不自觉的开始了语言新的里程碑。虚拟机对语言的意义是,语言开始拥有了属于自己的虚拟硬件,语言可以领先于硬件的发展。这对于语言的本质而言是非常有意义的事情。在这点上,我没有去想所谓一次编程到处使用的意义,也没有去想通用语言引擎的意义。相反,这些被宣传的意义导致了虚拟机的无限膨胀,退化成了函数(对象)库的堆积。
语言被设计用于各种目的,用于指令系统的,用于状态机的,用于系统设计的,用于推理的,用于规则计算的,用于硬件设计的,用于文档处理的,用于构建语言本身的,用于科学计算的,用于人工智能的,用于图像处理的等等,举这么多类型,并不是要显示我的知识多么的广博,只是我能够想得到的,而我所能想到的也只是很小的一部分。思想是独立于语言的,可以被使用在一种或多种语言上,如面向对象和结构化思想可以被用在指令系统,系统设计,硬件设计等语言上以增强语言的表达能力。
对于选择语言来讲,这里是讲在同一类型的语言中选择。语言的基本状态都一样,我们所选择的是什么呢?(待续)