Hace 6 años | Por ccguy a github.com
Publicado hace 6 años por ccguy a github.com

¿tienes la sensación de no hacer otra cosa que copiar y pegar de stackoverflow? Vamos a ir un paso más alla. "from stackoverflow import quick_sort" busca en dentro de Python el trozo de código más largo para quicksort que compile sin errores dentro de la pregunta con más puntuación y la respuesta con más puntuación. El módulo autocopiado tiene también propiedades de ____author__ y __license__.

Comentarios

Aitor

Nivel: Haciendo como que trabajo.

D

#0 que compile sin errores... en Python?

"sin errores sintácticos" sería lo correcto.

D

#2 Python no compila? Y entonces los ficheros .pyc qué son?

D

#3 Bytecode, no código máquina

D

#4 Sí, y? Bytecode "compilado a partir del código fuente".

La expresión que tú calificabas de incorrecta no lo es en absoluto.

Y si tienes algo que objetar, sacamos las pililas y nos las medimos, como buenos programadores discutiendo en un forillo de internet

D

#5 Dejemos la lucha de sables para un flame más jugoso

Técnicamente tienes toda la razón, es correcto decir que el código fuente se "compila" a bytecode. Pero el uso común (aunque técnicamente tenga poco sentido) es el de diferenciar entre "interpretado" (como en CPython) que traduce el código fuente al bytecode que ejecuta una máquina virtual y "compilado", en el que un compilador (como sería Nuitka en el caso de Python, o PyPy que es JIT) traduce el código fuente a código máquina con sus optimizaciones y esas cosas bonicas

De ahí que de lenguajes como Python o Javascript cuyas implementaciones más comunes son las interpretadas se suela decir que son "interpretados" y de otros como C o Go "compilados". Aunque desde luego en los interpretados también medie compilación.

Pero vamos, que la línea que los separa es totalmente borrosa y arbitraria. Debería haber dicho "menos proclive a malinterpretaciones" y no "correcto", porque lo otro también lo es.

M

#3 Son bytecode como con los jar de Java.