Язык программирования Python как базовый ЯП при обучении специалистов

Язык программирования Python обладает рядом уникальных или просто полезных достоинств, позволяющих использовать его в качестве базового ЯП при обучении специалистов весьма широкого диапазона — от профессиональных программистов и инженеров до научных работников в области естественных и гуманитарных наук. Достоинства эти отчасти вполне объективного, а отчасти и весьма субъективного толка. Как следствие, наш обзор не будет претендовать на сугубую объективность, опираясь, с одной стороны на личный опыт преподавания в различной аудитории, а с другой — на знания о возможностях самого языка. Цель обзора — показать поразительную универсальность среды Python в качестве возможной базы для программистской части ИТ-образования. Не является рекламой. Имеются противопоказания, проконсультируйтесь со специалистом.

Общие слова

Python до сих пор принято считать «молодым» языком программирования, хотя он слегка старше Java (официальный «год рождения» — 1989). Дело в том, что Python — очень динамично развивающийся язык, в котором непрерывно идёт процесс обновления и расширения как самого ЯП, так и инструментальной среды, входящей в стандартную поставку.

Это, кстати, сразу обращает наше внимание на первые три достоинства Python в качестве именно языка обучения.

(1) Во-первых, разработчики стараются удержаться на «передовом крае науки», видоизменять язык в соответствие с новшествами в области программирования (разумеется, дозированно и после тщательного обсуждения). Следовательно, в какой-то мере решён вопрос «устаревания инструмента», довольно остро стоящий в отношении, например, учебных программ, основанных на ЯП Pascal. Правда, возникает вопрос устаревания самой учебной программы… Впрочем, если по какой-то причине изменения программы надо подтормозить, в нынешней ситуации можно остановиться на Python2, развитие которого заморожено в пользу Python3.

(2) Во-вторых, Python — это не только язык программирования, но и довольно полная инструментальная среда общего назначения, насчитывающая более двух сотен модулей на все случаи жизни (связь с ОС, шаблоны и алгоритмы программирования, эффективные и сложные типы данных, работа с различными форматами данных, сеть, вычислительная математика и т. д.). Список не входящих в поставку, дно зарегистрированны на сайте «Python Package Index» и доступных к использованию модулей в сто раз больше. Это позволяет расширить круг учебных задач за счёт предметных областей, затрагиваемых в модулях, и не привлекать при этом сторонние, не совместимые с базовым, инструментарии.

(3) В-третьих, Python — очень востребованный язык программирования. Некоторые организации (RedHat, NASA. Google) прямо заявляют, что ведут разработку или часть разработки на Python, а количество написанного на Python прикладного программного обеспечения любой сложности, вообще вряд ли поддаётся исчислению. Стало быть, на одном только Python ученик без куска хлеба не останется. Хотя о том, что бы был не один только Python, да и масло на хлебе, стоит тоже позаботиться.

Python как первый язык программирования

Гвидо ван Россум, автор языка программирования и «бессменный великодушный диктатор» сообщества Python, в своём «Пособии к Python» замечает, что пособие это — для тех, кто уже умеет программировать. В самом деле, изложение в нём плотное, с постоянной отсылкой на различные программистские реалии. Но структура «Пособия» довольно прозрачно намекает на то, каким может быть вариант учебной программы «с нуля».

(4) Python — это интерпретатор, и