20 февраля 1991 года Гвидо ван Россум
опубликовал в группе alt.sources первый выпуск
языка программирования Python, над которым
работал с декабря 1989 года в рамках проекта
по созданию скриптового языка для решения
задач системного администрирования в
операционной системе Amoeba, который был бы
более высокого уровня, чем Си, но, в отличие
от Bourne shell, предоставлял бы более удобный
доступ к системным вызовам ОС.
Имя для проекта было выбрано в честь
комедийной группы Монти Пайтон (Monty Python). В
первой версии была реализована поддержка
классов с наследованием, обработка
исключений, система модулей и базовые типы
list, dict и str. Реализация модулей и исключений
была заимствована из языка Modula-3, а стиль
кодирования на основе отступов из языка ABC,
в разработке которого Гвидо ранее принимал
участие.
В процессе создания Python Гвидо
руководствовался следующими принципами:
Принципы, которые позволили сэкономить
время при разработке:
- Заимствование полезных идей из других
проектов.
- Стремление к простоте, но без чрезмерного
упрощения (принцип Эйншейна «Всё должно
быть изложено так просто, как только
возможно, но не проще»).
- Следование философии UNIX, в соответствии с
которой программы реализуют какую-то одну
функциональность, но делают это хорошо.
- Не слишком заботиться о
производительности, оптимизации можно
добавлять по мере необходимости, когда они
понадобятся.
- Не пытаться бороться с сложившимися
вещами, а плыть по течению.
- Избегать перфекционизма, обычно хватает
и уровня «достаточно хорошо».
- Иногда можно срезать углы, особенно, если
что-то можно сделать позднее.
Остальные принципы:
- Реализация не должна быть привязана к
конкретной платформе. * Некоторые
возможности могут быть доступны не всегда,
но базовая функциональность должна
работать везде.
- Не нагружать пользователей деталями,
обработку которых может взять на себя
машина.
- Поддержка и продвижение
платформонезависимого пользовательского
кода, но без ограничения доступа к
возможностям и особенностям платформ.
- Большие сложные системы должны
предоставлять несколько уровней для
расширения.
- Ошибки не должны быть фатальными и
незамеченными — пользовательский код
должен иметь возможность перехватить и
обработать ошибки.
- Ошибки в пользовательском коде не должны
влиять на функциональность виртуальной
машины и не должны приводить к
неопределённому поведению интерпретатора
и краху процессов.
|
0
|
22 Февраля @ 21:11:10
|
№2061537
Стульщеке исполнилось 3к треда
Ссу на пистон.
Говдо Обоссум
(← + Сtrl) вернуться назадк новым сообщениям (Сtrl + →)