Python 2 или Python 3 в качестве первого языка учащегося

Что больше подходит в качестве платформы для первого курса вычислительной техники: Python 2 или Python 3? Причина спросить ваше мнение: Python 2 используется в подавляющем большинстве инсталляций по всему миру, но на подходе Python 3.


person Victor H.    schedule 19.08.2010    source источник
comment
Дублирование всех уже заданных вопросов о Python 2 и Python 3. stackoverflow.com/ для списка.   -  person S.Lott    schedule 19.08.2010
comment
возможный дубликат Какая версия Следует ли мне использовать Python, если я новичок в Python?   -  person S.Lott    schedule 19.08.2010
comment
Этот вопрос принадлежит программистам.stackexchange.com   -  person Yes Barry    schedule 24.11.2012


Ответы (7)


Научите их обоих (имхо).

Научите Python 2 (самым питоническим способом), а затем представьте своим ученикам изменения 2to3 и их значение (напечатайте «строка» => напечатайте («строка»), почему?)

Кстати, если вы используете 2.7 http://docs.python.org/dev/library/stdtypes.html#memoryview — интересная новая функция!

person Enrico Carlesso    schedule 19.08.2010
comment
ИМХО - преподавать 2 и 3 и примерно 2to3 - это многовато для самого первого языка программирования студента. Придерживаться одной версии было бы лучше, чтобы научить основам. - person Matthew J Morrison; 20.08.2010
comment
По моему скромному мнению, обучение студентов программированию предназначено не для того, чтобы они стали разработчиками, а для того, чтобы понять процесс разработки, и многие изменения в языке программирования связаны с оптимизацией/улучшением, понимание которых может быть полезным. - person Enrico Carlesso; 21.08.2010
comment
+1 за обучение обоих. Но если надо выбрать, учите Python 3. Он действительно лучше, чище. Кроме того, требуется некоторое время, прежде чем они начнут использовать Python для производственного кода, если вообще когда-либо. В то время Python 3 будет победителем. - person pepr; 23.08.2013

Я бы сказал, что это зависит от вашей учебной программы. Если вы собираетесь использовать/показывать некоторые библиотеки с открытым исходным кодом, у вас могут возникнуть проблемы с некоторыми из них, работающими над 3, поэтому в этом случае выберите 2. Если вы просто показываете сам язык, а ваши ученики пишут все с поцарапать без использования каких-либо внешних библиотек, я бы сказал, пойти с 3.

person Matthew J Morrison    schedule 19.08.2010

Честно говоря, я думаю, что у вас есть прекрасная возможность преподать своим ученикам ценный урок: поддерживать их навыки в актуальном состоянии, ежедневно имея дело со «старым» кодом. Это простая жизненная реальность, которую им придется понять, если они хотят стать успешными программистами (черт возьми, это, вероятно, верно для большинства профессий).

Вот как я бы к этому подошел: научить их 2.x как основному языку курса. Большинство библиотек Python несовместимы с 3.x, а концепции программирования не сильно отличаются между двумя основными версиями. Однако во время курса давайте им задания, которые требуют от них изучения Python 3, изучения различий и причин. Потратьте немного времени, чтобы рассказать им об инструментах миграции и некоторых основных концепциях обновления старой базы кода. Для класса начального уровня вы также можете подумать о том, чтобы дать им базовую программу 2.5 и попросить их вручную обновить ее до 3.1.

person bedwyr    schedule 19.08.2010

Python 2. К сожалению, библиотечная поддержка Python 3 оставляет желать лучшего.

person Justin    schedule 19.08.2010

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

Также в python 2.x гораздо больше экспертов, чем в 3.0.

person FallenAngel    schedule 19.08.2010

Я бы посоветовал преподавать Python 2.*, так как, хотя Python 3 — это новая мода, поддерживаемых библиотек пока очень мало, а подавляющее большинство ресурсов в Интернете посвящено более старым версиям Python.

person Alex McBride    schedule 19.08.2010

я бы сказал, что python 2, python 2 существует уже некоторое время и является очень зрелым, для него доступно множество библиотек, модулей и основных фреймворков. Python 3 очень новый, и в нем еще не так много библиотек. Я думаю, что это будет сценарий в течение нескольких лет.

person Ishihara    schedule 19.08.2010