`

IronPython的第二块鳞片

阅读更多

        今天花了两个小时的时间把users-ironpython.com Archives中8月份的Mail仔细的看了一遍,整体的感觉就是IronPython这条小蟒蛇真的太幼小了,确实需要一段很长的时间才能成长起来。当然,我们可以从它的主人Jim的Mail中体会到他抚养这条小蟒蛇所承受的压力以及他的决心。
        8月份的Mail长达3900多行,在这些Mail当中,有提问的,有but report,有对IronPython开发的建议,也有对IronPython存在意义的怀疑。现将这些Mail中的一些精华部分列举如下,当做我摸索到的IronPython第二块鳞片吧:
        1、首先一个重要的问题就是跟CPython的兼容性问题,由于IronPython使用C#实现的,那么里面使用到的自定义的module,如"Equals"和"GetHashCode",是否需要呈现给开发人员呢?同时,象list这种原来内建的对象也拥有了更多的方法,如标准的list只能使用append方法去增加list中的元素,但是IronPython增加了C#下面实现的方法:Add(object)。有开发人员针对这个问题提出了自己的疑问,而Jim所给的回答就是,因为IronPython是在一个全新的平台去实现Python,与CPython完全保持一致是不可能,即使CPython本身版本的变迁也会带来变化;
        2、IronPython现在存在的一些比较严重的Bug,一个就是在上一篇blog中提到的第四点,关于使用__main__方法抛出的<eof>异常;一个是关于类成员访问的问题,如以下代码所示:

class Buggy: 
   class_member 
= 'find bug' 
   def printMember(self):
       print Buggy.class_member

= Buggy()
t.printMember()  

        这段代码存为一个.py文件,然后使用IronPythonConsole来执行,结果会抛出Unhandled Exception: IronPython.Objects.PythonAttributeError,而这段代码在CPython下是运行OK的。
        3、很多热心的开发人员都提出了需要一个subversion repository来存放IronPython的代码,大家都可以为IronPython的开发作出一份努力,同时也可以得到IronPython最新的代码。譬如上面提出的两个bug,已经有程序员找出了修改的办法,但是就是苦于没有地方提交他们的代码。而Jim给出的回应是,由于他加入了微软,为了新的工作还需要搬家,他也很诚恳的请求大家耐心等他一段时间,因为他需要做个计划。同时,他也回应了在开发上的一些怀疑:I have great confidence the resulting plan will be one that will make the developer community happy.  If the plan doesn't work for developers,then it just doesn't make sense;
        4、一位热心的开发人员开发出了一个将Visual Studio中开发的基于C#的Form代码转化为IronPython代码的工具,我还没有来得及去尝试,但是看回复的Mail,应该做得不错,有兴趣的朋友可以下载来试一下;
        5、当使用IronPythonConsole命令行的方式去执行一个.py文件的时候,会在IronPythonConsole所在的目录bin下面产生一个__main__.exe文件,但是这样产生可执行文件的方式并非是在IronPython.com首页上提到的static compilation。事实上在0.6版本中并没有真正实现这个特性。
        总结就到这里了,有兴趣的朋友,可以访问IronPython的邮件列表,以获得更详细的信息。 

分享到:
评论

相关推荐

    在.Net6中调用IronPython实现动态执行脚本

    在.NET 6中调用IronPython来实现动态执行脚本是一项强大的功能,它允许程序员在运行时编写和执行Python代码,极大地增强了应用的灵活性。IronPython是一个开源的Python实现,它能够无缝集成到.NET环境中,使得.NET...

    ironpython.zip

    IronPython是一种基于.NET和Mono平台的Python实现,它是由Jim Hugunin开发的,而他也是Jython的创始人。这个项目的主要目标是提供一个与标准CPython解释器兼容的Python环境,同时利用.NET框架的强大功能。IronPython...

    IronPython开发工具

    IronPython是一种基于.NET框架的Python实现,它允许开发者在.NET平台上使用Python语法编写代码,并能够无缝集成.NET生态系统中的各种资源。IronPython与传统的CPython(标准Python解释器)相比,最大的优势在于它...

    IronPython in Action

    《IronPython in Action》是一本深入探讨IronPython的权威书籍,专为那些希望利用Python的强大功能与.NET Framework的丰富库进行交互的开发者而设计。这本书不仅涵盖了Python的基础知识,更着重于讲解如何在.NET环境...

    IronPython in Action 无水印pdf版

    IronPython in Action 无水印pdf版。 IronPython in Action 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络 IronPython Action

    IronPython-2.7.7.msi 金蝶云 调试python脚本环境搭建。

    标题中的"IronPython-2.7.7.msi"指的是IronPython的一个版本,这是一个开源的Python实现,可以在.NET Framework上运行。它允许开发者使用Python语言编写应用程序,同时利用.NET平台的强大功能。金蝶云,另一方面,是...

    IronPython 2.6源代码

    2. **C#与Python的交互**:通过IronPython,C#开发者可以调用Python代码,反之亦然。这为混合编程提供了极大的便利,使得项目可以充分利用两种语言的优点。 3. **垃圾回收与性能优化**:由于基于.NET,IronPython...

    IronPython-2.7.11.rar

    7. **版本兼容性**:IronPython 2.7.11是对Python 2.7版本的实现,这个版本是Python 2系列的最后一个主要版本,因此这个版本的IronPython提供了对大量现有Python 2代码的支持。 压缩包内的"IronPython.2.7.11.zip...

    IronPython各个支持平台对应的DLL资源

    2. **代码动态编译**:IronPython支持Python代码的动态编译,这意味着你可以编写Python代码并在运行时即时编译为.NET字节码,提高了开发效率和灵活性。这对于实验性编程、快速原型开发或构建动态系统非常有用。 3. ...

    IronPython.7z

    - **IronPython 3.4.0a1**:这是一个测试版,对应Python 3.4的第一个alpha版本。Python 3.x引入了许多重大改变,包括语法更新和向后不兼容的改进。这个版本的IronPython让开发者可以尝试Python 3的新特性,但可能...

    C# IronPython 脚本引擎源码 + 例子

    2. **文档**:可能包括了IronPython的使用指南、API文档等,帮助开发者理解和使用IronPython。 3. **示例**:这些示例可能会展示如何在C#项目中嵌入IronPython脚本,如何执行Python代码,以及如何在Python脚本中...

    IronPython和C#交互

    标题中的"IronPython和C#交互"涉及到的是两种不同编程语言——IronPython(一种Python的实现,能够在.NET框架上运行)和C#之间的协同工作。 IronPython的优势在于它允许Python开发者利用.NET平台的强大功能,而C#是...

    IronPython2.0最新版本以及IDE等源码

    【IronPython2.0最新版本】是Python编程语言的一个实现,它允许开发者在.NET Framework上运行Python代码。这个实现由Microsoft开发,旨在提供一个与标准CPython解释器兼容的环境,同时利用.NET平台的高性能和丰富的...

    IronPython-2.7.5

    IronPython-2.7.5 是一个开源项目,它允许开发者在 .NET Framework 上运行 Python 代码,并且能够与 C# 程序无缝集成。这个版本是 IronPython 的一个重要里程碑,提供了对 Python 2.7.5 版本的支持。在本文中,我们...

    IronPython-2.7.7-win.zip

    IronPython是Python编程语言的一个实现,它允许开发者在.NET Framework和Mono平台上运行Python代码。这个压缩包"IronPython-2.7.7-win.zip"包含了IronPython的2.7.7版本,专为Windows操作系统设计。这个版本是在...

    Manning.IronPython.in.Action

    IronPython保留了Python的简洁和易读性,但运行于.NET之上,因此学习Python的基本概念是开始IronPython之旅的第一步。 2. **.NET Framework**:IronPython能够无缝集成到.NET Framework中,这意味着你可以访问.NET...

    [IronPython] IronPython 高级程序设计 (英文版)

    [Apress] IronPython 高级程序设计 (英文版) [Apress] Pro IronPython (E-Book) ☆ 出版信息:☆ [作者信息] Alan Harris [出版机构] Apress [出版日期] 2009年06月22日 [图书页数] 312页 [图书语言] 英语 ...

    IronPython IDE

    IronPython IDE是一款基于C#语言开发的集成开发环境(IDE),专为IronPython编程语言提供支持。IronPython是Python的一种实现,它运行在.NET Framework或Mono框架之上,能够充分利用.NET平台的强大功能。这款IDE旨在...

    VS2010调用IronPython脚本的示例代码

    在本文中,我们将深入探讨如何在Visual Studio 2010 (VS2010) 中使用C# 4.0来调用IronPython脚本,这是一个强大的动态语言运行时,能够让我们在.NET环境中执行Python代码。IronPython使得C#开发者能够轻松地利用...

Global site tag (gtag.js) - Google Analytics