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

в 9:56, , рубрики: django, python, Блог компании Voximplant, любим python, почему python, Программирование, Разработка веб-сайтов

Интервью с Кириллом Борисовым, который выступит на Moscow Python Conf 12 октябя - 1Организовывать три айтишных события одновременно с выходом Legion — то еще удовольствие. Тем не менее, как принято говорить у геймеров, «маны нет — но мы держимся». А я продолжаю брать интервью у спикеров, которые всего через неделю расскажут вам интересное из мира Python разработки и, что самое важное, будут готовы все это обсудить во время многочисленных кофе пауз, которые я аккуратно расставил по всей программе.

Кирилл занимается разработкой уже больше десяти лет и в данный момент работает над Яндекс Паспорт, используя для работы исключительно Python. Яндекс — компания немаленькая, Паспорт — не самый простой проект, и Кириллу есть что нам рассказать. Но прежде чем он это сделает, я задал ему десяток коварных вопросов о разработке, ответы на которые и расположены под катом. Кстати, с предыдущими двумя интервью вы можете ознакомиться здесь и здесь.

Чем тебе довелось заниматься как разработчику? Какие компании, задачи, языки программирования и технологии? Где сейчас используешь 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-го октября, я соберу разработчиков в уютном хакспейсе "СТАЛЬ" на ВДНХ, где мы обсудим интеграцию в свои веб и мобильные приложения голоса, видео и месседжинга. За приглашениями пишите в приват.

Автор: Voximplant

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js