为什么python不用c++实现?

python源码里,c的代码已经完全对象化了,封装、多态等特性已经用c实现,那为什么不直接上c++?这也能使代码可读性更强回复内容:
参见:why is python written in c and not in c++?http://programmers.stackexchange.com/questions/20988/why-is-python-written-in-c-and-not-in-c1. 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++。
用面向对象的语言开发面向对象的语言经常迷失

Posted in 未分类

发表评论