Компьютерная программа — список команд (инструкций) для компьютера. Команды могут быть любыми, например:

  • считать информацию с клавиатуры;
  • произвести арифметические вычисления (+, , *, /);
  • вывести информацию на экран.

В каждом компьютере установлено много разнообразных программ. Например, Google Chrome, через которую вы, скорее всего, проходите этот курс, — это программа-браузер. Она позволяет просматривать страницы сайтов в интернете. Программа Skype позволяет совершать звонки и обмениваться мгновенными сообщениями. В конце концов, сама операционная система, будь то Windows, OS X или Linux, тоже программа.

Для создания программ используются языки программирования. Выбор языка программирования, как правило, продиктован особенностями самой программы.

Язык программирования

Язык программирования — набор определенных правил, по которым компьютер может понимать команды (инструкции) и выполнять их. Текст программы на любом языке программирования называется программным кодом.

Языки программирования бывают компилируемые и интерпретируемые. Если программа написана на компилируемом языке (C, C++, Pascal), то перед выполнением её нужно полностью проверить на наличие синтаксических ошибок и уже после этого перевести в понятную для компьютера форму — машинный код. Это делает специальная программа, которая называется компилятором.

Если программа написана на интерпретируемом языке (Python, PHP, Ruby), она не переводится в машинный код целиком. Вместо этого специальная программа, которая называется интерпретатором, идет по коду, анализирует его и выполняет каждую отдельную команду.

Существуют языки программирования, которые совмещают оба подхода (C#, Java). В таких языках код исходной программы сначала компилируется в промежуточный код (байт-код), а уже потом, во время выполнения, переводится в машинный код.

Язык Python

Язык Python разработал голландский программист Гвидо Ван Россум (Guido van Rossum) в 1991 году. Гвидо был фанатом британского комедийного сериала «Monty Python’s Flying Circus», откуда и пришло название языка.

Guido van Rossum OSCON 2006.jpg
Гвидо Ван Россум
Картинки по запросу Monty Python’s Flying Circus
Monty Python’s Flying Circus

Python 2 VS Python 3

Основные версии языка Python – Python 2 и Python 3. Версия Python 2 считается устаревающей, версия 3 — более новой и современной. Почему не откажутся от второй версии? Если коротко, Python 3 не имеет полной обратной совместимости с предыдущей версией, а на Python 2 написано очень много программ. У разработчиков нет возможности переписать всё на новую версию.

В нашем курсе мы будем пользоваться только Python 3 и не будем говорить о Python 2.

Преимущества Python

  1. Это интерпретируемый язык программирования:
    • он не требует отдельного этапа компиляции;
    • программа на языке Python запускается прямо из исходного кода;
  2. Это высокоуровневый язык программирования;
  3. Это платформонезависимый язык:
    • программы на Python можно создавать на разных операционных системах (Linux, Windows, OS X);
    • программы на Python можно запускать на разных операционных системах (Linux, Windows, OS X);
  4. Это open source проект;
  5. Это простой язык;
  6. Это встраиваемый скриптовый язык;
  7. Это динамический язык, что упрощает написание несложных программ;
  8. Для Python существует огромная библиотека классов на любой вкус.

Недостатки Python

  1. Низкая скорость выполнения по сравнению с такими языками, как C и C++;
  2. Динамическая типизация языка — минус при написании сложных программ.

Задачи, решаемые с помощью Python

Python подходит для решения широкого спектра задач. Разобьем их на категории:

  1. Системное программирование. Встроенные в  Python интерфейсы доступа к службам операционных систем делают его идеальным инструментом для создания переносимых программ и утилит системного администрирования;
  2. Графические приложения. Простота Python и быстрота разработки делают его отличным средством создания графического интерфейса. В состав Python входит стандартный объектно-ориентированный интерфейс к GUI API;
  3. Веб-приложения. С помощью дополнительных фреймворков на языке Python (Django, Flask, Pyramid) можно создавать полнофункциональные сайты;
  4. Веб-сценарии. Python поставляется вместе со стандартными интернет-модулями, которые позволяют программам выполнять разнообразные сетевые операции как в режиме клиента, так и в режиме сервера;
  5. Интеграция компонентов. Возможность Python расширяться и встраиваться в системы на языке C++ делает его удобным для описания поведения других систем и компонентов;
  6. Приложения баз данных. В Python имеются интерфейсы доступа ко всем основным реляционным базам данных: Sybase, Oracle, Informix, ODBC, MySQL, PostgreSQL, SQLite и многим другим. С их помощью можно создавать приложения баз данных.

Проекты, в которых используется Python

  1. Компания Google использует Python в своей поисковой системе;
  2. Компании Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm и IBM, используют Python для тестирования аппаратного обеспечения;
  3. Сервис YouTube в значительной степени реализован на Python;
  4. Агентство национальной безопасности (NSA) использует Python для шифрования и анализа данных;
  5. Компании JPMorgan Chase, UBS, Getco и Citadel применяют Python для прогнозирования финансового рынка;
  6. Программа BitTorrent для обмена файлами в пиринговых сетях написана на языке Python;
  7. NASA, Los Alamos, JPL и Fermilab используют Python для научных вычислений.