Jump to content

Егор Буркин Python

Python Tech Solutions

Play
Published
Live!

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

Show notes

Python становится все более популярным и в настоящее время входит в пятерку лучших языков программирования. Даже те, кто не знаком с технологиями, используют их регулярно. Хотя он имеет много общих атрибутов с другими языками сценариев, Python также имеет некоторые отличительные характеристики. Он обладает гибкостью, простой структурой, и его код часто называют "питонным" по сравнению с другими типами.

Егором Буркиным, опытным программистом, дана оценка ключевых особенностей пайтон.

Ключевые особенности Python

Python - невероятно удобный и простой язык, который делает понимание и кодирование легким делом. По сравнению с другими высокоуровневыми языками программирования, такими как C++, JavaScript, Java и менее известный Rust, он имеет преимущество с точки зрения четкости и читабельности, которые трудно истолковать неправильно и легко понять. Это, несомненно, проще, чем сборщик.

  1. Пайтон позволяет использовать объектно-ориентированное программирование, которое помогает писать код быстрее и читабельнее. Это также предоставляет многочисленные помощники и приложения для проектирования классов, методов, наследования и инкапсулирования. Благодаря этим методам Python полезен для составления эффективных и кратких программ.
  2. Python имеет характеристики функционального программирования, которые расширяют его диапазон практических применений и делают его менее сложным, более кратким и менее склонным к ошибкам.
  3. Питон - это широко применимый язык, который отличает его от других языков. Как подчеркнул Эгор Буркин, другие языки обычно создаются для решения проблем в конкретных областях, тогда как Python - это невероятно гибкий язык, который может использоваться для целого ряда потребностей программирования.
  4. Python не требует перевода в машинный код, прежде чем его можно будет запустить, в отличие от C или C++. Это позволяет пользователю запустить программу без каких-либо дополнительных шагов. Python может быть скомпилирован компьютером, но этот процесс обрабатывается во время выполнения, и пользователь этого не замечает. Как говорится, в жизни важны мелочи.
  5. По словам Егора Буркина, динамическое печатание является довольно незначительным дополнением для опытных профессионалов, но оно все равно может быть весьма полезным. Вместо того, чтобы явно определять тип переменных, программа будет обнаруживать его автоматически во время выполнения.
  6. Python работает на нескольких платформах, не ограничиваясь одной платформой или операционной системой. Программы, закодированные с помощью Python, могут быть перемещены туда, где разработчик (или клиент) этого требует.

 

Этот набор функций является основной силой Python, что делает его отличным от других языков программирования. В подкасте мы обсудим и другие преимущества, которые может предложить Python. Приятного прослушивания!

Screenshot_139.png

 

At present, Python is one of the most widespread programming languages on the planet. Its success can be attributed to numerous advantages, such as flexibility and ease of use. In this article, along with experienced developer Yegor Burkin, who has 9 years of experience with Python, has held the position of Team Lead in several companies, and has launched his own project — Python Tech Solutions where the language is mentioned, we will explore both the positive and negative aspects of Python. We will also briefly compare it with other programming languages.

The popularity of the Python language is continually growing, and it currently ranks among the top five programming languages. It is widely used, and even those not directly involved in the IT sphere are familiar with it. Python shares many characteristics with traditional programming languages. However, in many respects, it is unique and unparalleled. Python promotes versatility, has a simple syntax, and code that is reminiscent of it is sometimes referred to as "Pythonic."

Experienced developer Yegor Burkin will discuss the main pros and cons of this programming language. But first, let's talk about its distinctive features.

 

Key Features of Python

For a comprehensive analytical understanding of Python's value, it's essential to review its key features. This will help better understand its strengths and weaknesses.

