А ты знал? 10 фактов о Python
Python — язык программирования с достаточно низким порогом вхождения, поэтому его часто выбирают начинающие кодеры. Ты еще не решился изучать «Пайтон»? Вот десять фактов о нем, которые помогут тебе развеять сомнения и определиться с выбором. Они будут интересны не только программистам!
1. Python работает практически везде
Python работает почти на всех известных платформах — от карманных компьютеров и смартфонов до серверов сети. Версии Python портированы под Windows, Linux/UNIX, macOS и macOS X, iPhone OS 2.0 и выше, Palm OS, OS/2, AS/400 и даже OS/390, Windows Mobile, Symbian и Android.

2. У Python древние корни
Некоторые программисты считают этот язык программирования молодым. Как сказать. Если сравнивать с языком C, то Python — молодой. Но работа над ним началась в конце 1980-х годов, а первая полноценная версия появилась в 1991 году. Так что свое совершеннолетие Python уже давно отметил. Это зрелый и развивающийся язык программирования, но никак не мертвый — как считают некоторые. Кстати, месяц назад, 17 июля 2017 года, вышла версия 3.6.2.
3. Поддержка «больших парней»
«Большие парни» — Google, Yahoo, NASA, Industrial Light & Magic и даже Microsoft — используют Python. Подтверждение легко найти в интернете. Так, Google предпочитает C++, Java и Python, а Microsoft даже открыла Python Developer Center.
4. Python — один из самых популярных в мире языков программирования
В соответствии с индексом TIOBE, Python занимает пятое место в мире! Только посмотри на рейтинг популярности языков программирования. На первом месте — Java, далее — семейство языков C, C++, C#. Если эти языки считать как один, то Python — на третьем месте.

5. Название Python произошло не от рептилии
Создатель языка Гвидо ван Россум заявил, что название языка происходит от ТВ-шоу «Летающий цирк Монти Пайтона». Да, об этом написано в FAQ, но кто ж его читает!
6. Популярные продукты Yahoo написаны на Python
Популярные программные продукты Yahoo, в том числе Django, TurboGears и Zope, написаны на Python.
7. Python совместим с .NET и Java Virtual Machine
Разработчики могут интегрировать Python с объектами COM (Component Object Model), Microsoft .NET и CORBA (Common Object Request Broker Architecture). Для Java-разработчиков есть Jython — версия Python для JVM. Разработчики .NET могут воспользоваться Python for .NET или IronPython — реализацией Python для .NET от Microsoft.
8. «Батарейка» внутри
«Батарейкой» Python-разработчики называют стандартную библиотеку, в которой есть все — от асинхронной обработки до работы с ZIP-архивами. Именно поэтому на Python можно реализовать приложение любой сложности.
9. Python поддерживает ICE
ICE (Internet Communications Engine) — объектная система, использующая механизм RPC. ICE создана под влиянием технологии CORBA. Но при этом Ice намного компактнее и проще, чем CORBA. Python поддерживает обе технологии.

10. Освоить Python проще, чем ты думаешь
Python — довольно простой в изучении язык программирования. Обучение программированию сейчас нередко рекомендуют начинать именно с него, и вполне вероятно, что когда-нибудь он займет и ту почетную нишу, которую когда-то занимал Turbo Pascal :). Можно приобрести хорошую книгу, а можно обратиться к профессионалам: освоить новую профессию и получить стопроцентное трудоустройство. Изучить Python и превратиться в Python-разработчика всего за один год помогут в GeekUniversity.

Преимущества получения специальности в GeekUniversity следующие.

