Python – дилемма IronPython

Я начинаю изучать Python, и сейчас мне это очень нравится. Но если бы вы могли просто ответить на несколько вопросов для меня, которые беспокоили меня, и я не могу найти для них определенных ответов:

  1. Какова связь между реализацией C на Python (основная версия с python.org) и IronPython с точки зрения совместимости с языком? Это один и тот же язык, и я, изучая один, сможет плавно перейти к другому, или это Java для JavaScript?

  2. Каков текущий статус библиотек IronPython? Насколько он отстает от библиотек CPython? Меня больше всего интересуют numpy / scipy и f2py. Доступны ли они для IronPython?

  3. Какой был бы лучший способ получить доступ к VB с Python и наоборот? (Например, подключение некоторых библиотек python к VBA Excel)?

1) IronPython и CPython используют почти идентичный синтаксис языка. Между ними очень мало различий. Переход должен быть тривиальным.

2) Библиотеки в IronPython сильно отличаются от CPython. Библиотеки Python – это честная битка – довольно много библиотек, доступных для CPython, не будут работать (в настоящее время) под IronPython. Однако IronPython имеет чистый, прямой доступ ко всей платформе .NET Framework, что означает, что у нее есть одна из самых обширных библиотек, доступных для нее, поэтому во многих отношениях она намного опережает CPython. Некоторые из библиотек numpy / scipy не работают в IronPython, но из-за реализации .NET некоторые функции не нужны, поскольку perf. характеристики разные.

3) Доступ к Excel VBA будет проще с помощью IronPython, если вы делаете это из VBA. Если вы пытаетесь автоматизировать Excel, IronPython все же проще, поскольку у вас есть доступ к Execl Primary Interop Assemblies и можно напрямую автоматизировать его с использованием тех же библиотек, что и C # и VB.NET.