根据维基百科:编译语言是一种编程语言,其实现通常是编译器(从源代码生成机器代码的翻译器)。解释语言是一种编程语言,它的大多数实现直接和自由地执行指令,而以前没有将程序编译成机器语言指令。
因此,以下内容是明确的。
C, C++ and few other similar languages编译语言
Shell script, Perl, Ruby and some more解释语言
然而,也有第三种语言。像C#和Java这样的语言在运行时同时使用编译器和JIT。因此,我的问题是,这类语言是否有单独的名称,或者可以分为上述两种语言之一?一个解释性的答案会更有帮助吗?
编辑:
从维基百科和这篇文章
所以,假设我在离散数学的世界里工作,我有一些函数
f: A x B x C -> D。
有了这个函数,我就可以进行像f(a,b,c) = d这样的计算。(我故意在这里含糊其辞)。
现在假设我想用一些现代的OO编程语言显式地实现这个计算。因此,我用a和c初始化了一个名为ClassA类的b等变量。然后呢?应该拥有哪个对象的计算?或者它可能是一个初始化器。它会是一个静态函数吗?
我本可以:
d = a.f_1(b,c),
d = b.f_2(a,c),
d = c.f_3(a,b),
d = new ObjD(a,b,c),
d = ZStatic.f_4(a,b,c)
首先,我真的很抱歉问这个,但我没有搜索词的想法。我真的很好奇大型项目如何在同一个程序中使用不同的编程语言。例如,英雄联盟使用以下语言:
C++ (the core game is written in this)
Lua (core game) C# (game tools)
ActionScript (game hud and pvp.net)
Java (platform servers)
Erlang (platform servers)
Php/sql (web team / platform)
如何使不同的编程语言协同工作?(比如C++和C#)为什么这么做很好?这能让事情变得