- Используются подходы ведущих учебных центров США. Студенту предстоит создать четыре проекта — как самостоятельно, так и в команде. Год в GeekUniversity — это год реального опыта разработки для резюме.
- На уроках будет создано не простое приложение вроде «Привет, мир», а полноценное клиент-серверное приложение — платежная система. Студент научится работать с БД, создавать приложения с GUI и безопасные многопоточные приложения.
- У студента будет личный наставник-куратор. Работа с наставником делает обучение эффективнее.
- Цель GeekUniversity — трудоустройство выпускника. Трудоустройство гарантируется всем выпускникам.
- GeekUniversity работает на основании государственной лицензии № 038188. Выпускнику выдается свидетельство государственного образца.
Получить дополнительную информацию об онлайн-университете можно, оставив заявку на сайте GeekUniversity.
1. Что такое Python?
Код языка программирования Python был опубликован в \(1991\) году. Его автор — программист нидерландского происхождения Гвидо ван Россум . Язык программирования с тех пор совершенствуется, переходя от версии к версии. В \(2000\) году была выпущена версия языка Python \(2.0\), а в \(2008\) г. — Python \(3.0\).
Python обладает целым рядом преимуществ.
Это язык высокого уровня, его синтаксис приближен к естественному человеческому языку. Программисту не нужно указывать, например, как программе работать с ячейками памяти, поэтому код на языке Python легко читать и писать. Его базовый синтаксис интуитивно понятен. Его рекомендуют как первый язык программирования, который стоит изучить.
Python разработан под лицензией с открытым исходным кодом. Это значит, что скачать и использовать такой язык для своих задач можно совершенно бесплатно.
Python обладает большим количеством библиотек, подключаемых для решения прикладных задач также бесплатно.
Python — язык интерпретируемый, это значит, что каждая строка его кода может быть выполнена сама по себе, в отличие от других языков, например С\(++\) или Java, для которых программа должна быть написана целиком, скомпилирована с помощью компилятора языка и только потом запущена на выполнение.
Python — язык кроссплатформенный. Так как интерпретатор для Python существует для многих платформ, то неважно, в какой операционной системе запущена программа.
При сравнении популярности языков программирования используется индекс Tiobe; с \(2018\) года Python занимает первые строки по популярности.

Рис. \(1\). Индекс Tiobe
• по словам автора языка Python, он искал «хобби-проект по программированию, который занял бы его в течение недели перед Рождеством», и было это в \(1989\) году. Конечно, работа над языком не была делом одной недели. Сказались обширные знания и большой опыт Ван Россума, работавшего в нескольких масштабных проектах по созданию программного обеспечения. Позже к работе над Python подключилось множество программистов со всего мира.
• В \(1999\) году Ван Россум предложил Агентству перспективных оборонных исследовательских проектов (DARPA) финансировать проект «Компьютерное программирование для всех», в котором определил преимущества языка Python:
— простой и интуитивно понятный язык, столь же мощный, как и основные конкуренты;
— открытый исходный код, поэтому любой может внести свой вклад в его разработку;
— код, который так же понятен, как простой английский;
— пригодность для повседневных задач, с учётом короткого времени, требующегося для разработки.
• В \(1999\) году американский программист Тим Петерс, активно участвующий в разработке языка Python, предложил свод правил «Дзен Питон», или как его ещё называют — PEP\(20\) (python enhanced proposal — заявки на улучшение языка Питон). Но написал он только \(19\) правил, предложив последнее правило написать автору, Гвидо ван Россуму. Прочитать PEP\(20\) можно, выполнив команду «import this». Последнее правило до сих пор осталось незаполненным.

