Какова связь между реализацией Python C (основная версия с python.org) и IronPython с точки зрения языковой совместимости? Это один и тот же язык, и смогу ли я, изучив один, плавно перейти на другой, или это Java для JavaScript?
Тот же язык (на данный момент на уровне 2.5 - IronPython еще не 2.6, насколько я знаю).
Каково текущее состояние библиотек IronPython? Насколько он отстает от библиотек CPython? Меня больше всего интересуют numpy/scipy и f2py. Доступны ли они для IronPython?
Стандартные библиотеки в сегодняшнем IronPython находятся в отличном состоянии, огромные сторонние расширения, подобные упомянутым вами, далеки от него. numpy
становится выполнимым благодаря железный, но не производственный уровень, поскольку numpy
принадлежит IronPython (о чем свидетельствует номер версии 0.5 для ironclad
и т. д.). scipy
огромен, растянут и битком набит расширениями, закодированными на C и Fortran: у меня нет личного опыта, но я подозреваю, что меньше половины будет работать, а тем более работать без сбоев, в любой реализации, кроме CPython.
Каким будет лучший способ получить доступ к VB из Python и обратно (точнее, подключить некоторые библиотеки Python к VBA Excel)?
IronPython должен упростить это с помощью подходов .NET, но CPython не так уж и далеко за счет реализации COM в win32all. а>.
И последнее, но не менее важное: обязательно ознакомьтесь с книгой IronPython в действии — как я говорю каждый раз Я рекомендую его, я предвзят (поскольку я был его техническим обозревателем И дружил с одним автором), но я думаю, что объективно это лучшее введение в Python для разработчиков .NET И в то же время лучшее введение в .NET для Питонисты.
Если вам нужно все scipy
(ВАУ, но это же какой-то ученый-компьютерщик из «Человека эпохи Возрождения»!-), CPython — действительно единственный реальный вариант на сегодняшний день. Я уверен, что другие крупные расширения (скажем, PyQt или Mayavi) находятся в аналогичном состоянии. Однако для глубокой интеграции с современной Windows, я думаю, у IronPython может быть преимущество. Для общего применения CPython может быть лучше (особенно благодаря многим новым функциям в версии 2.6), если только вы действительно не хотите использовать много ядер в рамках одного процесса, в котором case IronPython (который не содержит GIL) может снова оказаться выгодным.
Так или иначе (или даже на JVM через Jython, или в специфических средах через PyPy) Python, безусловно, отличный язык, какую бы реализацию вы ни выбрали для данного приложения!-) Обратите внимание, что вам не нужно придерживаться с ОДНОЙ реализацией (хотя вам, вероятно, следует выбрать одну ВЕРСИЮ — 2.5 для максимальной совместимости с IronPython, Jython, Google App Engine и т. д.; 2.6, если вас не волнуют какие-либо варианты развертывания, кроме «CPython на машине под моей собственной или виртуальное управление" ;-).
person
Alex Martelli
schedule
10.09.2009