Articulo de referencia

Pyrex (lenguaje de programación)

{{cite web|url=http://www.gossamer-threads.com/lists/python/python/96585#96585|title=ANN: Pyrex — a language for writing Python extension modules|author=greg at cosc|date=3...

Pyrex es un lenguaje de programación para crear módulos de Python . Su sintaxis es muy similar a la de Python, lo que facilita a los programadores de Python escribir código que no sea compatible con Python para la interfaz de módulos en un lenguaje lo más parecido posible a Python.

Python solo proporciona una API de C para escribir módulos de extensión, lo que permite escribir funciones y tipos de datos en C. Estos pueden ser accedidos desde Python. Es posible encapsular las funciones y los tipos de datos de las bibliotecas de C existentes como objetos de Python y, por lo tanto, ponerlos a disposición de Python. [ 2 ]

Pyrex permite al usuario escribir módulos de extensión en un lenguaje similar a Python que puede acceder directamente al código C externo. La similitud de la sintaxis de Pyrex con la de Python facilita la escritura de módulos Python, pero existen algunas limitaciones funcionales. [ 3 ] El programador debe especificar el nombre de los archivos de cabecera C, las enumeraciones , los tipos de datos y las funciones a las que se debe acceder en el módulo; luego, se pueden usar como si fueran objetos Python. El compilador de Pyrex generará automáticamente el código de conexión necesario y compilará el código Pyrex en un módulo Python funcional.

Existen herramientas como SWIG o la biblioteca de funciones externas de Python, ctypes, que pueden utilizarse para esta tarea sin necesidad de mucho código adicional, pero esto se limita a hacer que una biblioteca externa esté disponible en el código Python. [ 4 ] [ 5 ] Si se necesitan ajustes a la API, el código de conexión debe escribirse manualmente.

Véase también

Referencias

  1. greg en cosc ​​(3 de abril de 2002). "ANN: Pyrex  : un lenguaje para escribir módulos de extensión de Python" . Recuperado el 24 de febrero de 2014 .
  2. Mark Lutz (2006). Programación en Python . O'Reilly Media . pág. 1461. ISBN  9780596554613.
  3. Alex Martelli (2009). Python en pocas palabras . O'Reilly Media . pág. 650. ISBN  9781449379100.
  4. Jang Hyuk Kwon; Thom Dunning; Kum Won Cho; Aurore Savoy-Navarro (2010). Future Application and Middleware Technology on E-Science . Springer US . p. 141. ISBN  9781441917195.
  5. Wesley Chun (2012). Core Python Applications Programming . Prentice Hall . pág. 385. ISBN  9780132678209.
  • Sitio web oficial