答案 0 :(得分:5)
这是wiki timeline of all programming languages。
我会包含一个FTA表,但列表非常强大且广泛。
而且,您所能获得的最低语言是汇编(除了直接发布机器指令),无论其他语言是什么(包括ASP.NET)。其他语言实际上只是汇编的抽象。事实上,ASP.NET被编译成IL(中间语言)代码,然后将其JIT编译为程序集。装配尽可能接近金属。
答案 1 :(得分:5)
要迂腐,“汇编程序”实际上并不是一种语言(不仅仅是“编译器”;-) - 而是,它是一个以“汇编语言”获取源文件并发出二进制机器代码的程序。二进制机器代码可以说比汇编语言更低级,因为后者允许使用一些符号,并且通常还包括宏处理能力。
“低于”二进制机器代码,可能是其他级别,称为“微代码”(但可能没有 - CPU 可能完全实现真正的硬件,没有任何微程序设计方面)。这可能只有在系统的体系结构允许程序员改变微代码时才有意义,特别是通过添加微代码等等 - 有机器可以做到这一点,但我不认为任何当前商业化的CPU都可以。所以你可能不必关心它(以及垂直和水平微码之间的现在深奥的区别等等; - )。
答案 2 :(得分:2)
编程语言只是将解决方案组合到计算问题的方法。 这个论点是“从什么组成的?” 从这个角度来看,我建议采用以下进化曲线:
Napier's Bones
Babbage's difference engine
Jacquard (card) looms
(Conceptual) Abstract Turing machines/Post Systems/Church's calculus
Relay Computers (Aiken?)
Vacuum tubes as switching elements (Eniac)
Transistor-based computers
Microprogrammed machines
Integrated Circuits
Large Scale Circuits
用“汇编程序”作为编程语言 汇总了包含说明的解决方案 真正的机器从真空管系统开始。 (我不确定继电器机器实际上是否有装配工)。 编程语言只是集合在一起的方法 级别命令减少了对汇编程序指令的影响。
答案 3 :(得分:1)
这里要考虑两个不同的维度,我称之为垂直增长(语言随着时间的推移从一代到下一代)和水平增长(语法改进和复杂性的降低)。
这里可以看到垂直变化的一个很好的解释:http://web.sxu.edu/rogers/sys/generations.html 这里有一个很好但不完整的横向变化说明:http://oreilly.com/news/graphics/prog_lang_poster.pdf