The entire Python community hopes that this will not adversely affect the ecosystem. But this alone is not enough. For example, we consider it important to support the community and, as one of the events, we are holding a large conference called Moscow Python Conf ++. There we can discuss this and other important issues. In the meantime, I’ll partially introduce you to the Program Committee. And he asked them a few questions that will open up their views on the ecosystem and tell people about their professional achievements.
In addition to the title question, I asked this:
- What would you recommend for dependency management?
- What is the best way to do now backend?
- Does TensorFlow still drive for Machine Learning, or is it time to learn something new?
- Why does your juna have to learn python instead of javascript?
- They say that the web backend is no longer needed. Is it so?
- 3.x or 2.7?
- How does a good Python developer differ from a bad one?
Spoiler: The provocation "3.x vs 2.7" failed, the answer is unequivocal. It seems to be too early to refuse the backend, and on what to do it depends on the task - who would have thought.
I also give my answers along with a brief reference, why not.
')
Grigory Petrov is a developer of a wide profile, a technical evangelist of Voximplant and one of the organizers of the MoscowPython community. He likes Python, JavaScript, C ++, web, unit tests and big projects. When he speaks at conferences, he talks about Miller’s Wallet and why writing software is a pain.
- The author of Python no longer leads the development. Will this language make it better or worse?There is an expression: “The collective mind thinks very well, but makes very bad decisions.” I suppose if the developers manage to agree on important decisions to be made by a smaller group of visionaries, this will only benefit the language.
- What would you recommend for dependency management?I am for the time-tested bundle of pip and virtualenv. Now there are a lot of new developments, but I do not see that any of them would be sufficiently stabilized.
- What is the best way to do now backend?Very dependent on the task. If you need to quickly make a one-page website with admin panel and do not need thousands of hits per second, then Django is out of competition. Front end part to taste,
I prefer VueJS . But if you need an API, high load and other interesting things, the range becomes very wide and you need to look at the requirements. What about AIOHTTP?
-
Does TensorFlow still drive for Machine Learning, or is it time to learn something new?As a low-level library, it still steers. Google pours an infinite amount of resources into it, it solves a lot. But good wrappers and high-level libraries are now in the range and you can find something right "for yourself."
- One sentence: why does your junna need to learn Python, and not JavaScript?The world's best documentation.
- They say that in the web the backend is no longer needed. Is it so?Web web discord. A single-page business card can really be assembled using Webpack on VueJS, compile Nuxt and lay out as static on CloudFlare. And for simple work with data GraphQL is great in the direction of Firebase. For something more serious, a full backend is needed. I wrote "serious." I wrote "full". Please put the node back on the shelf. Yes, I love her too, but not yet.
- 3.x or 2.7?If a new project - then definitely 3.x and types. If Legacy - you need to carefully look.
The best solution is not always “let's rewrite everything under the latest versions” . Act on the circumstances.
- How does a good Python developer differ from a bad one?Each programming language is not only syntax and ecosystem, but also its own small world called “as it is accepted here”.
A good Python developer writes in Python. And not on "Java in Python syntax" or "PHP in Python syntax". This is appreciated by colleagues.
Vladimir Filonov is also one of the organizers of the MoscowPython community. Loves Python, Erlang / Elixir, asynchrony and TDD. He likes to dig in the guts of libraries, and then talk about it.
- The author of Python no longer leads the development. Will this language make it better or worse?Of course, the answer is definitely difficult. Guido was the main ideologue of the language. On the other hand, not all his decisions were unequivocal. It seems to me that now everything will depend on whether we, that is, the entire Python community, can build a more efficient strategic decision-making process.
- What would you recommend for dependency management?Locally, I use pip + virtualenvwrapper, but this is more likely by inertia. And so I would recommend pyenv.
- What is the best way to do now backend?And here it depends on what this backend is for.
I always say - language is just a tool.
Not very convenient with the same tool and nails to hammer, and do engraving. Even universal languages ​​(like Python, for example) cope with some tasks better, but worse with others. But, if we talk about the average web backend, then I choose Python in most cases.
-
Does TensorFlow still drive for Machine Learning, or is it time to learn something new?TensorFlow undoubtedly taxis. But it’s not bad to start learning the language Julia =)
- One sentence: why does your junna need to learn Python, and not JavaScript?If you do not go into the debate about architectural maturity, then I would say that
Python is much more elegant syntactically and easier to perceive.
- They say that in the web the backend is no longer needed. Is it so?Well, they say that programmers will soon not be needed - the AI ​​will write the code itself. But so far, both are very dubious concepts.
- 3.x or 2.7?Only 3.x. 2.7 still, of course, will live in projects for many years, but this is already legacy. Therefore, it makes no sense to create something new on a dead-end version of the language.
- How does a good Python developer differ from a bad one?You can answer without Python - how a good programmer is different from a bad one. I think the main thing here is
curiosity . Interest in how this or that technology works. Now the developer is given a lot of everything ready - take and rivet from ready-made blocks. And one of the problems of the industry is that many are satisfied with this riveting, not understanding how the mechanism that they use is arranged. And if you need to take a step away from the examples described in the documentation, then problems begin.
Not all of the Program Committee took part in the blitz survey, some were so busy with applications and preparing reports that they did not have time to answer. Forgive them - for us they try.
Zlata Obukhovskaya has been familiar with the Python ecosystem for ten years, during which time she tried different things: from Data Science to the development of highload projects and leadership teams. He teaches Learn Python, is interested in distributed systems and building technical communities. He likes to talk about the technological culture that should be fueled by strategy.
- The author of Python no longer leads the development. Will this language make it better or worse?Guido did a lot for Python, dedicated his life to it. His work has borne fruit, there are many talented people in the ecosystem with strong vision who are ready to move the language further. Whether they manage to organize and successfully select a direction is an open question. Further development of the language will reveal the potential of the Python community, however this potential may turn out to be.
- What would you recommend for dependency management?Interesting project poetry.
- What is the best way to do now backend?Depends on the task.
- For CRUD applications, this is Django.
- For loaded APIs that work with multiple data sources, these are asynchronous frameworks Tornado, aiohttp.
- For a relatively simple API with a good load, Flask will do.
-
Does TensorFlow still drive for Machine Learning, or is it time to learn something new?It always makes sense to try relatively young and even less adapted frameworks for production, for example, PyTorch. Just to be able to compare design solutions for working with data.
- One sentence: why does your junna need to learn Python, and not JavaScript?Owning Python can learn JavaScript, on the contrary - more difficult.
- They say that in the web the backend is no longer needed. Is it so?Depends on the task. Wherever it is necessary to enrich data online, or the speed of response and the bandwidth of the data source matter, a backend is needed.
- 3.x or 2.7?3.x of course!
- How does a good Python developer differ from a bad one?A good developer always thinks how I can be better tomorrow than yesterday. This applies to development in any language. The level of knowledge and experience is unimportant.
Alexander Hayorov heads the Ingram Micro Cloud development department, loves Python and sneaks in on it. And as far as public clouds are concerned, Kubernetes, Istio and DevOps / SRE practices are passion and an area of ​​unlimited interest.
- The author of Python no longer leads the development. Will this language make it better or worse?Guido said that he was leaving the post of BDFL (Benevolent dictator for life) and this is certainly a significant event for the community. But I do not think that this will adversely affect the development of the language as a whole. I expect the battles around the new PEP will be as stormy.
Show must go on.- What would you recommend for dependency management?Now it is definitely
pipenv , and why and why I recently spoke in detail, watch the video
here .
- What is the best way to do now backend?Definitely on that tool that meets your functional requirements.
Python is very good for a quick start . For more demanding technical cases, there are elegant asyncio and sanic. Django is still good and attracts with a wealth of batteries and a wide community of sympathizers.
-
Does TensorFlow still drive for Machine Learning, or is it time to learn something new?I am a bit far from machine learning, but focusing on industry conversations, TensorFlow is exactly in the cage, although Keras is increasingly mentioned. Theano is again well optimized for a pair of CPU / GPU and convenient for numerical tasks.
- One sentence: why does your junna need to learn Python, and not JavaScript?Not a javascript uniform ...
- They say that in the web the backend is no longer needed. Is it so?Of course, no longer needed, just do not tell anyone about it.
- 3.x or 2.7?There is no doubt:
version 3.6.6 is the crown of creation . Just look at
change log 3.6 and everything falls into place.
- How does a good Python developer differ from a bad one?Pure karma and pragmatic approach to the implementation of the tasks, focus on business logic and biting humor.
Ivan Tsyganov programs in Python, speaks at conferences for programmers and testers. Preparing the largest information security conference in Russia - PHDays. Slowly but surely gathers himself a truly smart home.
- The author of Python no longer leads the development. Will this language make it better or worse?The Python language is no longer young, all processes have long been debugged and work fine. I think that fundamentally nothing will change, because
proven people are at the helm . In any case, Guido watches the process and if madness begins to happen - he will definitely intervene. At least I believe it.
- What would you recommend for dependency management?I'm used to pip, I miss it.
- What is the best way to do now backend?If you want to get a working prototype as quickly and easily as possible - Django, admin out of the box. Then we fasten the
Django REST Framework to it and remake the UI humanly.
And in other cases - it all depends on the task.
-
Does TensorFlow still drive for Machine Learning, or is it time to learn something new?If the Machine Learning topic is interesting, it’s helpful to keep track of everything and try everything new! I, unfortunately, did not come across suitable tasks, therefore I am somewhat far from this area.
- One sentence: why does your junna need to learn Python, and not JavaScript?Because my juna will have to write in python
- They say that in the web the backend is no longer needed. Is it so?How so backend is not needed? This web we do not need this!
- 3.x or 2.7?Only 3, because there is all the most delicious. Yes, and
it's time to say goodbye to the old man 2.7 , he did his job.
- How does a good Python developer differ from a bad one?The desire to learn new things.
On this optimistic note, I invite you to Moscow Python Conf ++ 22 and 23 October. In the program, and new, and curious, and about the language, and about the ecosystem, and about Machine Learning - I will tell everything in order soon, and you can see a list of accepted reports here .