Python 4 когда выйдет
Перейти к содержимому

Python 4 когда выйдет

  • автор:

Почему будущее не за Python

Сообществу программистов понадобились десятилетия, чтобы по достоинству оценить Python. С начала 2010-х годов он переживает бум — и в итоге превосходит C++, C#, Java и JavaScript по популярности.

Но до каких пор эта тенденция будет сохраняться? Когда Python в конечном итоге будет заменён другими языками и почему это неизбежно произойдёт?

EDISON Software - web-development

Перевод сделан при поддержке компании EDISON.

Мы очень любим и широко используем Python! 😉

Что делает Python популярным сегодня

О популярности Python можно судить по StackOverflow, если смотреть на количество тегов в сообщениях. Учитывая масштаб StackOverflow, это довольно-таки объективный показатель популярности языка.

Упоминаемость на StackOverflow некоторых популярных языков программирования — динамика изменений по годам. Показатели Python неуклонно растут, у конкурентов — снижаются.

В то время как R в течение последних нескольких лет находился на плато, а показатели многих других языков неуклонно снижаются, рост Python кажется неудержимым. Почти 14% всех вопросов StackOverflow помечены как «python», и эта тенденция только растёт. И тому есть ряд причин.

Проверен временем

Python существует ещё с девяностых. Речь не только о том, что у него было предостаточно времени для роста. А также о том, что сформировалось большое и поддерживающее сообщество.

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

Дружелюбен к новичкам

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

Во-первых, нет необходимости указывать тип данных. Вы просто объявляете переменную — из контекста Python поймет, является ли она целым числом, значением с плавающей запятой, логическим значением или чем-то ещё. Это огромное подспорье для начинающих. Если вам когда-либо приходилось программировать на C++, то вы знаете, как это грустно, когда программа не компилируется только из-за того, что где-то вместо числа с плавающей запятой подставлено целое.

И если вам когда-либо приходилось сравнивать код на Python и C++, то знаете, насколько более понятным выглядит Python. Несмотря на то, что C++ спроектирован с учётом английского языка, это весьма сложное чтение по сравнению с питоновским кодом.

Универсален

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

Много чисел, векторов и матриц? NumPy в помощь.
Техническо-инженерные расчёты? Используйте SciPy.
Анализ больших данных? Pandas разберётся.
Машинное обучение, нейронные сети, ИИ? Почему бы не Scikit-Learn?

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

Недостатки Python — и могут ли они похоронить язык

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

Скорость

Питон медленный. Не, ну реально медленный. В среднем задача выполняется в 2–10 раз дольше чем на языках-конкурентах.

Тому есть причины. Во-первых, динамическая типизация — помните, выше мы говорили, что очень удобно, когда не нужно указывать типы данных, как в других языках? Обратной стороной медали является необходимость в использовании большого количества памяти, потому что программе необходимо резервировать достаточно места для каждой переменной, чтобы она работала в любом случае. И память «с запасом» приводит к большему расходованию вычислительного времени.

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

Но, по большому счёту, скорость не имеет решающего значения. Производительные компьютеры и серверы настолько доступны, что речь разве что идёт о долях секунды. Конечному пользователю все равно, загружается его приложение за 0,001 или же за 0,01 секунды.

Область видимости

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

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

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

Лямбда-функции

Несмотря на всю гибкость Python, использование лямбда довольно ограничено. Они могут быть только выражениями в Python, но не операторами.

С другой стороны, объявления переменных и операторы всегда являются операторами. Это означает, что лямбды не могут быть использованы для них.

Это различие между выражениями и утверждениями довольно произвольно и не встречается в других языках.

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

Пробелы и табуляция

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

В других языках, например в C++, для вложенных структур используются фигурные скобки с точкой с запятой. Хотя это может не так красиво и неудобно для начинающих, это делает код более удобным для сопровождения. С ростом проекта значение такого подхода тоже возрастает.

Новые (относительно) языки, вроде Haskell, решают эту проблему: они полагаются на пробелы, но предлагают альтернативный синтаксис для тех, кто хочет обойтись без них.

Мобильная разработка

