发布于 2026-01-06 12 阅读
0

为什么人工智能是由Python而不是C++驱动的?

为什么人工智能是由Python而不是C++驱动的?

简而言之,是为了提高生产力

如果你想了解更多,就必须通读全文。Python并非人工智能数据科学深度学习神经网络等领域的唯一解决方案。C++、.NET、Java、JavaScript、Prolog、Julia等才是这些领域常用的生态
系统。但我们听到的太多关于Python 的消息,以至于现在我们误以为人工智能数据科学深度学习——这些都只能在Python上运行。事实远非如此。

语言基本上分为两种类型。

  • 高性能语言,例如 C、C++、汇编、B。
  • 高效编程语言,例如 Python、JS、Java、Kotlin、Swift。

Python是一种胶水语言,它整合了不同库的高级 API,使代码更易于使用。这些库的底层大多是用C/C++编写的。使用胶水语言进行科学研究的历史比我们想象的要悠久。过去,程序员们常常使用PerlTCL来编写代码如今, Python更为流行。

现在你可能会问

“为什么要使用粘合语言?”

假设你正在做一个神经网络项目,需要解决几百个问题,或者你可能需要用多种方法多次解决同一个问题,以找出最有效的方法。对于这类任务,你需要选择一种能够将你的想法转化为代码、查看结果并根据需要尽快进行修改的语言。测试速度越快,你的工作效率就越高。这就是为什么程序员通常不想在这里接触底层代码的原因。

思考一下在这类项目中使用C/C++会产生哪些影响(包括优点和缺点) 。

优势:-

  • 如果代码优化得当,性能将非常出色。
  • 您可以根据需要管理内存。
  • 您将拥有对底层代码库每一行的控制权。
  • 数据处理速度将大大加快。

缺点:-

  • 内存管理、数据类型、指针等底层技术需要投入大量精力和时间,这对快速开发来说是一个很大的劣势。
  • 在这种情况下,异常处理之类的事件会很麻烦,因为C/C++是非托管语言。
  • 你可能需要重写一些有用的C/C++库或框架的部分或全部代码。
  • 你需要处理诸如内存泄漏/溢出、垃圾管理之类的问题。
  • 您需要更多时间,开发成本也可能增加。
  • 维护你的代码库将会是一场噩梦。

性能或其他方面的优化可以在部署阶段进行。但程序员通常不会在开发阶段考虑这些。他们选择编程语言时主要考虑两个关键因素:

  • 这种语言的生产力如何?
  • 该语言是否有大量可用的实用库/框架?

Python完全满足这些条件。考虑到这些因素,其他语言生态系统与Python相比简直是天壤之别

但不管你承认与否,事实是……

程序员在编写人工智能代码时,90% 的时间都花在了 Python 上。另一方面,99% 的 CPU 时间都消耗在了 C/C++ 上。这是因为 Python、它的解释器以及大多数常用的库,本质上都是对 C/C++ 的抽象。

文章来源:https://dev.to/nahiandev/why-is-artificial-intelligence-driven-by-python-and-not-c-4e5f