Языки, на которые повлиял Python[править | править код]
Python, как весьма популярный язык программирования, повлиял на следующие языки:
CoffeeScript имеет синтаксис, вдохновлённый Python[138].
ECMAScript/JavaScript заимствовал итераторы и генераторы из Python[139].
Go, при сильнейших идеологических различиях, заимствовал у динамических языков, таких как Python, встроенные словари, динамические массивы, срезы.
Groovy был создан с мотивацией привнести философию Python на Java[140].
Julia была задумана как «такая же пригодная для общего программирования, как и Python»[141].
Nim использует систему отступов и аналогичный синтаксис[142].
Ruby — Юкихиро Мацумото, создатель языка, сказал: «Я хотел скриптовый язык, который был бы более мощным, чем Perl, и более объектно-ориентированным, чем Python. Вот почему я решил создать свой собственный язык»[143].
Swift во время разработки брал идеи структуры языка из Python, а также из Objective-C, Rust, Haskell, Ruby, C#, CLU[144].
Критика[править | править код]
Низкое быстродействие[править | править код]
Классический Python имеет общий со многими другими интерпретируемыми языками недостаток — сравнительно невысокую скорость выполнения программ[145]. В некоторой степени ситуацию улучшает сохранение байт-кода (расширения .pyc и, до версии 3.5, .pyo), которое позволяет интерпретатору не тратить время на синтаксический разбор текста модулей при каждом запуске.
Существуют реализации языка Python, вводящие высокопроизводительные виртуальные машины (ВМ) в качестве бэкенда компилятора. Примерами таких реализаций может служить PyPy, базирующийся на RPython; более ранней инициативой является проект Parrot. Ожидается, что использование ВМ типа LLVM приведёт к тем же результатам, что и использование аналогичных подходов для реализаций языка Java, где низкая вычислительная производительность в основном преодолена[146]. Однако нельзя забывать, что динамический характер Python делает неизбежными дополнительные накладные расходы при исполнении программ, что ограничивает производительность Python-систем независимо от применяемых технологий. Вследствие этого для написания критических участков кода используются низкоуровневые языки, интеграция с которыми обеспечивается множеством программ и библиотек (см. выше).
В самой популярной реализации языка Python интерпретатор довольно велик и более требователен к ресурсам, чем в аналогичных популярных реализациях Tcl, Forth, LISP или Lua, что ограничивает его применение во встроенных системах. Тем не менее, Python портирован на некоторые относительно малопроизводительные платформы[источник не указан 417 дней].
Do'stlaringiz bilan baham: |