Поскольку наблюдается массовый переход от настольных ПК к смартфонам, очевидно, что возрастает потребность в надежных языках для создания мобильного ПО.

Но мобильных приложений на Python раз два и обчёлся. Это не значит, что это вообще невозможно — для этого есть пакет под названием Kivy.

Python не был создан для мобильных устройств. Даже если он и может дать приемлемые результаты для решения базовых задач в этой области, лучше всего использовать язык, заточенный под разработку мобильных приложений. Некоторые широко используемые платформы программирования для мобильных устройств включают в себя React Native, Flutter, Iconic и Cordova.

Конечно, ноутбуки и настольные ПК ещё будут использоваться долгие годы. Однако мобильные устройства уже давно превосходят настольный трафик. Можно уверенно утверждать, что изучение Python недостаточно, чтобы считаться опытным всесторонним разработчиком.

Ошибки времени выполнения

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

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

Что может заменить Python в будущем — и когда

На рынке языков программирования появилось несколько новых конкурентов:

  • Rust предлагает тот же протокол безопасности, что и Python — никакая переменная не может быть случайно перезаписана. При этом решена проблема производительности наряду с реализацией концепции владения и заимствования. Согласно StackOverflow Insights, он также входит в число самых любимых языков программирования последних лет.
  • Go отлично подходит для начинающих, как и Python. Это так просто, а поддерживать код еще проще. Интересный момент: разработчики Go — одни из самых высокооплачиваемых программистов на рынке.
  • Julia это очень новый язык, который напрямую конкурирует с Python. Он заполняет пробел в крупномасштабных технических вычислениях: обычно можно было использовать Python или Matlab, выполняя часть задач (подчас — весьма значительную часть) с помощью библиотек C++. Теперь вместо жонглирования двумя языками можно просто использовать Julia.

Упоминаемость на StackOverflow для Go/Rust/Julia — динамика изменений по годам. Показатели пока скромные, но у этих языков устойчивый восходящий тренд.

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

Какой из языков это будет — Rust, Go, Julia или ещё какой-то новый язык будущего — трудно сказать на данный момент. Но, учитывая проблемы с производительностью, которые являются фундаментальными для Python из-за его архитектуры, рано или поздно неизбежное случится.

  • Блог компании Edison
  • Высокая производительность
  • Python
  • Программирование
  • Go

Гвидо ван Россум говорит, что Python 4.0 может никогда не появиться

Гвидо ван Россум (создатель языка программирования Python), Я комментирую несколько дней назад в интервью что Python 4.0 было очень сложно когда-либо увидеть свет, поскольку в настоящее время язык программирования сталкивается с довольно сложной проблемой — переходом с Python 2.0 на Python 3.0,

Он также поделился своими мыслями о других языках, как Rust, Go, Julia и TypeScript. Гвидо считает, что Rust — интересный язык, который почти идеально решает узкие места в управлении памятью. Он добавил, что Го и Джулия имеют большое сходство с их созданием и что команда разработчиков Python учится и вдохновляется различными функциями, реализованными в TypeScript.

Гвидо ван Россум и члены команды Разработка на Python упомянуть, что они не были в восторге от идеи Python 4, усвоив несколько ценных уроков при переходе с Python 2 на Python 3.

«Я не в восторге от идеи Python 4, и никто из основной команды разработчиков не в восторге от нее, так что, вероятно, версии 4.0 никогда не будет, и мы продолжим, по крайней мере, до версии 3.33. Мы усвоили урок Python 3 против 2, поэтому серьезно говорить о Python 4 почти табу. «.

После выхода на пенсию в 2019 году Гвидо ван Россум вернулся в бизнес в ноябре 2020 года на новой должности в Microsoft. и в Twitter я комментирую, что это поможет сделать использование Python еще лучше. Он будет не только в Windows, но и на всех платформах, что должно сделать его более привлекательным и конкурентоспособным. Фактически, в течение последнего десятилетия Python конкурировал с более молодыми языками, которые их создатели и их сообщество считали более современными.

Для Гвидо Rust — «отличный» язык программирования. который заслуживает всего энтузиазма по отношению к нему:

«Для некоторых вещей это звучит как отличный язык. Rust действительно улучшает C ++, в частности, в одной области — элементы управления компилятором гораздо труднее обойти. И, конечно, почти идеально решает проблему выделения памяти. Если вы написали то же самое на C ++, вы не могли быть так уверены, по сравнению с Rust, что у вас есть все распределение памяти и обработка памяти правильно. Так что Rust — интересный язык », — сказал он.

Кроме того, по сравнению с C ++, Rust — новичок в мире программирования, и многие разработчики неохотно проявляют к нему интерес. Однако в последние годы его начали внедрять в крупных отраслевых проектах.

Таков пример сообщества Linux, которое в течение некоторого времени объявляло о начале разработки частей ядра на Rust.

Со стороны Microsoft в прошлом году она представила свой проект Rust для Windows, призванный предоставить программистам легкий доступ к API-интерфейсам Windows при разработке приложений Rust для Windows. Facebook, Amazon, Apple, Microsoft и другие крупные игроки отрасли недавно объявили, что нанимают разработчиков на Rust.

В конце концов Что касается TypeScript, создатель Python считает, что:

«TypeScript — отличный язык. Возможно, вы заметили, что за последние шесть или семь лет мы добавили в Python необязательное статическое письмо, также известное как прогрессивное письмо », — сказал он.

«Я не знал о TypeScript, когда мы начинали этот проект, поэтому не могу сказать, что этот язык вдохновил нас на то, чтобы начать работу. TypeScript, поскольку он запрыгнул в поезд JavaScript и поскольку Андерс — очень умный парень, TypeScript сделал некоторые вещи, которые Python все еще ждет понимания. Так что сегодня мы определенно ищем примеры на TypeScript. У нас есть ГИС набора текста, где мы обсуждаем расширения синтаксиса и семантики набора текста, а также общую систему типов для Python », — добавил он.

Гвидо сказал, что JavaScript ближе к Python, чем вы думаете, и что команда разработчиков Python черпает вдохновение из улучшений, сделанных TypeScript.

«Иногда мы придумываем новые функции, потому что знаем, что некоторые функции также изначально отсутствовали в TypeScript, затем были добавлены в TypeScript по запросу пользователя и [стали] очень популярными в TypeScript. И теперь мы видим, что мы находимся в такой же ситуации », — сказал он.

«Потому что JavaScript и Python относительно похожи. Намного больше, чем Python и, скажем, C ++, Rust или Java. Итак, мы учимся на TypeScript, и время от времени из моих разговоров с Андерсом кажется, что TypeScript также учится на Python, точно так же, как JavaScript учился на Python в некоторых областях », — заключил Гуидо. Андерс Хейлсберг — датский программист, работающий в Microsoft, и один из великих архитекторов TypeScript.

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Любители Linux » Общие » новости » Гвидо ван Россум говорит, что Python 4.0 может никогда не появиться

Будьте первым, чтобы комментировать

Введение

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

1. Улучшение производительности

Улучшение производительности Python 4.0, направленное на повышение скорости и эффективности выполнения, позволит разработчикам создавать высокопроизводительные приложения.

Основные способы улучшения производительности:

  • Объемная оптимизация. Python 4.0 представляет объемные оптимизации, которые оптимизируют использование памяти, уменьшая объем памяти, занимаемый программами на Python, и повышая общую производительность.
  • Параллельная обработка. Python 4.0 поддерживает параллельную обработку, обеспечивая улучшенную поддержку многопоточности и многоядерных архитектур, позволяя разработчикам использовать весь потенциал современного оборудования.
  • JIT-компиляция (JIT, Just-In-Time — “оперативно”). Внедрение JIT-компиляции в Python 4.0 позволяет динамически компилировать код Python во время выполнения, что приводит к ускорению выполнения и повышению производительности.

2. Новые возможности и улучшения синтаксиса

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

