Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Время идет быстро, и Python, одному из самых популярных языков программирования современности, исполнилось 30 лет. Впервые о нем стало известно в конце февраля 1991 года, когда Гвидо ван Россум опубликовал первый выпуск Python в группе alt.sources.
Работа над языком велась два года, изначальной задачей было создание скриптового языка для работы с операционной системой Amoeba. Язык этот должен был быть более высокого уровня, чем Си, плюс представлял бы удобный доступ к системным вызовам операционной системы.
В первой версии языка появилась поддержка классов с наследованием, обработка исключений, плюс система модулей и базовые типы list, dict и str. Такой инструмент, как реализация модулей и исключений был заимствован из языка Modula-3. Стиль кодирования на основе отступов попал в Python из языка АBC, в разработке которого автор тоже принимал непосредственное участие.
Важнейшую роль при разработке языка играли принципы, которые позволяли сэкономить время в процессе кодинга:
- Заимствование полезных идей из других проектов.
- Стремление к простоте, но без чрезмерного упрощения (принцип Эйншейна «Всё должно быть изложено так просто, как только возможно, но не проще»).
- Следование философии UNIX, в соответствии с которой программы реализуют какую-то одну функциональность, но делают это хорошо.
- Не слишком заботиться о производительности, оптимизации можно добавлять по мере необходимости, когда они понадобятся.
- Не пытаться бороться с сложившимися вещами, а плыть по течению.
- Избегать перфекционизма, обычно хватает и уровня «достаточно хорошо».
- Иногда можно срезать углы, особенно, если что-то можно сделать позднее.
Есть и другие принципы, которыми руководствовался Гвидо ван Россум при разработке Python:
- Реализация не должна быть привязана к конкретной платформе. Некоторые возможности могут быть доступны не всегда, но базовая функциональность должна работать везде.
- Не нагружать пользователей деталями, обработку которых может взять на себя машина.
- Поддержка и продвижение платформонезависимого пользовательского кода, но без ограничения доступа к возможностям и особенностям платформ.
- Большие сложные системы должны предоставлять несколько уровней для расширения.
- Ошибки не должны быть фатальными и незамеченными — пользовательский код должен иметь возможность перехватить и обработать ошибки.
- Ошибки в пользовательском коде не должны влиять на функциональность виртуальной машины и не должны приводить к неопределённому поведению интерпретатора и краху процессов.
Сейчас Python находится на четвертом месте по востребованности среди разработчиков. В этом году довольно неожиданно доля Python на рынке ЯП сократилась. Причины пока не очень ясны — возможно, ниша Data Science заполнена, может, повлияло еще что-то. Но как бы там ни было, снижение не существенное, а самому языку предстоит работать на благо человечества еще многие годы, скорее всего — десятки лет.