IronPython 和 IronPython Studio 的优缺点

发布于 2024-07-13 04:20:56 字数 322 浏览 8 评论 0原文

我们公司已经准备好将所有内容迁移到 Python 而不是 C#,我们是一家咨询公司,我们通常用 C# 编写小型项目,我们不做大型项目,我们的工作更多地基于复杂的数学模型而不是复杂的软件结构。 因此,我们相信 IronPython 对我们来说是一个很好的平台,因为它提供了 Windows 上的标准 GUI 功能以及对所有 .Net 库的访问。

我知道 Ironpython 工作室并不完整,事实上,我很难添加我的参考资料,但我想知道是否有人可以为我们列出此迁移的一些优点和缺点,考虑到 Python 代码更容易被我们的客户阅读,并且我们通常提供概念验证原型而不是全功能代码,我们的客户通常会自行实施应用程序

We are ready in our company to move everything to Python instead of C#, we are a consulting company and we usually write small projects in C# we don't do huge projects and our work is more based on complex mathematical models not complex software structures. So we believe IronPython is a good platform for us because it provides standard GUI functionality on windows and access to all of .Net libraries.

I know Ironpython studio is not complete, and in fact I had a hard time adding my references but I was wondering if someone could list some of the pros and cons of this migration for us, considering Python code is easier to read by our clients and we usually deliver a proof-of-concept prototype instead of a full-functional code, our clients usually go ahead and implement the application themselves

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

凉城已无爱 2024-07-20 04:20:56

我的公司 Resolver Systems 开发的应用程序可能是迄今为止用 IronPython 编写的最大的应用程序。 (它被称为 Resolver One,是一个 Pythonic 电子表格)。 我们还托管 Ironclad 项目(在 IronPython 下运行 CPython 扩展),进展顺利(我们计划很快发布 Resolver One 和 numpy 的测试版)。

我们选择 IronPython 的原因是 .NET 集成 - 我们的客户希望在 Windows 上 100% 集成,而目前实现这一目标的最简单方法是 .NET。

我们在 Visual Studio 中设计 GUI(无行为),将其编译为 DLL 并从 IronPython 对其进行子类化以添加行为。

我们发现 IronPython 在某些情况下更快,而在另一些情况下更慢。 然而,IronPython 团队的反应非常迅速,每当我们报告回归时,他们都会修复它,并且通常会将其向后移植到错误修复版本。 如果您担心性能,您始终可以用 C# 实现关键部分(我们还没有这样做)。

如果您有使用 C# 的经验,那么 IronPython 对您来说会很自然,并且比 C# 更容易,尤其是对于原型而言。

关于IronPython studio,我们不使用它。 我们每个人都有自己选择的编辑器(TextPad、Emacs、Vim 和 Wing),并且一切正常。

My company, Resolver Systems, develops what is probably the biggest application written in IronPython yet. (It's called Resolver One, and it's a Pythonic spreadsheet). We are also hosting the Ironclad project (to run CPython extensions under IronPython) and that is going well (we plan to release a beta of Resolver One & numpy soon).

The reason we chose IronPython was the .NET integration - our clients want 100% integration on Windows and the easiest way to do that right now is .NET.

We design our GUI (without behaviour) in Visual Studio, compile it into a DLL and subclass it from IronPython to add behaviour.

We have found that IronPython is faster at some cases and slower at some others. However, the IronPython team is very responsive, whenever we report a regression they fix it and usually backport it to the bugfix release. If you worry about performance, you can always implement a critical part in C# (we haven't had to do that yet).

If you have experience with C#, then IronPython will be natural for you, and easier than C#, especially for prototypes.

Regarding IronPython studio, we don't use it. Each of us has his editor of choice (TextPad, Emacs, Vim & Wing), and everything works fine.

忆依然 2024-07-20 04:20:56

