Изучение Python в Windows для TDD

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

Достаточно ли зрелый IronPython для этих целей? Я доволен написанием тестов на C #, но считаю очень привлекательными динамические языки, такие как ruby ​​и python. Было бы лучше отказаться от IronPython во время обучения и придерживаться официальной версии 3?

Мне было бы интересно услышать мнение любого, кто успешно написал тесты для проекта .net на ironruby или ironpython.

Изменить: переработал свой вопрос, чтобы решить реальную проблему использования динамических языков для TDD в .NET - проблема с версией не так важна. Приносим извинения за плохо сформулированный вопрос.


person Bayard Randel    schedule 01.05.2009    source источник


Ответы (4)


Как уже говорили другие, большая часть ресурсов в сети по-прежнему предназначена для Python 2.x. Я бы начал с официального руководства. Если вы предпочитаете видео, showmedo предлагает большую коллекцию руководств. Python 3.x на самом деле еще не готов к производству.

IronPython очень зрелый, этот блоггер работает в Resolver Systems, компании, которая написала программу всей электронной таблицы в IronPython.

Они очень широко используют разработку через тестирование, поэтому я бы сказал, что это история успеха TDD с использованием IronPython, хотя тестируемая система не была написана на C #.

person Ryan    schedule 01.05.2009

Однако я обнаружил, что IronPython, насколько мне известно, основан на Python v2, в то время как многие учебные ресурсы, доступные в Интернете, сосредоточены на Python v3.

Я не знаю, какие ресурсы вы просматривали, но большинство из них предназначены для v2.

person Unknown    schedule 01.05.2009

Самая большая разница между Python 2 и Python 3 - это выражение print.

Python 2:

print "Hello world"

Python 3:

print("Hello world")

Я не уверен, где вы ищете все эти учебные ресурсы по Python 3, но существует множество учебных ресурсов по Python 2.

person Greg Hewgill    schedule 01.05.2009

"Достаточно ли зрелый IronPython для этих целей?"

Язвительный ответ - «очевидно», поскольку это первоклассная часть визуальной студии.

http://search.microsoft.com/results.aspx?mkt=en-us&setlang=en-us&q=ironpython

Лучший ответ - «да». Он действительно работает, действительно работал годами и совместим с другими средами выполнения Python, которые работали много-много лет.

Вот инструкции: http://www.microsoft.com/downloads/details.aspx?FamilyId=55932211-0D7E-4C6E-9B18-8F9D2AC1EE43&displaylang=en

«Не лучше ли отказаться от IronPython во время обучения и придерживаться официальной версии 3?»

В этом нет особого смысла.

Вы работаете в .Net, поэтому IronPython - ваш лучший выбор. «Forgo IronPython» сложно разобрать - вы думаете об использовании CPython? Это тоже работает. И работает хорошо, но может не работать с другими вашими инструментами Visual Studio.

"придерживаться официальной версии 3" вообще не имеет смысла. Существует два параллельных дистрибутива, оба официальных. Есть 2.6 и 3.x. В обозримом будущем они оба будут существовать параллельно.

Вам следует начать с той версии, которая работает с инструментами, которые вы хотите использовать. В настоящее время ваши инструменты, вероятно, лучше работают с 2.6, чем с 3.x. В какой-то момент вы заметите, что ваши инструменты переходят на 3.x. Тогда - и только тогда - вы можете перейти на 3.x.

person S.Lott    schedule 01.05.2009
comment
AFAIK не так просто интегрировать IPy и VS. В VS SDK есть что-то, что позволяет вам это делать, но это только для IPy 1.x.x. См. code.msdn.microsoft.com/IPyDD - person Rohit; 02.05.2009
comment
так как это первоклассная часть визуальной студии. Это просто неправда. Есть проект заброшенного ПО, который как бы интегрирует предыдущую версию IPy с VS. Не обновлялся больше года. - person Will Dean; 03.05.2009
comment
У меня есть и VS2005, и VS2008, и поддержка IPy по умолчанию не поддерживается. Я не уверен, как можно назвать IPy первоклассной сущностью. Я загрузил и установил интеграцию IPy, на которую указывает ссылка, но у меня все еще нет надлежащей поддержки (без подсветки синтаксиса и т. Д.). У вас он работает с VS? Если да, покажите, пожалуйста, как это сделать. - person Rohit; 03.05.2009