Цього року EuroPython (щорічна Пітон конференція у Європі), що відбувалася у Флоренції, була відкрита Ваном Ліндбергом (Van Lindberg) – головою Python Software Foundation. Він надав ретроспективний погляд на мову Python, а також спробував представити, що ж може бути з нею впродовж найближчих 20-ти років.

Я, на жаль, не зміг відвідати цю чудову подію цього року, тому вичитав опис даної доповіді з цієї англомовної статті: The next 20 years of Python.

Для тих, кому не байдужа доля цієї класної мови програмування (моя улюблена на даний момент :), а також кому просто цікаво, які проблеми вона переживає, чим взагалі живе, я постарався і переклав її нижче на українську мову. Я не професійний лінгвіст, тому перепрошую за неточності, але я старався перенести основний зміст якомога ближче. Надіюся зацікавленим буде корисно!

Отже,

Наступні 20 років мови Python

EuroPython 2013 конференція у Флоренції (Італія) була відкрита доповідею Ван Ліндберга про наступні 20 років Пітона. Ліндберг, юрист з деяким інженерним досвідом, являється головою Python Software Foundation (PSF, Фундація Програмного Забезпечення на Пітоні), а також автором книги Інтелектуальна Власність та ОпенСорс. Його доповідь висвітлила проблеми, з якими стикається Пітон спільнота і ті зусилля, що прикладаються для того щоб гарантувати, щоб Python і надалі залишався привабливою мовою програмування та мав життєздатну спільноту на наступні 20 та більше років.

Філософія дизайну мови Python

Ліндберг почав свою доповідь з ретроспективи останніх 20 років мови. Він описав походження Пітона як мови, що була розроблена невеликою групою людей, які досліджували та розробляли проект початково заради радикальних інновацій. Це привело Гвідо ван Росума (Guido van Rossum, автор мови) до числа цікавих рішень дизайну мови. Одним із них є те, що Ван Росум запозичив ідеї з різноманітних уже існуючих на той час мов, таких як ALGOL 68 та С. Іншим важливим підходом при розробці мови було намагання зробити усі концепції мови на стільки простими на скільки це можливо. А це у свою чергу призвело до повторного використання тих самих концепцій мови знову і знову.

Також Python наслідує філософію операційної системи Unix – роби лише одну річ, але добре! І на кінець, перфекціонізм є ворогом доброго, саме тому “достатньо хороший” переважно є якраз те, що нам розробниками потрібно у нашій роботі. Обрізати краї дозволено, адже ви можете у будь-який момент повернутися і покращити обрізане місце пізніше. Ліндберг підсумував, що Ван Росум “зробив багато правильних рішень на самих початках розробки мови”.

Також Ліндберг зауважив, що Гвідо успішно створив спільноту навколо Пітона. Чотири фактори були критичними для успіху Пітона у той час:

  1. Пітон була чудовою мовою, це була обов’язкова умова, адже інакше немає навколо чого збирати людей і бігти з ними далі
  2. Ван Росум вибрав open source ліцензію навіть ще перед тим, як придумали термін “open source
  3. автор мови заохочував до гумору, даючи їй ім’я популярного на той час серіалу Monty Python
  4. і на кінець – Python мав відчуття цінностей

Цінності мови, полягають зокрема у тих відмінностях, що відрізняє її від багатьох інших мов програмування. Під час доповіді Ліндберг запитав аудиторію, чи знають вони про “import this“. Це являється Пасхальним Яйцем в Пітоні, яке показує Дзен мови Пітонкеруючі принципи дотримані мовою. Навідміну від мови Perl, яка гордо заявляє що у ній є більше ніж один шлях зробити щось, Пітон заохочує певний визначений стиль програмування. Це якраз і є відображено в Zen of Python, який каже, що повинен бути один – і бажано єдиний – очевидний шлях щось зробити.

Проблеми Пітон Спільноти

Ліндберг наголошував, що Python – це визначна історія успіху. Є сотні тисяч, можливо навіть мільйони людей, які використовують Пітон у своїй роботі. Python є широко поширеною мовою – він став де-факто стандартом в кіно та анімаційних індустріях, перегянає Perl в біоінформатиці, і являється мовою, на якій написані дві передові клауд платформи. Пітон також є визначним гравцем в освітній галузі, що накінець заміняє мову Java, як початкову мову для вивчення в багатьох університетах.

Незважаючи на успіх, Python стикається, як Ліндберг це назвав “проблемами частки на ринку”. Мова Javascript, яка колись була хворобливою мовою, що запускалася лише у бравзері, із суперечливими імплементаціями, тепер опинилася досить серйозним конкурентом у сфері десктопній та серверній, а також особливо у мобільній. Мова Lua все більше використовується у якості мови інтегрованих розширень (embeddable extension language). Ліндберг бачить мову Go як чергового конкурента. Що робить цю мову привабливою так це її можливості паралельного виконання і можливість легко створювати бінарники і просто кидати їх в систему і проганяти. “Чесно кажучи, розгортання є проблемою для нас” – визнав автор доповіді, особливо на таких як мобільні та інші платформи з особливими обмеженнями дискового простору. Ліндберг також згадав мову R, з її статистичними та графічними можливостями, як потенційного конкурента.

