• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

为什么 Python 不用 C++ 实现?

python 搞代码 4年前 (2022-01-09) 27次浏览 已收录 0个评论
文章目录[隐藏]

python源码里,C的代码已经完全对象化了,封装、多态等特性已经用C实现,那为什么不直接上C++?这也能使代码可读性更强

回复内容:

参见:
Why is Python written in C and not in C++?programmers.stackexchange.com

1. CPython 1.0发布于1989年,那时候C刚刚标准化,C++还不为人知
2. C比C++有更好的移植性
3. 重写代码是一件大工程CPython为啥用C而不是C++实现, @用心阁的回答已经很明确。

至于时至今日为啥不用C++实现Python,题主是想要Dropbox的Pyston呗,C++实现的Python封装、多态这两个特性根本用不到 OOP 语言。必须非用 OOP 语言不可才能比较容易实现的特性是实现继承 (implementation inheritance) 。所以我说喜爱 OO 的人先看看你的系统里实现继承多不多。实际情况是除了 UI framework 没有什么地方非要用到实现继承。从Python的源码实现上可以认为,Python和C++是分别对C语言做了面向对象的“扩展”,而它们的“扩展”思想是不一样的,C++是极尽可能地减少性能上的损耗,而Python一切都是为了简化对象的高层视图,所以Python用C开发则不需要先经过C++对面向对象的理解,直接用更底层的材料按自己的想法构建出另外一座高楼大厦在很多大型的C工程中,都采用或部分采用了面向对象的思想,使用C语言写一些封装和对象类似的封装,这样只是为了以面向对象的思想更好的组织整个工程.并不是说写一个面向对象的语言就要另一个面向对象的语言来实现.

还有很多语言底层是用C写的,很多网络库,网络工具等. 个人认为:
1. c语言更接近底层的操作系统,能更耦合于操作系统(你想想为什么LINUX不用C++去写)
2. C语言写使跨平台更好,同样还是观点1中的,操作系统是C写的因为CPython太老了,而在CPython基础上使用新架构的Pyston是用C++11实现的。python在windows下的实现都是调用API,这个用C足够。MFC的话只能用C++。用面向对象的来1源gaodai#ma#com搞*代#码1网语言开发面向对象的语言经常迷失


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:为什么 Python 不用 C++ 实现?
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址