Python — мультипарадигмальный высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью, ориентированный на повышение производительности разработчика, читаемости кода и его качества, а также на обеспечение переносимости написанных на нём программ. Язык является полностью объектно-ориентированным в том плане, что всё является объектами. Необычной особенностью языка является выделение блоков кода отступами. Синтаксис ядра языка минималистичен, за счёт чего на практике редко возникает необходимость обращаться к документации. Сам же язык известен как интерпретируемый и используется в том числе для написания скриптов. Недостатками языка являются зачастую более низкая скорость работы и более высокое потребление памяти написанных на нём программ по сравнению с аналогичным кодом, написанным на компилируемых языках, таких как C или C++.
Библиоте́ка в программировании — сборник подпрограмм или объектов, используемых для разработки программного обеспечения (ПО). С точки зрения операционной системы (ОС) и прикладного ПО, библиотеки разделяются на динамические и статические.
Кроссплатформенность (межплатформенность) — способность программного обеспечения работать с несколькими аппаратными платформами или операционными системами. Обеспечивается благодаря использованию высокоуровневых языков программирования, сред разработки и выполнения, поддерживающих условную компиляцию, компоновку и выполнение кода для различных платформ. Типичным примером является программное обеспечение, предназначенное для работы в операционных системах Linux и Windows одновременно.
JIT-компиляция, динамическая компиляция — технология увеличения производительности программных систем, использующих байт-код, путём компиляции байт-кода в машинный код или в другой формат непосредственно во время работы программы. Таким образом достигается высокая скорость выполнения по сравнению с интерпретируемым байт-кодом за счёт увеличения потребления памяти и затрат времени на компиляцию. Технология JIT базируется на двух более ранних идеях, касающихся среды выполнения: компиляции байт-кода и динамической компиляции.
Сценарный язык — высокоуровневый язык сценариев — кратких описаний действий, выполняемых системой. Разница между программами и сценариями довольно размыта. Сценарий — это программа, имеющая дело с готовыми программными компонентами, которые, однажды загруженные, в своей работе не зависят от дальнейшего наличия / отсутствия подключения к Сети.
KDevelop — кроссплатформенная свободная интегрированная среда разработки. Разработка началась в 1998 году. KDevelop распространяется согласно условиям GNU General Public License.
Lex — программа для генерации лексических анализаторов, обычно используемая совместно с генератором синтаксических анализаторов yacc. Lex был первоначально написан Эриком Шмидтом и Майком Леском и является стандартным генератором лексических анализаторов в операционных системах Unix, а также включён в стандарт POSIX. Lex читает входной поток, описывающий лексический анализатор, и даёт на выходе исходный код на языке программирования Cи.
CUDA — программно-аппаратная архитектура параллельных вычислений, которая позволяет существенно увеличить вычислительную производительность благодаря использованию графических процессоров фирмы Nvidia.
PyQt — набор расширений (биндингов) графического фреймворка Qt для языка программирования Python, выполненный в виде расширения Python.
SCons — инструмент для автоматизации сборки программных проектов, разработанный как замена утилиты make с интегрированной функциональностью аналогичной autoconf/automake. SCons автоматически анализирует зависимости между исходными файлами и требования адаптации к операционной системе исходя из описания проекта, и генерирует конечные бинарные файлы для установки на целевую ОС.
Автоматизация сборки — этап процесса разработки программного обеспечения, заключающийся в автоматизации широкого спектра задач, решаемых программистами в их повседневной деятельности.
Раскрутка компилятора — метод создания транслятора для некоторого языка программирования, при котором транслятор пишется на том же языке программирования; создание транслятором исполняемых файлов из исходного кода самого транслятора. Используется для переноса трансляторов на новые платформы. Появился в середине 1950-х годов. Позволяет создать транслятор, который генерирует сам себя. Применялся для создания трансляторов многих языков программирования, включая языки «Бейсик», «Алгол», «Си», «Паскаль», ПЛ/1, Factor, Haskell, «Модула-2», «Оберон», OCaml, Common Lisp, Scheme, Java, Python, Scala, Nemerle и другие.
— интерпретатор языка программирования Python. PyPy в начале своего существования был интерпретатором Python, написанным на Python. Текущие версии PyPy транслируются из RPython в Си и компилируются. В PyPy встроен трассирующий JIT-компилятор, который может превращать код на Python в машинный код во время выполнения программы.
Cython — язык программирования, упрощающий написание модулей С/C++ кода для Python. Кроме стандартного синтаксиса Python, поддерживаются:
- прямой вызов функций и методов C/C++ из кода на Cython;
- строгая типизация переменных, классов, атрибутов классов.
QGIS, первоначально известная как Quantum GIS — свободная кроссплатформенная геоинформационная система, состоящая из настольной и серверной части:
- QGIS Desktop — настольная ГИС для создания, редактирования, визуализации, анализа и публикации геопространственной информации. Под «QGIS» часто имеют в виду именно QGIS Desktop.
- QGIS Server и QGIS Web Client — серверные приложения для публикации в сети проектов, созданных в QGIS Desktop, через сервисы, совместимые с OGC-стандартами.
WxPython — обёртка библиотеки кроссплатформенного графического интерфейса пользователя для Python, основой которого является кроссплатформенная API wxWidgets, написанная на языке программирования C++. Одна из альтернатив Tkinter, которая поставляется вместе с Python. Реализована в виде модуля расширения Python. Другие популярные альтернативы — PyGTK и PyQt. Так же, как и WxWidgets, WxPython является свободным программным обеспечением.
Nim — язык программирования со статической типизацией, поддерживающий процедурный, объектно-ориентированный, функциональный и обобщённый стили программирования.
MicroPython — реализация языка Python, написанная на C и предназначенная для выполнения на микроконтроллерах.
Meson — это кроссплатформенная консольная утилита, автоматизирующая процесс сборки программного обеспечения из исходного кода. Meson имеет открытый исходный код и распространяется под лицензией Apache. Основная идея Meson — совершать максимально быструю сборку и не затрачивать ни капли времени на отладку и тестирование, а так же на ожидание начала самого процесса компиляции. Утилита также имеет и более длинное, полное название — «The Meson build system». Но, несмотря на то, что Meson официально позиционируется как система сборки, на самом деле таковой не является, так как в своей основе использует другую утилиту — систему сборки Ninja и ряд некоторых других утилит.
Для Python было разработано огромное количество библиотек: