根据维基百科:编译语言是一种编程语言,其实现通常是编译器(从源代码生成机器代码的翻译器)。解释语言是一种编程语言,它的大多数实现直接和自由地执行指令,而以前没有将程序编译成机器语言指令。
因此,以下内容是明确的。
C, C++ and few other similar languages编译语言
Shell script, Perl, Ruby and some more解释语言
然而,也有第三种语言。像C#和Java这样的语言在运行时同时使用编译器和JIT。因此,我的问题是,这类语言是否有单独的名称,或者可以分为上述两种语言之一?一个解释性的答案会更有帮助吗?
编辑:
从维基百科和这篇文章
我对在C上开发自己的编程语言很感兴趣,但我不知道从哪里开始。
所以,我研究过,这引起了我的注意:
A lot of languages are C-based.
流行的编程语言,如C++和Objective,可能还有C#和Java都建立在C之上(更别提Python了)
C++和object创建者是如何创造出一种新的基于C的语言,但是添加了面向对象的编程概念呢?
昨晚,我遇到了一个叫Jython的术语,这对我来说有点陌生,所以我开始阅读它,只是为了增加我对Python的困惑。我也从未真正使用过Python。这就是我所困惑的。
Python is implemented in C --这是否意味着解释器是用C编写的,还是解释器将其源代码转换为C呢?
CPython不过是最初的Python &这个词是后来发明出来的,是为了区别它和Jython -是真的还是假的?
既然Python是用C实现的(不太确定这意味着什么),但这是否意味着python可以与任何C代码无缝集成。
Jython是一种新的编程语言,还是它的语法和其他编程结构看起来
假设X是输入语言,Z是输出语言,f是编译器,用Y语言编写。
f = X -> Z
因为f只是一个程序,我认为Y可以是任何语言,对吗?所以我们可以有编译器f1,f2,每个编译器都是用Y1和Y2编写的。
f1 = f Y1
f2 = f Y2
g = Z -> M
h = g . f # We get a compiler X -> M
以cpython编译器为例,X是Python,Z是Python代码,Y是C。
cpython = Python -> PythonVMCode C
interpreter = PythonVMCode -> Nothi