Почему Python в конце концов умрет

RedDeveloper
18.04.2023 11:57
Почему Python в конце концов умрет

Последние 20 лет были действительно хорошими для Python. Он прошел путь от "просто языка сценариев" до основного языка, используемого для написания бэкенда большинства веб-приложений, и самого популярного языка на GitHub.

Но последние 3 года уже начали обращать вспять эту тенденцию к росту, и как пожизненный Pythoneer, причина очевидна - статическая типизация, а точнее, наследие динамической типизации.

Динамическая типизация помогает начинающим программистам учиться, не утопая в синтаксисе. Здесь правит Python, как Гвидо ван Россум разработал и руководил развитием языка, создав синтаксис, который читается естественно.

Подсказки типов - это начало, но давайте будем честными; они являются уродливым дополнением.

Но динамическая типизация не подходит для использования в самых простых программах и небольших командах, а также в любых ситуациях, когда неясно, что может содержать объект. Для борьбы с этим питонеры начали использовать докстринги в стиле sphinx для предоставления подсказок типов. В конце концов, в python появилась библиотека Typing, в которой нативно реализованы подсказки типов.

Подсказки типов - это начало, но давайте будем честными: это уродливая примочка. И, без настоящей статической типизации, изолента оказалась на исходе; так как мы собрали вместе такие инструменты, как MyPy и Pydantic, чтобы обеспечить проверку типов и предотвратить проблемы до того, как они попадут в производство.

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

В результате давние Pythoneers постепенно начинают предпочитать другие языки, которые удовлетворяют их потребности в безопасности типов и чистоте кода. Большинство переходит на Go или Rust, хотя лично мне для написания необходимых мне сервисов нравится C# (≥ .NET 6.0 / C#11) и современный C++ (≥ C++ 17).

Важно отметить, что Python здесь не одинок: такой же исход происходит и с JavaScript, где на смену TypeScript приходит TypeScript.

Я не сомневаюсь, что Python выживет, но вопрос остается открытым: Снова ли Python превратится в "просто скриптовый язык", став не более чем инструментом для обучения студентов, или он снова представит себя - на этот раз как более чистый статически типизированный язык - и удержит свою корону.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?

20.08.2023 18:21

Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2023-2024 годах? Или это полная лажа?".

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией

20.08.2023 17:46

В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox

19.08.2023 18:39

Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest

19.08.2023 17:22

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

Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️

18.08.2023 20:33

Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий их языку и культуре.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL

14.08.2023 14:49

Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.