Pyrex (язык программирования)

Pyrex — язык программирования, разработанный Greg Ewing[2] около 2002 в целях упрощения создания модулей для Python. Его синтаксис очень близок к Python, что упрощает использование Python-программистами для создания связующего кода. Позже Pyrex стал основой для Cython.

Pyrex
Тип язык программирования
Разработчик Greg Ewing
Написана на Python, C
Операционная система Cross-platform
Первый выпуск 3 апреля 2002 (2002-04-03)[1]
Последняя версия 0.9.9 (12 апреля 2010 (2010-04-12))
Сайт cosc.canterbury.ac.nz/~greg/python/Pyrex/

Ограничения Python

Сам Python предоставляет API-интерфейс для языка Си для написания модулей расширения. Такие модули содержат функции и типы данных из языка Си, к которым также возможен доступ из Python. Также возможно создать «обертки» для функций и типов данных из существующих Си библиотек, чтобы предоставить доступ к ним как к объектам языка Python.

Другие инструменты

Существуют инструменты, например SWIG и библиотека Python "ctypes" (библиотека иностранных функций — foreign fuction library), которые могут использоваться для решения задачи создания межъязыковых интерфейсов, не требуя написания больших объёмов дополнительного кода. Однако их применение ограничивается экспортом набора функций внешней библиотеки для доступа из Python приложений. Если же необходимы корректировки интерфейсах, требуется ручное изготовление конвертирующего кода. Для упрощения этой задачи можно применять Pyrex.

Возможности Pyrex

Pyrex позволяет программисту описывать модули расширения на Python-подобном языке, который может напрямую работать с внешним кодом на языке Си. Сходство синтаксиса Pyrex с Python упрощает создание кода, так как программисту не требуется изучать или знать другой язык (Си или C++) или реализовывать новые Си-интерфейсы. Pyrex может использовать заголовочные файлы на языке Си, типы и значения типов-перечислений, типы данных и структуры, функции. Программист на Pyrex работает с этими элементами в том же синтаксисе, как если бы они являлись Python объектами. Затем Pyrex компилятор генерирует весь необходимый промежуточный (glue) код автоматически и преобразует Pyrex приложение в готовый к использованию модуль Python[2].

См. также

  • Cython — производная от Pyrex.

Примечания

  1. greg at cosc. ANN: Pyrex - a language for writing Python extension modules (April 3, 2002). Дата обращения: 24 февраля 2014.
  2. Make Python run as fast as C with Psyco, 2002  (англ.) = Используйте Psyco, и Python будет работать так же быстро, как и С, 2007  (рус.)

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.