我现在正在学习Perl,但解释语言的优点和缺点是什么?因为我开始学习Perl,因为我的朋友开始了,那么它只是我的经验中的一种语言。感谢。
答案 0 :(得分:11)
Blatant copy from wikipedia所以我会制作这个社区维基。
解释语言的优点
解释语言为程序提供了比编译语言更大的灵活性。在解释器中比在编译器中更容易实现的功能包括(但不限于):
解释性语言的缺点
解释器执行通常比常规程序执行效率低得多。之所以发生这种情况,是因为每个指令都应该在运行时传递解释,或者在较新的实现中,必须在每次执行之前将代码编译为中间表示。虚拟机是性能问题的部分解决方案,因为定义的中间语言更接近机器语言,因此在运行时更容易翻译。另一个缺点是需要本地机器上的解释器才能使执行成为可能。
答案 1 :(得分:5)
优点:
缺点:
答案 2 :(得分:2)
最大的缺点?大多数人会说执行速度,但并不总是如此。如今,大多数现代解释语言都将要解释的文件转换为构建时的中间状态,执行时将其转换为机器代码,就像任何其他语言一样。如今,聪明的缓存在这些语言虚拟机中最为普遍,它不应该是一个太大的问题。这当然不是说性能不是解释性语言的问题,只是它通常不像大多数人所说的那么糟糕。
请记住,即使存在性能问题,在更少且更高效的代码中实现与编译语言相同的任务通常也更容易,这使得编译期间的性能损失在程序的执行时间内可忽略不计。 / p>
就我个人而言,最大的缺点是需要在执行之前始终存在解释器。这通常会降低可移植性,特别是因为解释型语言并不总是跨平台。
答案 3 :(得分:1)
缺点:
临:
答案 4 :(得分:1)
为了明确而广泛地说,编译语言往往具有比解释语言更高的性能,因为编译排除了对运行时解释器的需求。
编译语言更适合商业桌面软件,因为源代码不随附。
解释语言的学习速度往往更快,因为它们允许您快速编辑/运行/重复而无需等待编译器。根据我的经验,他们也倾向于更高级别,这也使他们更容易。
答案 5 :(得分:0)
Wikipedia有一个关于优缺点的页面。任何显着高级的解释语言都可以实际编译成本机二进制文件,从而模糊了解释语言的优缺点之间的界限。
PERL是其中一种模糊线条的语言。虽然它以其强大的脚本语言而闻名,但您可以将其编译为原生语言。
答案 6 :(得分:0)
PERL等动态语言的“缓慢”可能不再是问题。以下是动态语言领域最新趋势的精彩演示:
http://steve-yegge.blogspot.com/2008/05/dynamic-languages-strike-back.html
答案 7 :(得分:0)
因为java是解释语言
<强>优点:强>
<强>缺点:强>
答案 8 :(得分:0)
解释型语言的显着优点是不必针对每个硬件目标分别进行编译。
缺点是它会使代码执行速度变慢。