解释语言有一些优点(与编译语言相比)
- 平台独立性(您只需要平台的解释器,即使如果您的解释语言只是用另一种编程语言编写的库的包装库,则情况并非如此)
- 动态类型(无需指定变量的类型)
- 动态范围(例如,您可以访问其他范围内的变量)
- 自动内存管理(但有些编译语言,如 Java,也有垃圾收集器)
- 快速原型设计(出于各种原因,包括动态类型),因此可以更快地编写软件
因此,与编译语言相比,解释语言的主要优点是灵活性和动态性。鉴于人工智能仍然是一个不断发展的领域,这些特征得到了广泛的认可。
解释语言也至少有一个缺点(与编译语言相比)
- 与编译语言相比运行时间更慢,编译语言一旦编译就非常快,因为它们通常被编译成可以由机器或虚拟机快速执行的代码
Python 和 R 在数据科学和人工智能领域得到了广泛的应用,正是因为这些优势,这可能促成了它们周围社区的快速增长和软件库的发展。
但是,请注意,当今最常见的机器学习库(包括 TensorFlow 和 PyTorch)的核心是用 C 和 C++ 等编译语言编写的。在 TensorFlow 的特定情况下,Python 只是一个包装库。因此,在底层,代码不是由 Python 解释器执行,而是首先编译,这意味着,当你使用 TensorFlow 时,你的代码运行速度(或多或少)与使用编译后的代码一样快。像 C 这样的语言。类似的论点可以用于像 NumPy 这样的库,其中 Python 只是一个包装库。