📜 ⬆️ ⬇️

Interview with Kirill Borisov, who will speak at Moscow Python Conf on October 12

It’s still a pleasure to organize three IT events at the same time as Legion is released. Nevertheless, as they say in gamers, "there is no mana - but we hold on." And I continue to interview the speakers, who only a week later will tell you interesting things from the world of Python development and, most importantly, they will be ready to discuss all this during numerous coffee pauses, which I carefully arranged throughout the program.

Kirill has been developing for more than ten years and is currently working on Yandex Passport, using only Python for work. Yandex is a big company, Passport is not the easiest project, and Kirill has something to tell us. But before he does, I asked him a dozen treacherous questions about the development, the answers to which are located under the cat. By the way, you can familiarize yourself with the previous two interviews here and here .

What did you do as a developer? What companies, tasks, programming languages ​​and technologies? Where are you using Python now?

I have been programming “for food” almost all my life, so I had to write “virtual museums” in PHP, finish the military ACS on pure C, and even patch forums on Perl moss.

Being completely starved of this kind of life, I grabbed for the first available developer job and unexpectedly became a Python programmer. Then there were the most interesting 6 years of my life, which led to the use of this language in everything, from work tasks to "home" hobby projects.
')
In your experience, what are the strengths and weaknesses of Python in relation to other mainstream programming languages ​​in your area?

The first thing that comes to mind is a huge number of “batteries”, program modules already created by someone for a particular task. Why reinvent everything from scratch, when you can find everything out of the box and do something more interesting? On the other hand, in this sea of ​​possibilities it is easy to drown.

Secondly, a surprisingly friendly community open to people and new ideas. In the West, this is more noticeable due to a larger number of social events (the same meetings, conferences, hackathons), but also here it is finally evolving.

Thirdly, the language is surprisingly suitable for “knee-shaped” development, when ideas digging into one's head are prototyped with surprising rapidity. Duck typing, the ability to mutate almost any element of the environment - all this allows you not to stumble on the formalism of many other languages. However, all this is beginning to be somewhat embarrassing when trying to transfer ephemeral prototypes to the world of large-scale implementations and reliably working systems.

If you could go back in time when Guido created Python and give him one, but any advice - what would you say?

It is very easy to give advice in hindsight, after all, many of the decisions they made were quite balanced and in accordance with the circumstances of the time. But I would try to gently hint that we should think more carefully about the type system and, perhaps, insist on their explicit indication.

What do you use to write and edit Python code?

PyCharm Community Edition spill 2016 or PyCharm 5 with fallback license. No, not a fan. Yes, just used.

Let's play Nostradamus. What do you think will happen to Python in a few years?

Some gloomy genius will one day gather a will into a fist and create a tool for seamlessly migrating code from Python 2 to Python 4, which will be hard-typed and without GIL.

But it will be ready for the release of Python 5, with a functional approach and green threads ...

What do you think about switching from Python 2 to Python 3? Anything interesting that you personally encountered in practice?

Every year this question is becoming more acute, and not least due to the appearance of more and more “tasty” features like asyncio and type hints. It seems that soon starting a new project immediately under Python 3 will be the most logical course of events.

Not to mention the fact that bug fixes in Python 2 will decrease with time.

What one advice would you give to all new Python developers?

Follow Zen of Python !

In which programming language do you write at work other than python? And outside of work?

At work I write for Android in Java. And outside of work - except on Rust, for the soul.

Recommend any book that you have read over the past year, technical or not.

The Phoenix Project . Allows you to consolidate the understanding that the programmer is not the only link in the chain from the idea to the successful implementation. :)

Many people think that it is best to start learning programming in Python. Your opinion?

Here it is important not to replace concepts - learning a language is not equal to learning programming. The basics of programming can be taught in any language, and using only Python for these can play a cruel joke and obscure the idea of ​​low-level processes in the computer. In short - in my opinion, Python should be diluted with the same C.

Conference Tickets


You can buy on the official website . I also remind you that the day after tomorrow, on October 6, I will gather the developers in the cozy STAl hackspace at VDNKh, where we will discuss the integration of voice, video and messaging into our web and mobile applications. For invitations, write in private.

Source: https://habr.com/ru/post/311536/


All Articles