2012-02-26 8 views
25

¿En qué está escrito el python del lenguaje base? De hecho, hice una búsqueda en Google pero no encontré ningún resultado satisfactorio.Lenguaje base de python

+0

https://wiki.python.org/moin/ PythonImplementations – jfs

Respuesta

50

No se puede decir que Python está escrito en algún lenguaje de programación, ya que Python como lenguaje es solo un conjunto de reglas (como reglas de sintaxis o descripciones de s funcionalidad estándar). Entonces podríamos decir que está escrito en inglés :). Sin embargo, las reglas mencionadas se pueden implementar en algún lenguaje de programación. Por lo tanto, si envía una cadena como "importar esto" a ese programa llamado intérprete, le devolverá "Zen of Python".

Dado que la mayoría de los SO modernos están escritos en C, los compiladores/intérpretes para lenguajes modernos de alto nivel también están escritos en C. Python no es una excepción: su implementación más popular/tradicional se llama CPython y está escrita en C .

Hay otras implementaciones:

  • IronPython (Python que se ejecutan en .NET)
  • Jython (Python se ejecuta en la máquina virtual de Java)
  • PyPy (Una implementación rápida de pitón con un compilador JIT)
  • Stackless Python (Rama de CPython microhilos de apoyo)
+0

Tenga en cuenta que PyPy está escrito en RPython. – Marcin

15

Las fuentes son public. Python está escrito en C (en realidad, la implementación predeterminada se llama CPython).

9

Python está escrito en inglés. Pero hay varias implementaciones:

+1

Actualmente PyPy está escrito en RPython –

+0

No lo sé, pero CPython es de alguna manera la implementación más lenta. http: //blog.dhananjaynene.com/2008/07/rendimiento en comparación-c-java-python-rubí-jython-jruby maravilloso/ – Dewsworld

+0

@JakobBowyer Puede ejecutar PyPy utilizando CPython lo que es perfectamente correcto decir que está escrito en Python. El hecho de que por razones de rendimiento que utiliza sólo un subconjunto de Python es más de un detalle de implementación (pero un detalle muy interesante y la mente torsión). – Duncan

0

te dan una buena idea de si compila pitón de la fuente. Por lo general es gcc que compila las *.c archivos

-2

Para añadir y replantear algunas de las otras buenas respuestas:

El specification for Python (question) está escrito en Inglés, pero se podría escribir en un formal semantics, como Standard ML y Scheme son. Ver Programming language specification.

Hay implementaciones de Python en muchos idiomas, como señaló Gandaro, de los cuales el más rápido no es sorprendente que la CPython original, que está escrito en C.

+0

¿te refieres a "sorprendentemente no" o "no sorprendentemente"? – necromancer

+0

@necromancer me refiero a la primera, es decir, que me sorprende que la aplicación de más rápido no es la implementación de referencia en C. Pero supongo que no es de extrañar que hay gente por ahí que pueden mejorar el rendimiento, ya que no lo hará necesariamente tienen que lidiar con otras limitaciones que la implementación de referencia quiere cumplir. – nealmcb

+1

pensaría que el idioma de la aplicación sería menos relevante que (a) la sofisticación de un compilador dinámico que convierte la alimentación de pitón en código máquina. Este compilador podría estar en cualquier idioma; lo que importa es la calidad de los algoritmos; (b) el código de máquina de ciertas bibliotecas. Python es famoso por las bibliotecas numéricas que no están escritas en Python sino simplemente "pegadas" al entorno; y (c) el punto de referencia; ciertos programas pueden ejecutarse más rápido en una implementación que otros. – necromancer

Cuestiones relacionadas