为什么会开发其他语言(如C)现有代码的Python绑定?

4

为什么要开发其他语言现有代码的Python绑定?我看到许多程序员为他们现有的C代码开发Python绑定。为什么?这有何帮助?


5
让它们可以在Python中使用,而无需完全重写,您能帮忙进行翻译吗? - obataku
3个回答

4
虽然我不能完全确定这点,因为它是基于个人喜好的,但对于那些发现Python语法更加高效易用的开发者而言,为C开发Python绑定可以使开发过程更加容易。(例如,Python CUDA、3D、Kinect等库)

我猜Java也可以开发包装器(绑定)。Python绑定有什么优势吗?是什么标准决定我们选择Python绑定还是Java包装器?谢谢。 - N mol
1
我认为这是主观的。有些人,包括我自己,在编程方面发现Python非常容易和高效。(可执行伪代码)我认为这是大多数人的动力所在。我也是Java程序员,所以很难批评我连续使用了16年的语言,但如果我必须选择一种绑定语言,我会选择Python。目前我正在开发一个用于Accumulo API的绑定。 - Edmon

3
Python有C绑定,因为C是一种低级语言,可以非常快速和有效地支持大量的硬件和软件功能。对于初学者来说,C非常困难,并且本质上缺乏面向对象的特性,而Python针对这一点进行了改进。C缺乏面向对象的行为也促成了C ++的创建。
通常,软件项目受到开发人员的速度限制,而不是代码执行速度的限制,这时Python在大多数情况下优于C。
Python相对于C的优势包括:
- 非常清晰,易读的语法 - 强大的内省能力 - 直观的面向对象 - 过程式代码的自然表达 - 完整的模块化,支持分层包 - 基于异常的错误处理 - 非常高级的动态数据类型 - 大量的标准库和第三方模块,几乎可以胜任任何任务 - 可以用C、C++(或Java用于Jython,或.NET语言用于IronPython)编写扩展和模块 - 作为脚本界面嵌入应用程序
详情请见http://www.python.org/about/

“Python被解释成C”这种说法最多只能算是误导。Python最常见的实现确实是用C编写的解释器,但Python代码从未以任何方式转换为C,并且其他实现(如PyPy、Jython、IronPython)使用其他策略。 - Danica
我猜Java也可以开发包装器(绑定),但Python的绑定有什么优势呢?是什么标准让我们决定选择Python绑定还是Java包装器?谢谢。 - N mol

1
由于C语言中存在许多经过多年测试、修复错误等方面非常高质量的库,因此试图在Python中重新实现所有内容是不明智的(例如,我永远不会使用Python中的加密库,应该使用openssl、NSS或gnutls等经过充分测试和开发的C库绑定)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接