我开始学习Python,现在我非常喜欢它。但是,如果你能为我回答几个问题,这些问题一直困扰着我,而我却找不到确切的答案:
发布于 2009-09-10 02:46:03
1) IronPython和CPython语言语法基本相同。他们之间的差别很小。过渡应该是微不足道的。
2) IronPython库与CPython库有很大的不同。Python库落后于相当多的CPython可访问库(目前)在IronPython下无法工作。然而,IronPython完全可以直接访问整个.NET框架,这意味着它拥有本机可访问的最广泛的库之一,因此在许多方面,它远远领先于CPython。一些numpy/scipy库在IronPython中不工作,但是由于.NET实现,一些功能是不必要的,因为perf。特征是不同的。
3)使用IronPython访问Excel会更容易,如果您是从VBA访问的话。如果您试图自动化excel,IronPython仍然更容易,因为您可以访问Execl主互操作程序集,并且可以使用与C#和VB.NET相同的库直接自动化它。
发布于 2009-09-10 04:24:42
在语言兼容性方面,Python的C实现(来自python.org的主版本)与IronPython之间的关系是什么?它是同一种语言吗?通过学习一种语言,我能顺利地过渡到另一种语言吗?或者是JavaScript?
同一种语言(目前为2.5级-- IronPython还没有2.6 )。
IronPython库的当前状态是什么?它落后于CPython库多少?我最感兴趣的是numpy/scipy和f2py。它们对IronPython可用吗?
在今天的IronPython中,标准库处于一个很好的状态,就像你提到的那些远离它的巨大的第三方扩展。numpy已经开始变得可行了,这要归功于铁皮,但不像numpy (从IronPython的0.5个版本号中看到的那样)生产级。scipy庞大而庞大,充斥着C代码和Fortran编码的扩展:我没有第一手的经验,但我怀疑在除CPython之外的任何实现下,都会运行不到一半,更不用说完美地运行了。
从Python访问VB的最佳方法是什么,从python返回的另一种方式是什么(确切地说,将一些python库连接到Excel的VBA )?
IronPython应该通过.NET方法使它变得更容易,但是CPython通过win32all中的COM实现并没有那么远。
最后但并非最不重要的一点是,看看“IronPython在行动中”一书--正如我每次推荐这本书时所说的,我有偏见(因为我曾经是它的技术评论员,并与一位作者建立了友谊),但我认为它客观上是.NET开发人员对Python最好的介绍,同时也是Pythonistas对.NET最好的介绍。
如果你需要所有的scipy (哇,但那是-一些的“文艺复兴人”计算科学家!-),CPython真的是今天唯一的现实选择。我确信其他大型扩展(比如PyQt或Mayavi)也处于类似的状态。然而,为了深入集成今天的Windows,我认为IronPython可能有优势。对于一般用途,CPython可能更好(尤指)。多亏了2.6中的许多新特性,除非()您真的非常希望在一个进程中最大限度地使用多个核心,在这种情况下,IronPython (这是GIL-less)可能再次证明是有利的。
无论如何(甚至是在Jython的JVM上,或者在特殊的环境中,通过PyPy) Python无疑是一种很棒的语言,无论您为给定的应用程序选择什么实现!-)请注意,您不需要坚持一个实现(尽管您可能应该选择一个版本-- 2.5以实现与IronPython、Jython、Google等的最大兼容性;2.6如果您不关心任何部署选项,除了“我自己的唯一或虚拟控制下的机器上的CPython”;-)。
发布于 2009-09-11 12:56:36
https://stackoverflow.com/questions/1403103
复制相似问题