Ви можете спитати – чого б це я турбувався про це? А тому, що важливо постійно рости – інакше Пітон може закінчити там, де зараз є Smalltak і Tcl. Доповідач запитав аудиторію – коли хто небудь з них востаннє використовував Tcl? Зазначаючи, що це насправді є просто фантастичні мови, в той же час, Ліндберг визнав, що ці мови вимирають в першу чергу, тому що вони не росли. І мова йде не просто про мову, але також про спільноту навколо неї, яка також може вимерти. Крім того, що Пітон має певні технічні складнощі, ми також спостерігаємо проблеми із масштабуванням Пітон спільноти, і над цим треба працювати. 10-20 років тому було достатньо фокусуватись на програмісті, але в наші дні цього вже не достатньо, і треба докладати додаткових зусиль, щоб формувати цілу культуру навколо програмування.

В Пітон спільноті є щось особливе. Місія PSE (Пітон Фундації) – просувати, захищати та поширювати мову програмування Пітон, і підтримувати та сприяти росту інтернаціональної спільноти Пітон програмістів. Натомість зараз спостерігається певне старіння Python спільноти, і певні дії повинні бути застосовані, які нададуть притік нової крові в спільноту впродовж наступних 20 років. Якщо ми не будемо будувати і збільшувати спільноту – вона зникне.

Великі зміни грядуть

У доповіді було наголошено три області, на яких Пітон Фундація зараз фокусується, щоб збільшувати спільноту навколо мови. Першою такою областю є так званий Код Поведінки (або Код Супроводження), який PSF розробила і приняла у квітні. Zen of Python був важливим у визначенні Пітона, але він фокусувався на програмному коді. А Код Поведінки (Code of Conduct), з іншої сторони, описує те, якою повинна бути Пітон спільнота – вона повинна складатися з людей з усіх куточків світу, з різноманітним набором навиків. Член Python спільноти – це відкрита, тактовна, ввічлива людина. Відкрита до співпраці, конструктивної критики, і сприяє середовищу, в якому кожен може взяти участь. Код Поведінки підсумовує найкращі і найсильніші сторони Пітон спільноти. Згадуючи Python як мову з уже включеними батарейками, доповідач підсумував, що Пітон є мовою з уже включеною у ній спільнотою 🙂

Другою областю, на якій на даний момент фокусується PSF – це освіта. Так як ми всі з часом стаємо старшими, ми повинні думати про те, де і як втягувати нову кров, нове покоління до Пітон спільноти. Ліндберг розповів історію Сема Бергера (Sam Berger), 11-річного хлопця з Південної Африки, який відвідав Пітон Конференцію та прийняв участь в навчальних курсах професійного рівня. Це є ілюстрацією того, звідки наступне покоління Пітон лідерів приходить до нас. Для того, щоб заохочувати молоде покоління, PSF підтримує ініціативи з пропаганди молодих кодерів, такі як організація навчальних онлайн Пітон курсів для дітей. Також Ліндберг дуже підтримує проект Raspberry Pi.

І на кінець, PSF фундація змінюється сама для того, щоб краще підтримувати Пітон спільноту. Вона працює над новим веб-сайтом (попередній перегляд доступний за адресою preview.python.org). Основна задача нового сайту – це зробити його місцем збору Пітон спільноти. Також новий сайт буде краще представляти інтереси спільноти, також вирішувати проблеми людей, такі як вивчення та викладання мови. Також Ліндберг скаржився, що на даний момент фундація не є достатньо широкою і різноманітною. Членство у фундації на даний момент вимагає номінації від існуючого члена, але Ліндберг вірить, що кожен член Пітон спільноти має бути також членом Пітон Фундації. У квітні цього року PSF проголосувала за те, щоб повністю переробити і оновити програму фундації, щоб зробити членство більш відкритим для усіх. Базова версія членства буде доступна для більшості людей з Пітон спільноти, а от для того, щоб мати права голосувати за нововведення у мові, потребуватиме додаткових привілеїв. Ці привілеї надаватимуться базуючись на вкладі кандидата у Пітону мову та спільноту: дописування коду, документації, тестів, чи організація Пітон подій.

Ліндберг завершив свій виступ словами “Пітон Фундація змінюється для того, щоб стати вашим справжнім домом”. І це буде однією з найбільших змін в Пітон Спільноті з часів її формування, згідно слів Ліндберга, і все це заради наступних успішних 20 років для мови Python.

Я від себе лише хочу додати, що у будь-якій мові програмування, чи то технології, спільнота відіграє вирішальну роль. І навіть для ідеяльної технології – часи злічені, якщо спільнота розпадається. Тому, якщо ви ще не вважаєте, або не відчуваєте себе членом тої спільноти, технологію якої використовуєте, негайно змінюйте ситуацію і займайте активну позицію у ній. Так буде краще і вам, і для тієї мови програмування, технології, яку ви використовуєте.