受myan(原作)的<编程语言的层次观点——兼谈C++的剪裁方案>启发,我想就程序语言谈谈自己的看法,此仅是个人想法,主要是想和大家探讨。
语言的好坏主要是表现在如下方面:
1.语言编译方式:分为编译型和解释型,这直接影响到运行速度和效率,硬件依赖性(跨平台,跨硬件)。
2.绑定时间:分为执行时绑定和编译时绑定,它反应了语言的效率和灵活性。
3.翻译方式:分为软件模拟和转换翻译,它直接影响到编译速度和占用的存储空间大小。
以上是编译器和语言本身特性决定,可算是先天的。
4.易写、易用性:关系编程的快慢和投入成本的高低。
5.易学性、复杂性:关系学习的难度和复杂程度。
6.统一性、规范性:关系源码的可读性、维护方便度、用户支持度、编程资源的丰富度。
7.应用的自然性:关系程序的表达难易和适用性。
8.易验证、易调试性:关系程序的可靠性和稳定性。
9.可移植性:在不同机器上方便移植。
10.复用、重用性:关系再开发和编程效率。
11.通用、灵活性:关系用户支持度和编程资源的丰富度。
12.可扩充性:关系以后此语言的发展。
13.应用优化:对某方面的应用特别有效。
以上由语言特性和编程方式,习惯等决定是先天素质+后天努力。
14.编程环境:及IDE和一系列工具的扩充。
15.程序框架:及FRAMEWORK
16.第三方支持:各方面类库和编程资源的支持及可自定义程度。
17.使用代价:这很复杂,涉及到投资成本、执行的代价、维护的代价等等。说白了就是人和硬件设备的投入。
以上是在语言的基础上实现的,因此可算是后天的努力。