Наиболее ощутимые дополнения:

  • Стиль V — 5. Python 4.0 вводит новое соглашение о стиле, известное как V — 5, которое способствует более чистой организации кода, улучшению читабельности и согласованности в проектах.
  • Стиль UV — 4. Python 4.0 также вводит соглашение о стиле UV — 4, которое фокусируется на простоте и сокращении шаблонного кода, облегчая разработчикам написание и сопровождение программ на Python.
  • Расширенные подсказки типов. Python 4.0 расширяет возможности подсказок типов, позволяя разработчикам предоставлять более точные аннотации типов и обеспечивая лучшую поддержку статического анализа и инструментария.
  • Расширенная стандартная библиотека. Python 4.0 обогащает стандартную библиотеку новыми модулями и функциональными возможностями, предоставляя разработчикам больше инструментов и ресурсов для решения более широкого круга задач программирования.

3. Улучшение опыта разработчиков

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

  • Усовершенствованный инструментарий. Python 4.0 представляет новые и улучшенные инструменты для форматирования кода, линтинга, отладки и тестирования, облегчая разработчикам написание чистого и удобного кода.
  • Оптимизированная упаковка и дистрибуция. Python 4.0 упрощает упаковку и дистрибуцию приложений Python, предлагая лучшую поддержку управления зависимостями, версионирования и развертывания.
  • Сотрудничество в рамках сообщества. Python 4.0 способствует расширению сотрудничества членов сообщества, предоставляя улучшенную документацию, оптимизируя процесс внесения вкладов участников и способствуя созданию благоприятной и инклюзивной среды для разработчиков всех уровней.

Заключение

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

Мы вступаем в эпоху программирования на Python следующего поколения, когда использование Python 4.0 откроет новые возможности для создания эффективных, выразительных и мощных приложений.

Независимо от того, являетесь ли вы опытным разработчиком Python или только начинаете свой путь в программировании, Python 4.0 станет для вас захватывающим скачком вперед, определив будущее Python-разработки на долгие годы.

  • Руководство по модулю Python itertools
  • 10 примеров для изучения модуля JSON в Python
  • Новинка Python 3.10: оператор переключения Structural pattern matching

Читайте нас в Telegram, VK и Дзен

Python 3.9 или нам необходима версия 4.0?

В современном быстро меняющемся технологическом ландшафте быть в курсе новейших языков программирования и их обновлений крайне важно. Python, универсальный язык программирования высокого уровня, является фаворитом среди разработчиков. Python 3.9, последняя версия на момент моего последнего обновления в сентябре 2021 года, предлагает множество усовершенствований. Однако возможность появления версии Python 4.0 вызывает интригующие споры.

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

Например, в Python 3.9 появились операторы объединения для словарей:

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

Будет ли в Python 4.0 более оптимизированная производительность? Или же в нем появится более мощная система подсказок типов для облегчения понимания кода? Пока что Python 4.0 остается диковинкой в мире программирования.

Учитывая приверженность Python к обратной совместимости, обновление с Python 3.9 до Python 4.0 вряд ли вызовет значительные трудности при миграции. Тем не менее, стоит ли вам переходить на Python 4.0 после его выхода, зависит от ваших конкретных потребностей и от того, какие новые возможности предоставляет Python 4.0.

Независимо от того, выберете ли вы Python 3.9 или решите перейти на Python 4.0, когда он выйдет, изучение Python остается бесценной инвестицией. Многочисленные онлайн-платформы предлагают комплексные курсы, рассчитанные на разные уровни обучения.

Возьмем, к примеру, компанию Skypro. Известная своим широким спектром курсов по языкам программирования, включая Python, Skypro помогает учащимся ориентироваться в тонкостях Python и его различных приложениях. Эти курсы посвящены основам Python и таким продвинутым темам, как анализ данных, машинное обучение и веб-разработка.

Python 3.9, благодаря своей читабельности и простоте использования, является чрезвычайно полезным инструментом для разработчиков. Однако, поскольку мы с нетерпением ожидаем выхода Python 4.0 и потенциальных возможностей, которые он может принести, один факт остается очевидным: способность адаптироваться и изучать новые языки программирования и их обновления критически важны в нашем мире, управляемом цифровыми технологиями.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *