История языка Python
История языка Python
Все началось в 1990 году, когда сотрудник голландского института CWI, тогда еще мало кому известный Гвидо ван Россум участвовал в проекте создания языка ABC. Язык был предназначен для замены языка BASIC, для обучения студентов основным концепциям программирования.
Как-то Гвидо надоело заниматься этим на работе, он пошел домой и в течение пары воскресений на своем домашнем Макинтоше написал интерпретатор другого простого языка; он, конечно, позаимствовал некоторое количество идей из ABC. Гвидо стал его распространять через Интернет.
На раннем этапе подключился довольно известный в Интернете человек Стив Маевский, который до 1996 года вел в Интернете страничку "Сравнительная критика языков программирования". Он тоже был (и до сих пор остается) поклонником Макинтоша, возможно, это их и сблизило с Гвидо. Гвидо в ту пору был фанатом комедийной серии BBC "Воздушный цирк Монти Пайтона" и назвал свой язык в честь Монти Пайтона или по-нашему, Питона (а не в честь змеи).
Язык стал быстро развиваться, поскольку появилось большое количество заинтересованных и понимающих в развитии языков программирования людей. Сначала это был совсем простой язык, просто небольшой интерпретатор, некоторое количество функций, не было объектно-ориентированного программирования, но все это быстро появилось. Уже в 1991 году появились первые средства объектно-ориентированного программирования.
Через некоторое время Гвидо переехал из Голландии в Америку. Его пригласили работать в корпорации CNRI. Он там работал, используя Python для тех проектов, которыми занималась корпорация, а в свободное рабочее время развивал язык и интерпретатор.
Так это продолжалось до появления в 1999 году версии 1.5.2, когда у Гвидо в жизни начались пертурбации. Корпорация, в которой он работал, оставляла ему все меньше и меньше времени на развитие Питона, и это его перестало устраивать. Он оказался довольно упертым фанатом собственного языка :) К тому времени в Интернете сложилось немалое сообщество пользователей. Гвидо решил пожертвовать частью зарплаты и стал искать спонсора, который позволил бы ему работать именно над развитием языка и интерпретатора. И образовавшаяся как раз в то время фирма BeOpen решила его поддержать. Он ушел, но перед уходом обязался выпустить версию 1.6. Это была контрактная версия, которую он должен был выпустить в корпорации CNRI. В BeOpen он выпустил версию 2.0.
Версия 2.0 - это довольно большой шаг вперед, но в первую очередь в социальном плане. В этой версии самое главное, что процесс развития языка и интерпретатора стал более открытым. Гвидо перевел все на SourceForge. Процесс развития всех альфа версий стал виден гораздо большему количеству народа. Сообщество пользователей выросло и оно стало требовать возможности участия в развитии языка, и Гвидо на это пошел.
Кроме этой активности произошло много чего нового: появился Юникод; это большой шаг вперед. К Юникоду, соответственно, появился новый механизм регулярных выражений, который работает как для обычных строк, так и для Юникодовых.
Через некоторое время и в BeOpen начались проблемы. Они тоже решили, что Гвидо хорошо бы зарабатывать деньги, а не заниматься всякой фигней :) а Гвидо это не понравилось, он опять уволился и стал искать, куда бы ему податься. Это был большой шаг для него лично, потому что при переходе из корпорации CNRI в BeOpen он одновременно женился, поэтому в следующий раз уволиться ему было тяжелее.
Тем не менее, он это сделал. А вместе с ним два раза увольнялись и переходили на новую работу еще 5 человек - команда разработчиков Питона, такие же упертые и влюбленные в язык - Tim Peters, Jeremy Hilton, Barry Warsaw, Fred Drake. Уволились и опять стал искать место, где бы они мог развивать язык, не обращая внимания, или как можно меньше обращая внимания на коммерческие проблемы. И тут Digital Creations - авторы Zope, решили его принять к себе. И, как в это время выяснилось, они его приглашали уже в пятый или шестой раз, и Гвидо сказал, что, наверное, пора дать им шанс. И все решили, что пора, потому что авторам Zope самим Python очень нужен, и чтобы его не терзать они дадут Гвидо возможность работать. Возможность у него есть, потому что уже вышел Питон 2.1, тоже очень большой шаг по сравнению с Питоном 2.0.
В нем появились объекты из языков программирования под названием closures. Правильнее было бы сказать - статически вложенные функции, что следует наверное объяснить в терминах языка Pascal, потому что в языке C такого нет, есть только функции верхнего уровня; в Perl тоже такого нет, хотя вложенные функции есть. В Питоне появилась иерархия: можно функции вкладывать друг в друга, и они будут иметь доступ к переменным окружающих функций, и это большой шаг вперед. Он сильно меняет язык, меняет многие подходы и способы программирования. В версии 2.1 это опционально, но в версии 2.2 это уже будет стандартным свойством языка.
Вобщем, движется все вперед довольно интенсивно в последнее время, так что упертость Гвидо сделала свое дело :) несмотря на два увольнения. В этом он молодец.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
9. Константы языка СИ
9. Константы языка СИ Константы – это перечисление величин в программе. В языке СИ можно выделить четыре вида констант: целые константы, константы с плавающей запятой, символьные константы и строковые литералы.Целая константа – это десятичное, восьмеричное или
14.4.6. Python
14.4.6. Python Python является языком написания сценариев, предназначенным для тесной интеграции с С. Он способен как импортировать, так и экспортировать данные в динамически загружаемые С-библиотеки, его также можно вызывать из С как встроенный язык сценариев. Синтаксис Python
14.4.6.1. Небольшой учебный пример по Python: imgsizer
14.4.6.1. Небольшой учебный пример по Python: imgsizer Imgsizer — утилита, которая переписывает WWW-страницы так, что теги включения изображений автоматически получают верные размеры изображения (это ускоряет загрузку страниц во многих браузерах). Исходные коды и документацию можно
14.4.6.2. Учебный пример по Python среднего размера: fetchmailconf
14.4.6.2. Учебный пример по Python среднего размера: fetchmailconf В главе 11 пара fetchmail/fetchmailconf рассматривалась как пример одного из способов отделения реализации от интерфейса. Преимущества Python хорошо иллюстрируются на примере утилиты fetchmailconfВ программе fetchmailconf используется
14.4.6.3. Большой учебный пример Python: PIL
14.4.6.3. Большой учебный пример Python: PIL Python-библиотека обработки графики (Python Imaging Library — PIL) поддерживает обработку растровой графики. Программа поддерживает множество популярных форматов, включая PNG, JPEG, BMP, TIFF, PPM, XBM и GIF. Python-программы могут использовать ее для того, чтобы
17.5.1.5. Переносимость Python
17.5.1.5. Переносимость Python Python имеет превосходную переносимость. Как и Perl, стандартный вариант Python предоставляет переносимый набор привязок к Tk-инструментарию, который поддерживает переносимые GUI-интерфейсы в Unix, MacOS и Windows.Стандартный Python обладает более развитой
14.4.6. Python
14.4.6. Python Python является языком написания сценариев, предназначенным для тесной интеграции с С. Он способен как импортировать, так и экспортировать данные в динамически загружаемые С-библиотеки, его также можно вызывать из С как встроенный язык сценариев. Синтаксис Python
14.4.6.1. Небольшой учебный пример по Python: imgsizer
14.4.6.1. Небольшой учебный пример по Python: imgsizer Imgsizer — утилита, которая переписывает WWW-страницы так, что теги включения изображений автоматически получают верные размеры изображения (это ускоряет загрузку страниц во многих браузерах). Исходные коды и документацию можно
14.4.6.2. Учебный пример по Python среднего размера: fetchmailconf
14.4.6.2. Учебный пример по Python среднего размера: fetchmailconf В главе 11 пара fetchmail/fetchmailconf рассматривалась как пример одного из способов отделения реализации от интерфейса. Преимущества Python хорошо иллюстрируются на примере утилиты fetchmailconf.В программе fetchmailconf используется
14.4.6.3. Большой учебный пример Python: PIL
14.4.6.3. Большой учебный пример Python: PIL Python-библиотека обработки графики (Python Imaging Library — PIL) поддерживает обработку растровой графики. Программа поддерживает множество популярных форматов, включая PNG, JPEG, BMP, TIFF, PPM, XBM и GIF. Python-программы могут использовать ее для того, чтобы
17.5.1.5. Переносимость Python
17.5.1.5. Переносимость Python Python имеет превосходную переносимость. Как и Perl, стандартный вариант Python предоставляет переносимый набор привязок к Tk-инструментарию, который поддерживает переносимые GUI-интерфейсы в Unix, MacOS и Windows.Стандартный Python обладает более развитой
ДОСТОИНСТВА ЯЗЫКА СИ
ДОСТОИНСТВА ЯЗЫКА СИ Язык Си быстро становится одним из наиболее важных и популярных языков программирования. Его использование все более расширяется, поскольку часто программисты предпочитают язык Си всем другим языкам после первого знакомства с ним. Когда вы изучите
ИСПОЛЬЗОВАНИЕ ЯЗЫКА СИ
ИСПОЛЬЗОВАНИЕ ЯЗЫКА СИ Си — язык "компилируемого" типа. Не огорчайтесь, если это звучит для вас пока как непонятный набор слов; вы поймете, что это значит, когда мы опишем этапы процесса создания работающей Си-программы.Если вы привыкли использовать какой-нибудь язык
Python
Python KlnterbasDB является пакетом расширения Python, который реализует совместимую с Python Database API 2.0 поддержку Firebird. В дополнение к минимальному набору возможностей Python Database API KlnterbasDB предоставляет полный API клиента Firebird.После релиза версии 3.1 была объявлена самая новая доступная