High-level language. This means that Python is convenient for developers to work with and easy to learn. Python is known for its clarity, readability, and syntax that is much harder to get confused with than to quickly understand. Of course, there are other high-level programming languages, including C++, JavaScript, and Java, and a less popular one - Rust (https://www.rust-lang.org/ru). It is indeed easier to work with all of them than with an assembler.

Supports object-oriented programming. This feature speeds up Python code writing and makes it more readable. It also includes various necessary tools and means to create classes, methods, inheritance, and encapsulations. These principles allow the use of Python to create basic utilities and short programs.

Also features functional programming traits. This broadens the scope of Python's application, making the code shorter and reducing the likelihood of errors.

General-purpose language. In a way, as Yegor Burkin notes, Python is quite different from other languages. Most of them were created to solve tasks in specific areas. In contrast, Python is a super versatile language that can be used for a wide range of development purposes.

Interpreted language. A significant difference between Python and, for example, C or C++ (https://en.wikipedia.org/wiki/C%2B%2B) is that it doesn't need to be precompiled. As a result, a programmer can run software without additional intermediate steps. However, Python itself is a compiled language; the process just happens during program execution and remains hidden from the user. As they say, "it's the little things that matter."

Dynamic typing. For seasoned professionals, this feature is nothing more than "syntactic sugar," emphasizes Yegor Burkin. However, in practice, dynamic typing eliminates the need for strict type-casting functions: the variable type is determined automatically during program execution. It's not a key feature, but it's handy.

Cross-platform compatibility. Developing in Python isn't restricted to any single platform or operating system. The finished code can be transferred wherever the developer (or client) needs it.

In essence, this set of features already constitutes the first advantage of Python, making it unique in its kind. Next, we'll discuss other benefits of Python.

 

Advantages of Python according to Burkin:

Simplicity. Sometimes the style of this programming language is even likened to the English language. What does this mean in practice? A beginner developer will find it easier to master, and an experienced specialist will find it easier to understand the work done by colleagues or predecessors working on a project. The minimal effort required for debugging is also noteworthy, so interacting with Python code is usually comfortable.

Gentle learning curve. Compared to Java (https://www.java.com/ru/), Python is genuinely simpler to grasp. The same can be said about comparing it to C. Of course, this is a major plus for beginners, but even experienced developers who are open to learning new things will find this feature beneficial. By the way, as Yegor Burkin notes, Python includes the useful integrated environment IDLE (https://docs.python.org/uk/3/library/idle.html), intended both for development and primary education. This makes learning even simpler.

Versatility of application. A developer working in Python can tackle a wide range of tasks. This is primarily due to the abundance of built-in and external packages. Today, Python is often recommended for software development involving machine learning and artificial intelligence. Still, besides that, Python is great for website construction, game creation, various software, including scientific, corporate, and more. Even if it isn't the perfect choice for a specific task, it can act as a supplementary solution where another primary language, like C++, is used, concludes Yegor Burkin.

An excellent choice for those who need a ready-made solution "for yesterday". Objectively, Python is the right choice for rapid development due to its ease of use and the lack of a need for compilation. It's also worth noting that applications and programs written in Python typically have shorter code than when using other languages. When a project needs to be implemented really quickly, Python should be one of the first options considered.

Portability, in terms of transferring to another system. This is also a significant advantage of Python. The created code can be operational in virtually any system. Since no compilation is required before launch, in theory, any Python program is operational in any system that claims to support this programming language.

No compilation process. This feature of Python is often an added advantage. The compilation process occurs during program execution, invisibly. Therefore, there's no need to use additional intermediaries — compilers (https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80), reducing time and wait periods, and typically no obscure errors pop up. As a result, updating and debugging software is also accelerated and simplified.

Automatic memory allocation. A developer working in Python doesn't need to manually allocate memory. The language handles this autonomously, and the garbage collector autonomously frees up memory from objects no longer in use. Thanks to this feature, the specialist doesn't have to worry about memory leaks and individual actions for its allocation — they can focus entirely on the code.

Many available libraries and other useful tools. Among Python's merits is its extensive library system, meaning users have a rich set of built-in libraries, packages, modules, etc. These tools can be used for web integration, networking, interfacing with equipment, and data processing. Overall, built-in objects speed up programming since many necessary procedures are already written, significantly reducing routine tasks, emphasizes Yegor Burkin.

 

Access to third-party libraries. Besides the built-in objects, Python developers can also use numerous external libraries. Even among free solutions, there are many available. Typically, these third-party objects can be installed using the package manager `pip'. Furthermore, the PyPI catalog (https://pypi.org/) offers a rich selection and the option to upload one's packages.

Absolutely free use and open source. The programming language can be used completely free of charge. It features open-source code, which means anyone can not only work with it but also modify, distribute, etc. This feature slightly reduces the Python development budget.

Separately, a pleasant bonus of this programming language is the vast, active, enthusiastic user base of Python. It's a full-fledged community bringing people together. Through it, one can access educational materials and learning tips, ask experienced specialists to solve a problem, find a job or performers for a new project, and much more.

 

Disadvantages of Python

This programming language indeed has many advantages. They undoubtedly outweigh the disadvantages. However, it's essential not to idealize Python. Certainly, those who have worked with it for many years, like Yegor Burkin, won't. The main disadvantages of Python include:

Not the highest speed. This programming language lags in performance compared to competitors such as R, C, or Java. Due to its dynamic typing and the interpretation of each function, Python is slow. If your top priority is maximum performance, you might want to consider another programming language for such scenarios.

Intensive memory usage. Despite Python's automatic memory allocation, it can't be described as a language that saves memory. In its operation, Python may take up 10+ times more RAM than programs created in more memory-balanced languages. One could say that this "voracious" memory usage is the price for convenience and flexibility. Therefore, the final choice should consider what's more important for you.

Errors aren't detected during program execution. Both simple syntax errors and more complex mistakes, like trying to combine an integer and a string, might go unnoticed.

Python isn't very friendly with databases. Currently, this programming language lacks a robust interface for working with databases, like Java Database Connectivity (https://ru.wikipedia.org/wiki/Java_Database_Connectivity). However, if the volumes of data writing and reading in the database are small, Python can still be used effectively.

No multithreading. Unlike some other programming languages, Python doesn't support full multithreading. Instead, it offers multiprocessor processing, which isn't always practical in real-world scenarios.

 

A consequence of the aforementioned drawbacks is that Python is typically not used for mobile app development. This is primarily due to its low speed and intensive memory usage. It's not accurate to say that there are no mobile applications in Python. This isn't the case, as emphasized by Yegor Burkin. There are specific development tools (frameworks) for this language, but their selection is smaller compared to competing languages. However, Python is quite suitable for backend development. Plus, thanks to its compatibility with other languages, it can be used to create specific components of mobile software.

Another characteristic of Python is its simplicity and convenience. In most cases, this is an undeniable advantage, but sometimes it can be the opposite. When this programming language is tried to be used in an environment not best suited for it, relying solely on its simplicity and convenience, both the working process and the outcome might not meet expectations.

Python is an incredibly widespread general-purpose language with a vast number of applications. Leading digital technology giants such as Facebook, Instagram, Google, Microsoft, Spotify, Instagram, and Uber operate on it. Python is also popular among startups for project development. Such a state of affairs is unlikely to change in the near future - Python has many more advantages than disadvantages, concludes Yegor Burkin.

Episode ratings
Please log in or sign-up to rate this episode.
Буркин Егор
A podcast by Егор Буркин
Єгор Буркін, керівник команди Python Tech Solution у Львові
Episode comments

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
What do you think about this episode? Leave a comment!

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×

Important Information

By using this website, you accept the use of cookies in accordance with our Privacy Policy.