Сайт для вивчення мови програмування Python та графічної бібліотеки Tkinter

Чому Python?

XXI століття – період глобальної інформатизації суспільства. Важко уявити сучасне життя без комп’ютера, основою роботи якого є програмне забезпечення. Програмування сьогодні є одним із найперспективніших видів діяльності, адже потреби людства у автоматизації різних процесів невпинно зростають. Крім того, програмування розвиває творчий підхід, логічне мислення та вміння розв’язувати проблеми.

Неабияку популярність у світі програмування здобуває кросплатформність. Кросплатформністьспеціальна властивість вихідного програмного коду, яка дозволяє генерувати виконуваний машинний код (певні програмні модулі, що носять назву «байт-код») для різних обчислювальних платформ при відсутності або незначних змінах до вихідного програмного коду.

Кросплатформність дозволяє суттєво скоротити витрати на розробку нового або адаптацію існуючого програмного забезпечення.

Залежно від засобів реалізації, кросплатформність можна класифікувати так:

  • на рівні апаратної (програмної) платформи;

  • на рівні мов програмування;

  • на рівні середовища виконання.

Апаратні платформи відрізняються один від одного архітектурою центрального процесора і використовуваними шинами зв'язку функціональних блоків. Часто апаратні платформи ототожнюють з брендами-виробниками, які їх виготовляють.

Під програмними платформами розуміють операційні системи, програмні середовища (або комбінацію програмного середовища та ОС) та незалежні від ОС віртуальні машини для виконання байт-коду.

Варто уточнити, що часто апаратні та програмні платформи не розрізняють. Апаратне та програмне забезпечення логічно еквілавентне, оскільки будь-яка операція, виконувана програмним забезпеченням, може бути реалізована апаратним забезпеченням, і навпаки.

Мови програмування, які можна використати для кросплатформної розробки програм, поділяють на три групи:

  • кросплатформні мови на рівні компіляції (компілятор для цієї мови має змогу генерувати програмні модулі в рідному для цільової платформи форматі); мови: C, C++, Free Pascal;

  • кросплатформні мови на рівні виконання (тобто їх виконувані файли можна запускати на різних платформах без попередньої перекомпіляції); мови: Java, C#;

  • кросплатформні інтерпретатори (такі мови програмування мають інтерпретатори для різних платформ); мови: JavaScript, Perl, Ruby, Python.

Розглянемо найпопулярніші кросплатформні мови програмування. Для цього скористаємося індексом TIOBE, який є показником популярності мов програмування. Згідно з даними за січень 2019 року, маємо такі результати, подані у таблиці.

Тобто трійку лідерів представляють Java (16.904%), C (13.337%) та Python (8.294%). Розглянемо також рейтинг мов програмування впродовж 2002 – 2018 років.

Найпопулярнішими виявилися Java та C. Бачимо також тенденцію до спаду популярності мови C++. Слід зауважити, що мова програмування Python завоювала титул «Мова програмування року», оскільки отримала більшість рейтингових балів у 2018 році, якщо порівняти зі всіма іншими мовами. Python тепер безумовно стала частиною великих мов програмування. Протягом майже 20-ти років C, C++ і Java послідовно знаходяться на вершині рейтингу. Проте Python об'єднує ці три мови.

Python ‒ це потужна багатопарадигмова мова комп'ютерного програмування, оптимізована для продуктивності програміста, легкої читаності коду та якості програмного забезпечення. Програмний код мовою Python досить легко читати й писати. І все це завдяки тому, що Python – вельми виразна мова, що дозволяє вмістити код у меншу кількість рядків, ніж це потрібно, наприклад, при використанні інших мов, таких як C++ або Java.

Чому саме Python набуває такої популярності?

· Якість програмного забезпечення. Узгодженість, читабельність коду та якість програмного забезпечення в цілому відрізняє Python від інших інструментів у світі програмування.

· Виробнича продуктивність. Код цієї мови багаторазово перевищує продуктивність такого ж коду, написаного на «компільованих» Java чи С++, наприклад. Він зазвичай становить від однієї третини до однієї п’ятої еквівалентного коду Java чи С++. Простий синтаксис, динамічне введення, відсутність компіляційних кроків і вбудований набір інструментів дозволяють програмістам розробляти програми набагато швидше, ніж з використанням іншої мови програмування.

· Підтримка різноманітних бібліотек.

Python має деякі властивості, що значно доповнюють навчальний процес, дозволяючи складати прості анімації для створення власних ігор, що є надзвичайно цікавим саме для дітей. Вони представлені такими модулями як, наприклад, turtle, openGL та tkinter. Python поєднує об’єктно-орієнтовану, функціональну, процедурну парадигми, що відображає багатство мови та розкриває сфери її застосування. Тим не менш, варто зауважити, що Python часто називають мовою сценаріїв, хоча це визначення не є зовсім коректним. Люди часто використовують слово «скрипт» замість «програма» для опису файлу коду. Проте термін «мова сценаріїв» у даному випадку застосовується для опису простоти мови, яка використовується для швидкого написання коду, порівняно, наприклад, із C++.

Кількість користувачів Python невпинно зростає. Про це свідчать різні статистичні дані, кількість завантажень, веб-статистика, опитування розробників. База користувачів:

· Google широко використовує Python у своїх веб-пошукових системах.

· Популярна служба обміну відео YouTube в основному написана на Python.

· Служба зберігання даних Dropbox створює як серверне, так і настільне клієнтське програмне забезпечення в Python.

· EVE Online – масова багатокористувацька онлайн-гра (MMOG) від CCP Games, яка використовує Python.

· Широко розповсюджена система обміну файлами BitTorrent peer-to-peer почала своє життя як програма Python.

· Компанії Industrial Light & Magic, Pixar та інші використовують Python у виробництві анімованих фільмів.

· JPMorgan Chase, UBS, Getco та Citadel застосовують Python до прогнозування фінансового ринку.

· Інтерфейс користувача для проекту «One Laptop Per Child» («Один ноутбук на одну дитину») був створений у Python.

· Американська компанія ESRI використовує Python для розробки своїх GIS-продуктів.

· iRobot використовує Python для розробки робототехнічних пристроїв.

· Настроювані сценарії гри Civilization IV повністю написані на Python.

· Компанії Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm і IBM використовують Python для тестування обладнання.

· NASA використовує мову Python для програмування у наукових цілях.

І це не весь перелік!

Оскільки Python є кросплатформною мовою програмування, то програми можуть працювати на багатьох платформах, зокрема на таких: системи Linux і Unix, Microsoft Windows, Mac OS, BeOS, OS / 2, VMS і QNX, системи реального часу, такі як VxWorks, суперкомп'ютери Cray та мейнфрейми IBM тощо.