你想从 C# 切换到 Python 的原因有很多,我最近就是这么做的。 经过大量调查,以下是我坚持使用 CPython 的原因:

  • 性能:有一些文章指出,在某些情况下,ironpython 总是较慢,因此,如果性能是一个问题,
  • 请采用原始版本:许多人认为新的功能等总是首先集成在 CPython 中,你必须等到它们在 IronPython 中实现。
  • 许可:有些人认为这是一个定时炸弹:没有人知道 IronPython/Mono 的许可在不久的将来会如何变化
  • 扩展:Python 的优势之一是 CPython 可以使用的数千个扩展,正如您提到的数学问题: numpy 可能是一个适合您的快速包,但可能无法在 IronPython 下按预期运行(尽管 Ironclad< /a>)
  • 特别是在 Windows 下,您有一个带有 wxPython 的本机 GUI 工具包,它在其他几个平台下也看起来很棒,并且还有 pyQT 和许多其他工具包。 他们有像 wxGlade 这样不错的设计器,但这里 VisualStudio C# 设计器更容易使用。
  • 平台独立性(如果这是一个问题):CPython 确实被移植到很多平台,而ironpython 只能在主要平台上使用(最近读到一位开发人员很遗憾他无法让 mono 在他的 AIX 下运行)

Ironpython 是一项伟大的工作,如果我有一个特殊的 .NET 库,我必须使用,IronPython 可能是选择,但对于通用问题,人们似乎建议使用原始的 CPython,除非 Guido 改变主意。

There are a lot of reasons why you want to switch from C# to python, i did this myself recently. After a lot of investigating, here are the reasons why i stick to CPython:

  • Performance: There are some articles out there stating that there are always cases where ironpython is slower, so if performance is an issue
  • Take the original: many people argue that new features etc. are always integrated in CPython first and you have to wait until they are implemented in ironpython.
  • Licensing: Some people argue this is a timebomb: nobody knows how the licensing of ironpython/mono might change in near future
  • Extensions: one of the strengths of python are the thousands of extensions which are all usable by CPython, as you mentioned mathematical problems: numpy might be a suitable fast package for you which might not run as expected under IronPython (although Ironclad)
  • Especially under Windows you have a native GUI-toolkit with wxPython which also looks great under several other platforms and there are pyQT and a lot of other toolkits. They have nice designer like wxGlade, but here VisualStudio C# Designer is easier to use.
  • Platform independence (if this is an issue): CPython is ported to really a lot of platforms, whereas ironpython can only be used on the major platforms (recently read a developer was sad that he couldn't get mono to run under his AIX)

Ironpython is a great work, and if i had a special .NET library i would have to use, IronPython might be the choice, but for general purpose problems, people seem to suggest using the original CPython, unless Guido changes his mind.

治碍 2024-07-20 04:20:56

从你描述事情的方式来看,听起来你的公司正在为了Python而简单地转向Python。 您想使用 Python 有什么具体原因吗? 是否需要更动态的语言? 函数式编程对你有帮助吗? 如果您在 C# 中拥有一套完美的工作工具,为什么还要费心切换呢?

如果您决定切换,您可能需要考虑从标准 Python 开始,除非您特别依赖于 .NET 库。 您可以使用许多不同的框架(如 wxPython、pyQt 等)编写跨平台 GUI。也就是说,Visual Studio 拥有比任何用于创建 Python 窗口布局的工具都要优越得多的 GUI 设计器。

The way you describe things, it sounds like you're company is switching to Python simple for the sake of Python. Is there some specific reason you want to use Python? Is a more dynamic language necessary? Is the functional programming going to help you at all? If you've got a perfectly good working set of tools in C#, why bother switching?

If you're set on switching, you may want to consider starting with standard Python unless you're specifically tied to the .NET libraries. You can write cross platform GUIs using a number of different frameworks like wxPython, pyQt, etc. That said, Visual Studio has a far superior GUI designer to just about any of the tools out there for creating Python windowed layouts.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文