Інтерв'ю з Кирилом Борисовим, який виступить на Moscow Python Conf 12 октябя

Організовувати три айтишных події одночасно з виходом Legion — то ще задоволення. Тим не менш, як прийнято говорити у геймерів, «мани немає — але ми тримаємося». А я продовжую брати інтерв'ю у спікерів, які всього через тиждень розкажуть вам цікаве зі світу Python розробки і, що найважливіше, будуть готові все це обговорити під час численних кави пауз, які я акуратно розставив по всій програмі.

Кирило займається розробкою вже більше десяти років і в даний момент працює над Yandex Passport, використовуючи для роботи виключно Python. Яндекс — компанія немаленька, Passport — не самий простий проект, і Кирилу є що розповісти. Але перш ніж він це зробить, я задав йому десяток підступних запитань, відповіді на які і розташовані під катом. До речі, з попередніми двома інтерв'ю ви можете ознайомитися тут і тут.



Чим тобі довелося займатися як розробнику? Які компанії, завдання, мови програмування і технології? Де зараз використовуєш Python?

Майже все своє життя я програмував «за їжу», тому доводилося писати «віртуальні музеї» на PHP, доробляти військові АСУ на чистому Сі та навіть патчити форуми на замшелом Perl.

Зовсім оголодав від подібного життя, я схопився за першу-ліпшу вакансію розробника і несподівано для себе став програмістом на Python. Далі були найцікавіші 6 років мого життя, які призвели до використання цієї мови в усьому, від робочих завдань до «домашніх» хобі-проектів.

По твоєму досвіду, які сильні і слабкі сторони у Python по відношенню до інших мейнстрім мов програмування в твоїй області?

Перше що приходить на розум — величезна кількість «батарейок», вже створених кимось програмних модулів під ту чи іншу задачу. Навіщо винаходити все з нуля, коли можна знайти все «з коробки» і зайнятися чимось цікавішим? З іншого боку, у цьому морі можливостей нескладно і потонути.

По-друге — дивно доброзичливе, відкрите для людей і нових ідей співтовариство. На Заході це більш помітно за рахунок більшої кількості соціальних подій (ті ж митапы, конференції, хакатон), але і в нас воно нарешті розвиватися.

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

Якщо б ти міг повернутися в минуле, коли Гвідо створював Python, і дати йому один, але будь-яку пораду — про що б ти сказав?

Дуже легко давати поради «заднім числом», все-таки багато вирішення ним приймалися досить виважено і згідно з обставинами того часу. Але я б спробував м'яко натякнути, що треба б ретельніше продумувати систему типів і, можливо, наполягати на їх явну вказівку.

Що ти використовуєш для написання і редагування Python коду?

PyCharm Community Edition розливу 2016 року або PyCharm 5 з fallback ліцензією. Ні, не фанат. Так, просто звик.

Давай пограємо в Нострадамуса. Як думаєш, що стане з Python через кілька років?

Якийсь похмурий геній одного разу збере волю в кулак і створить інструмент для безшовної міграції коду Python 2 на Python 4, який буде з жорсткою типізацією і без GIL.

Але буде готовий до релізу Python 5, з функціональним підходом і зеленими тредами…

Що думаєш з приводу переходу з Python 2 на Python 3? Що-небудь цікаве, з чим ти особисто стикався на практиці?

З кожним роком це питання постає все гостріше, і не в останню чергу завдяки появі більш «смачних» фіч начебто asyncio і type hints. Здається, скоро починати новий проект відразу під Python 3 стане найбільш логічним ходом подій.

Не кажучи вже про те, що виправлень помилок в Python 2 з часом буде все менше.

Якою одна порада ти б дав всім новим розробникам на Python?

Дотримуйтесь Zen of Python!

На якій мові програмування пишеш на роботі крім python? А поза роботою?

На роботі пишу під Андроїд на Java. А поза роботою — хіба що на Rust, для душі.

Порекомендуй яку-небудь книжку, яку прочитав за останній рік, технічну або не дуже.

The Phoenix Project. Дозволяє закріпити розуміння того, що програміст — не єдина ланка в ланцюжку від ідеї до успішної реалізації. :)

Багато хто вважає, що краще всього почати навчатися програмування саме на Python. Твоя думка?

Тут важливо не підміняти поняття — вивчення мови не дорівнює вивчення програмування. Основи програмування можна викласти на будь-якій мові, а використання тільки Python для цих може зіграти злий жарт і затуманити уявлення про низькорівневих процесах в роботі комп'ютера. Якщо коротко — на мій погляд, Python варто розбавити тим же Сі.

Квитки на конференцію

Можна купити на офіційному сайті. Також нагадаю, що післязавтра, 6-го жовтня, я зберу розробників в затишному хакспейсе "СТАЛЬ" на ВДНГ, де ми обговоримо інтеграцію в свої веб і мобільні додатки голосу, відео і месседжинга. За запрошеннями пишіть в приват.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.