IronPython死而复生

2023-11-06 20:18
文章标签 ironpython 死而复生

本文主要是介绍IronPython死而复生,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

IronPython是一个运行在.Net框架通用语言运行库上的实现(Common Language Runtime,CLR)。这个项目曾一度停滞不前,最近,团队换了领导者,带来了新的进展。

Jeff Hardy,IronPython项目的前领导人,这个月在IronPython用户邮件列表中确认了这次调职,称“由于多种原因,我没有足够的时间来带领这个项目了,所以我将这个项目交给Alex Earl和Benedikt Eggers。

Python支持.Net, .Net支持Python

IronPython采用C#开发,不仅仅是为了在.Net上运行Python程序。它可以为Python程序员提供一个通往.Net应用和对象的桥梁。最大的好处是,使它们可以像Python本地的对象一样使用和处理。

过去几年,IronPython的开发无疑非常缓慢。最后的主要版本是2014年的2.7.5.IronPython到现在还没有Python3——鉴于将在2020年停止支持Python2,Python 3是接下来的继任者,这毫无疑问是一个致命的缺点。

在一次开发者会议上,Gitter、Earl、 Eggers和其他一些人讨论了这个项目所面临的紧急问题:CodePlex上IronPython项目未解决的问题应当如何处理;接下来要实行怎样的开发计划;如何铺设通往IronPython3的道路。

会议上提出的另一个问题是,如何对使用C语言实现的Python库实现支持。如果IronPython有了广泛的用户,这是必须要面临的问题。很多主要的Python库为了达到更快的速度,都是用C语言写的,它们应该无需重新编译就支持IronPython项目。

好消息是,在这方面已经有一些工作成果了。有一个名为Ironclad的项目,就是为了让IronPython支持编译过的CPython扩展而设计的。坏消息是,这个项目已经很长时间没有动态了,现在需要做很多修改以适应现代的Python。

关于Ruby和GILs

相关的另一个问题是,如何面对这个团队的另一个项目:IronRuby。顾名思义,这是一个Ruby的.Net实现。这两门语言的项目是合作开发的,他们都发源于微软的动态语言运行库项目,2010年微软将他们交给社区开发之后,两个项目继续保持着亲密关系。

计划是让IronRuby吸引Ruby开发者的关注,而IronPython依然作为一个分离的项目开发。

将来IronPython可能会是一个成功的项目,因为它有实现长久以来快速、多核友好的Python的梦想。因为IronPython没有全局解释器锁。很多Python实现都有这个特性,而这却是高性能的绊脚石。

有人说,如果仅仅是没有GIL,IronPython并不能变得更快。IronPython有些指标比CPython高,有的比CPython低。对现在而言,只要IronPython能达到和Python一样的速度,就足够了。

原文地址:http://geek.csdn.net/news/detail/90110


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

这篇关于IronPython死而复生的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/358835

相关文章

IronPython和C#交互

在C#环境中动态调用IronPython脚本,可以通过以下步骤实现: 安装IronPython: 首先,确保你的项目中已经安装了IronPython。可以通过NuGet包管理器来安装IronPython。 创建IronPython运行环境: 在C#代码中,你需要创建一个ScriptEngine实例,这是IronPython执行环境的核心。 加载和执行Python脚本: 使用ScriptEn

IronPython脚本调用C#实现的dll库

C#代码 public   partial   class  Form1 : Form ... {    public static PythonEngine engine;        private static ClrModule clr;        private void InitializePythonEngine()        ...{            e

Java对象 死里逃生 篇(后会陆续补各种场景的死而复生)

1. finalize()方法 虚拟机用可达性算法分析 对象是否可达后-标记标记为不可达,后续回收算法会进行回收回收之前,会将对象放到F-queue队列中调用 finalize()函数在finalize()函数中将对象变为强引用,让其可达会小范围的再次执行一次可达算法判断对象可达,不回收内存 注意:finalize只会被执行一次,finalize不保证被完全执行(里面死循环等) 使用场景:暂

007、IronPython与.NET Framework

今天就随便找个话题——聊聊IronPython与.NET Framework吧,算了,这东西比较专业,为避免说错话,还是从网上搜点专业术语贴出来吧,希望对学习Dynamo的小伙伴能有些帮助。 IronPython IronPython只是Python语言的一种方言   编程语言带有“方言”   编程语言是通用的,但它们总是用于特定任务;也许您正在构建网站的UI或管理数百个数据库,此上下文将

IronPython最新版下载地址

http://www.codeplex.com/IronPython/Release/ProjectReleases.aspx?ReleaseId=7014

IronPython安装及体验

安装文件下载:http://ironpythonstudio.codeplex.com/ 安装方法:http://zaxor.cn/?p=16   在这个安装方法中,提到了新建项目类型的设置,若不设置,只能建wpf项目。 在资源管理器中,添加新的 Items时(比如新的窗体,xml,等),还需要做这样一个修改:将C:/Program Files (x86)/Microsoft Visual

Base4.net和IronPython的一些相关东东

发现一个非常好的东东:Base4.NET ,这是一个超过10年编程经验的老程序员和架构师所愿意分享和体现的价值, 有兴趣的看看作者的介绍:      Base4 is a very powerful framework and server for sharing data layers and data between applications. Essentially Base4 work

IronPython中使用Cecil类库指南

这三篇文章介绍了如何以IronPython去使用Cecil,是很不错的指导性文章: Nauman Leghari's Blog : Fun with IronPython and Cecil Nauman Leghari's Blog : Fun with IronPython and Cecil (Part II) Method Tree Visualizer :: Fun w

IronPython 2.0 Alpha3 发布了

IronPython是运行于.Net上的给予DLR的Python开发语言,CodePlex 2007年7月27日正式发布了2.0 Alpha 3版本.安装IronPython前,您必须确认已经安装了.Net 2.0如果您已经安装了Microsoft Visual Studio 2005,则不需再次安装.Net Framework.  Download IronPython v2.0 Alpha

Mono 1.2.5 发布,提供对IronPython和DLR的支持

Novell宣布升级其Mono软件,以使开发者更加容易地把握用于Linux的.Net桌面应用.        Mono 是一个由 Novell 公司(先前是 Ximian )主持的项目.该项目的目标是创建一系列符合 ECMA 标准(Ecma-334 和 Ecma-335)的 .NET 工具,包括 C# 编译器和公共语言运行时.与微软的 .NET Framework 不同,Mono 项目不仅可以运行