Рис. \(2\). «Дзен Питон»
• Автор шрифта, используемого в логотипе Python — родной брат Гвидо ван Россума Джаст, тоже программист и дизайнер шрифтов.
Подробное описание языка Python для начинающих
Python — красивый, лаконичный и многофункциональный язык. Давайте пробежимся по фундаменту Python. Статья подойдёт для начинающих.
Начинать изучение чего-либо не имея базового представления о фундаментальных основах — глупо. И принцип «по ходу разберёмся» здесь не работает так как «по ходу» вы просто не уйдёте дальше простых домашних проектов.
Изучать программирование «до того, как это стало мэйнстримом» было намного сложнее, чем сейчас, по одной просто причине: никто не разжёвывал и не делил информацию на важную «вам это никогда не понадобится», не было обучающих экспресс уроков и интенсивов, где за 4 часа пишут свой пет-проект. Сейчас мы имеем большой массив так называемых разработчиков которые успешно выполняют поставленные им задачи, но матчасть знают поверхностно.
Именно поэтому давайте пробежимся по фундаменту такого простого но, как оказалось, загадочного языка Python. Пристегните ремни, господа.
Что такое Python, как язык программирования
В целом Python можно описать одним предложением: Высокоуровневый, интерпретируемый, объектно-ориентированный, императивный, строго типизированный язык общего назначения, который имеет динамическую типизацию.
Теперь пойдём последовательно по каждому из пунктов.
Высокоуровневый
Языки программирования делятся на высокоуровневые и низкоуровневые. Низкоуровневые языки — языки, близкие к машинному коду или его конструкциям (например, байт-кодам). Классикой таких языков являются C, Assembler, Forth.
Высокоуровневые языки — соответственно разрабатываются для удобства использования и скорости написания программы. В них применяются определённые абстракции — структуры данных, набор вспомогательных функций и так далее. Это такие языки как Python, JS, PHP, Go,
Интерпретируемый
Языки делятся на интерпретируемые(Python, JS, PHP, R, Ruby) и компилируемые (С, С++, Pascal). В первом случае программа выполняется специальной программой — интерпретатором, во втором программа сначала преобразуется в понятные компьютеру исполняемые файлы.
Объектно-ориентированный
Все языки также разделяются на процедурные, функциональные и объектно-ориентированные в зависимости от того, с помощью каких конструкций создаётся программа и как происходит её выполнение.
В объектно-ориентированных языках основа это классы и экземпляры классов это равносильно типу и объекту этого типа. Выполнение условных задач или же просто работа программы строится на взаимодействии различных классов.
Python хоть и является объектно-ориентированным языком но также поддерживает и процедурное программирование это значит, что программу можно написать без единого класса.
В основе функциональных языков лежит отличная от предыдущих вычислительная система, называемая лямбда-исчисление, которая, тем не менее, эквивалентна машине Тьюринга, о чём доказана соответствующая теорема (спасибо моему преподавателю за этот абзац).
Императивный
Языки программирования также могут быть разделены на импертивные и декларативные. В императивном языке программист будет указывать последовательность команд для выполнения (это все языки программирования которые мы считаем «языками программирования» простите за тавтологию).
Декларативные же языки в свою очередь ожидают от нас описания результата, который мы хотим получить в ходе выполнения запроса. Яркий пример декларативного языка это SQL (Stucted Query Language) или же структурированный язык запросов. Именно в нём мы описываем конкретный результат выполнения программы а не последовательность команд. Декларативными языками еще называют HTML, CSS, SVG, VRML, SQL, lex/VACC.
Для понимания определений императивного и декларативного языка зададим задачу: построить дом.Императивный: Пойти в магазин —> Купить материалы —> Подготовить площадку —> Произвести строительство —> Заселиться.Декларативный: Я хочу новый дом.
Строго (сильно) типизированный
Что касается типизации. В сильно типизированном языке интерпретатор, при выполнении команд, не станет неявно приводить типы в отличии от слабо типизированных языков, в котором приведения типа могут происходить неявно.
Общего назначения
Языки делятся на языки общего назначения (Python, Java, Kotlin, C, Ruby) и специализированные (например предметно-ориентированные языки или DSL)
DSL(предметно-ориентированный язык) — компьютерный язык, специализированный для конкретной области применения (в противоположность языку общего назначения, применимому к широкому спектру областей и не учитывающему особенности конкретных сфер знаний). Построение такого языка и/или его структура данных отражают специфику решаемых с его помощью задач. Является ключевым понятием языково-ориентированного программирования. Примеры таких языков Perl, SQL, HTML, Haskell, Verilog, AutoLisp
Динамическая типизация
Динамическая типизация предполагает, что в процессе выполнения команды переменная может содержать объекты различных типов. То есть мы объявляем переменную не указывая явно, какой тип данных в ней будет содержаться, и в процессе выполнения программы в одной переменной может побывать как текст так и число, а может и булево значение.
Статическая типизация предполагает, что при задании переменной сразу указывается тип данных, который она может содержать.
Отличительные особенности языка Python
Интроспекция
В программировании это это способность программы получать различную информацию об объектах во время работы программы. Если конкретно, то вы можете узнать какому классу принадлежит объект, с каким типом данных вы работаете в данный момент (помните про динамическую типизацию?) или список атрибутов и методов, доступных для указанного объекта
Примеры полезных функций интроспекции в Python:
- dir();
- type();
- hasattr();
- id();
- isinstance().
Мультиплатформенность
Нет, ну Java тоже, да. Но Python не отстает, он идёт, что называется, в коробке с Linux и SQL Server, интерпретатор Python можно легко поставить на Windows, не забыли про macOS, и iOS. Да вообще везде работает, в 8 раз медленней чем Swift на iOS, но работает.
Встроенные паттерны проектирования
В Python существуют свои встроенные паттерны проектирования, лучшим примером для понимания служат Декоратор и Итератор.
Декоратор позволяет расширять функциональность без наследования. Чтобы разобраться в паттерне Итератор, следует просто изучить механизм работы итераторов и генераторов языка (о них я писал здесь)
Обширный набор стандартных библиотек
При использовании Core Python вы получаете «в коробке» большой набор полезных стандартных библиотек. Примером может служить библиотека для работы с БД SQLite, а также json, math, re, random, csv, html и много других.
Читаемость языка
Форматирование текста в Python является частью его синтаксиса и да, это те самые отступы (пробелы, табуляция кому как нравится), которые позволяют повышать читаемость кода.
Заключение
Python — красивый, лаконичный и многофункциональный язык. Он применяется в совершенно не сочетающихся между собой сферах деятельности, способен в одиночку создавать проекты и не смотреть на возможности конкурентных языков.
Частой проблемой, встречающейся среди разработчиков-любителей является поверхностность в изучении Python. Обучающие материалы, которые вы (мы) встречаете в интернете перефразируются сотни раз и скрывают важные, полезные черты и особенности языков программирования.
Очень важно восполнять белые пятна в своих знаниях не только в начале своего обучения но и на протяжении всей своей карьеры иначе завтра фраза «дай дорогу молодым» станет для вас актуальной, и вы окажетесь за бортом.
P.S.
Язык Python назван в честь комик-группы Монти Пайтон а не в честь змеи.
Создатель языка Гвидо Ван Россум
PEP – Python Enhancement Proposals.
PEP-8 – набор правил как стоит писать код.
Как языки программирования получили свои названия
Возможно, вы слышали поговорку о том, что в информатике есть только две сложные вещи, одна из них — придумывать названия. Некоторые имена языков программирования действительно имеют смысл, например, Google назвали свой язык Go(lang). Другие названия — например, Python и Java — не так очевидны.

