为什么能有不同的编程语言
因为硬件无非就是cpu 内存
这些是一定的啊
为什么在一定的硬件下能有不同的语言?
一个语言跟另一个语言产生不同是在什么地方开始?
即使会了编程
但是一个完整语言由哪些结构构成 我还是不清楚
程序语言分为编译型语言和脚本语言。编译型语言最常见的是C,C++,Java;脚本语言如Javascript, python。
而编译型语言也可以分为两种,一种是直接编译成机器码的,另一种是编译为字节码,运行在虚拟环境中,如Java,C#。
一开始大家用机器码写程序,后来为了方便记忆,人们发明了机器码助记符,也就是汇编语言,为了进一步降低编程难度,人们发明了C语言,Fortran等等,这些语言都是直接编译成机器码的,由于受到不同的理念的影响,这些语言各有各的特点,也各有各的问题,可以说萝卜白菜各有所爱,你用哪个都可以。
其他的程序语言编出来的程序都是在虚拟环境中运行的,不是直接跑在硬件上的。比如Java,它的运行时封装了硬件的各种各样的功能,Java程序运行在它的虚拟环境中。这样的好处是跨平台性以及安全性,比如硬件是不会检查内存越界访问的,而Java的虚拟环境就可以提供这样的功能。
还有一些脚本语言是在特定环境下运行的,比如vim和Emacs的配置文件分别是vimscript和Emacs lisp,浏览器的脚本语言是Javascript,在这些软件中使用什么语言是由应用程序规定的,不能由用户自由选择。
写得比较乱,希望能对你有帮助。