The Zen of Python

Що варто знати про одну з найактуальніших мов програмування



    

«Коли мені потрібно створити веб додаток, я використовую Python. Коли мені потрібно автоматизувати невелике завдання моєї системи, я використовую Python. Коли я хочу дізнатись кольори, що найбільш часто використовуються в малюнку, я звертаюсь до Python. Коли я... Ок, я думаю, ви зрозуміли картину. Загалом, коли мені потрібно написати якийсь код і мова програмування не має значення, я використовую Python», — говорить відомий програміст Python і викладач Кеннет Лав.

Python — це мова програмування загального призначення, створена наприкінці 1980х, яка використовується для виконання різних задач: від тестування мікроконтролерів до розробки відеоігор.

Які головні причини популярності використання Python?

Читабельність

Python дуже нагадує англійську мову, використовує такі слова як «не» і «в», що часто дає змогу читати програму чи скрипт вголос комусь, при цьому не справляючи враження, що ви говорите якоюсь секретною мовою. Цьому сприяють і суворі правила пунктуації.

Також Python має ряд правил, відомих як PEP 8, які чітко регламентують, як потрібно форматувати код. Це означає, що розробник завжди знає, коли потрібно починати писати код з нового рядка і, що найголовніше, практично будь-який інший Python скрипт, який ви «братимете», буде виглядати схоже і легко читатиметься не залежно від того, написаний цей скрипт новачком чи професіоналом.

Один з Python розробників сказав: «Той факт, що мій Python код (5 років досвіду) схожий на код Гвідо ван Россума (розробник Python) є класним ego boost».


Бібліотеки

Python’у близько 20 років, тому багато коду існує, відповідно, більше десятка років. Оскільки Python — оупенсорсна мова програмування, багато з того коду використовувалось повторно. Більшість з цього зібрана на сайті pypi.org, більш відомому як «the CheeseShop». Якщо ви використовуєте Python для створення скриптів з параметризованим командним рядком, вам просто потрібно встановити бібліотеку «click» та імпортувати її в ваш скрипт. Існують бібліотеки практично для будь-якого юзкейсу: від маніпуляцій з зображеннями до наукових розрахунків.


Ком'юніті

Python має користувачів по всьому світу, конференції проводяться всюди, окрім хіба що Антарктиди. PyCon NA, найбільша Python конференція в Північній Америці, минулого року продала більше 2500 тисяч квитків на свій івент. Більше третини спікерів конференції були жінки. Крім того, ще з 2013 року PyCon NA проводять воркшопи «Young Coder» для дітей віком 9-16 років, де вони знайомляться з мовою програмування та пишуть прості ігри.

На сайті PyCon можна дізнатись про найближчу Python-конференцію.


Популярність Python невпинно росла впродовж останніх 15 років. І, врешті решт, Python увірвався до топ-5 мов програмування рейтингу Tiobe Index.

Звичайно, якби існувала ідеальна мова програмування, зникли б будь-які суперечки, яка з мов крутіша. Критики Python зазвичай зводять свої аргументи до наступних:

  • Це одна з найповільніших мов програмування
  • В мережі можна знайти багато тестів швидкості програм, написаних на різних мовах програмування. Python зазвичай знаходиться наприкінці списку.

    Говорячи «Python» найчастіше мають на увазі CPython, еталонну реалізацію мови. Проте існують інші реалізації Python, наприклад PyPy, яка по швидкості обганяє не тільки CPython, а й багато інших скриптових мов програмування, і по швидкості близька до Java.

    Для прискорення роботи у «вузьких» місцях багато програмістів пишуть вставки на C або C++.

  • GIL заважає одночасному виконанню кількох потоків
  • Global Interpreter Lock не дозволяє кільком потокам Python виконуватись одночасно. Це особливості CPython. Проте, чи є це недоліком? Варто розуміти, що все залежить від задачі: якщо ваша задача залежить від швидкості вводу-виведення (IO bound task), то ефективнішим буде використання кількох процесів, які будуть працювати в асинхронному режимі з зовнішніми ресурсами. А потоки з загальною пам’яттю більше підходять для обчислювальних задач (CPU-bound). Крім того, завжди можна тимчасова вимкнути GIL.

  • Немає хороших інструментів для дистрибуції
  • На жаль, код на Python, котрий має багато залежностей від системних бібліотек, важко перенести на інші системи. Проте часто цю задачу вирішують за допомогою virtualenv.

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

Python має широке комерційне використання (NASA використовує Python роботи з CAD/CAE/PDM; десятки інженерів Google, Yahoo! Groups і YouTube використовують Python; портал reddit був переписаний на Python в 2005 році).

Крім того, Python був використаний для написання:

  • більше 50 програм (BitTorrent, Blender, Dropbox, Ubuntu Software Center);
  • двох десятків веб додатків (MakeHuman, Mailman);
  • більш ніж 15 відеоігор, серед найпопулярніших: Civilization IV, Battlefield 2, World of Tanks, The Sims 4;
  • більше 40 веб, графічних та UI фреймворків (Bottle, Django, Google App Engine, Soya3D, appJar, Kivy, PySide, Tkinter);

Завдяки збільшенню пул реквестів на 40% в порівнянні з 2016 роком, у 2017 році Python став другою за популярністю мовою програмування на GitHub.

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

До речі, вже незабаром в Avivi Academy розпочнеться курс програмування на Python, який буде цікавий як досвідченим розробникам, так і тим, хто тільки має інтерес до цієї мови.

До зустрічі в Avivi Academy :-)


Як Нас Знайти

Контакти

м. Хмельницький

вул. Подільська, 109

Пiдписатись на Оновлення