Обратимся к истории некоторых знаковых языков программирования, чтобы узнать как они получили свои названия. Кому интересно — добро пожаловать под кат.
Python
Python был создан Гвидо ван Россумом как программистское «хобби», чтобы занять себя на время рождественских каникул. Ван Россум хотел, чтобы его язык был лаконичным, уникальным и немного загадочным. Если рассматривать логотип Python «две змеи», можно подумать, что Python назван в честь огромных питонов.
Но на самом деле, находясь в «слегка непочтительном настроении», Гвидо назвал его в честь «Летающего цирка» Монти Пайтона, британского комедийного сериала 70-х годов. Оказывается, он был большим его поклонником и в то время почитывал сценарии шоу.
Java
Java был разработан в начале 1990-х в Sun Microsystems как часть Green Project. Создание нового языка даже не было целью проекта: Java был создан, потому что разработчикам был нужен независимый от процессора язык, который располагал бы большей частью возможностей C++, но с которым было бы проще работать. Сверхсекретная Green Team была сформирована для создания «следующей технологической волны» за пределами ПК, устройства *7, которое, как они считали, станет интерактивной бытовой электроникой с цифровым управлением (предшественником «умных устройств»).
Устройство выглядело так
Первоначально Java была названа Oak (рус: дуб) в честь дерева за окном одного из разработчиков. Однако, когда юристы Sun определили, что товарный знак Oak уже зарегистрирован кем-то другим, Green Team провела мозговой штурм за чашечкой кофе и было придумано название Java. Они хотели выбрать имя, которое отражало бы суть языка: «динамичного, революционного, живого и веселого». После встречи, которая была описана как «фундаментально сплошное безумие», имя Java казалось идеальным выбором.
И хотя * 7 опережал время, он так и не стал популярным. А вот язык программирования, созданный для него, навсегда вошел в историю.
JavaScript
JavaScript был создан Бренданом Эйхом в 1995 году в Netscape — компанией, стоящей за Navigator, самым популярным веб-браузером того времени. Тогда веб-страницы были полностью статичными, но Netscape хотели, чтобы веб-сайты были динамичными и интерактивными, как те, что существуют сегодня. Испытывая давление со стороны Microsoft Internet Explorer, они наняли Эйха, чтобы тот интегрировал язык сценариев в их браузер.
Netscape хотела создать язык, который был бы простым и легким в использовании. Осознав быстро растущую популярность Java, они представили этот язык как «помощника по написанию сценариев для Java», подобно тому, как Visual Basic был дополнением к C / C ++. Сделав акцент на быстрой разработке и простоте, Эйх позаимствовал большую часть синтаксиса Java и написал первую версию JavaScript всего за 10 дней. Этой версии дали название Mocha.
Когда этот язык впервые интгрировали в Netscape, он назывался LiveScript. Вскоре после этого, Netscape сделала ставку на «Java компаньона». Они стали партнерами Sun, переименовав свой язык в JavaScript и рекламировали его “выезжая” на связи с Java: JavaScript рекламировался как язык сценариев для выполнения небольших клиентских задач в браузере, а Java продвигался как более крупный профессиональный инструмент для разработки функциональных веб-компонентов. На самом деле, название JavaScript возникло в результате маркетинговой уловки Netscape, которые пытались конкурировать с Microsoft.
Семейство C (C, C ++, Objective-C, C #)
Первый язык программирования — Ada, был назван в честь Ады Лавлейс. Вскоре появился язык под названием B, разработанный Денисом Ричи из Bell Labs, который еще позже разработал язык C. Этот язык многие считают первым языком программирования высокого уровня.
C имеет множество расширений, включая C++, Objective-C и C #. Имена C++ и Objective-C говорят сами за себя*, тогда как C# менее очевиден. C # вдохновлен музыкой: знак # (диез) означает, что ноту нужно повысить на полтона. Еще более интересно то, что символ # представляет собой лигатуру из 4+ символов в квадрате 2×2, что идеально подходит, учитывая, что C # является «инкрементом» C++.
*C++ — название указывает на эволюционную природу перехода к нему от C; также «++» — это операция приращения в C.)
Objective-C — т.к. объектно-ориентированный.
Swift
Swift был разработан Apple в 2010 году и выпущен четыре года спустя. Основное влияние на Swift оказал Objective-C. Apple продвигает Swift как быстрый, простой в использовании и безопасный по архитектуре язык. Изначально Swift назывался Shiny, словно они разработали «новую блестящую вещь». У него даже было расширение файла .shiny.
Название Swift в итоге было выбрано, чтобы отразить его скорость — с точки зрения производительности и времени разработки. На логотипе Swift изображена птица, а конкретнее стриж (eng. Swift) — это семейство птиц, известных своей скоростью и ловкостью в воздухе.
Haskell
Haskell назван в честь логика Хаскелла Брукса Карри, известного своими работами в области комбинаторной логики. Фактически, есть язык программирования, названный в честь каждого из его имен: Haskell, Brook и Curry.
С его именем связаны парадокс Карри и соответствие Карри — Ховарда, а также функциональная операция «каррирование», широко используемая в языках программирования.
Интересным аспектом Haskell, который редко обсуждают, является его логотип. В логотипе можно заметить символ λ — дань лямбда-исчислению. Однако если посмотреть внимательнее, можно увидеть, что λ “зажата” между > и =. Это происходит от печально известного оператора связывания для монад: >> =. Логотип Haskell — это оператор связывания, переплетенный с λ.
Надеюсь, кому-то было интересно узнать немного больше об истории языков программирования. Мне было очень интересно в процессе изучения этой темы. Некоторые реальные истории происхождения действительно удивили.
Если вы знаете интересные истории происхождения других языков программирования, которые не рассмотрены в этой статье, делитесь в комментариях.
- история языков программирования
- история it
- читальный зал
