Ver Mensaje Individual
  #6 (permalink)  
Antiguo 01/07/2011, 18:10
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Que lenguaje es mas eficiente y potente, C# o Python?

Entiendo lo que querés decir con "compilación", pero no se trata de eso.
Te aseguro que la diferencia no tiene que ver con usar 64 o 16 bits para un entero, o usar 1 bit en vez de 8 para un booleano. Por algo Java alcanza velocidades comparables a las de código nativo, a pesar de que usa bastante más memoria.

La verdad es que Python en general es un lenguaje lento comparado con otros de similares características (compilados a código intermedio y ejecutados por una máquina virtual) como los basados en .NET o JVM. En parte esto es debido a que no tiene un compilador JIT, y por eso se intenta correr el lenguaje en otras plataformas además del intérprete oficial cpython

El asunto está en que, a menos que tengas un requisito muy específico de velocidad, no hace la diferencia: La mayor parte del tiempo un programa está esperando una entrada del usuario, en vez de haciendo algo "útil". Eso no será más rápido aunque programes en ensamblador.

Además, las máquinas virtuales modernas (JVM, .NET) hacen un excelente trabajo para optimizar código, y estoy seguro de que un programa en IronPython correrá a una velocidad similar que uno en C#.

En definitiva mi idea es: aprendé un lenguaje que te guste, y programá pensando en terminar el programa y no en micro-optimizaciones. Si cuando termines resulta que tu programa es lento, echá mano de un profiler y optimizá aquellas partes que valga la pena optimizar.
Si usás pyqt o pyside, tenés a tu disposición un framework excelente (QT) que se ejecuta como código nativo (pyqt/pyside son interfaces Python a las clases de Qt en C++).

Python tiene cosas buenas y cosas malas, no creo que su velocidad de ejecución sea una de las muy malas. Análogo para C#: no creo que su velocidad de ejecución sea una de sus cosas buenas destacables, seguro tiene otras.

Personalmente me gusta python por su sintaxis, su expresividad y sus diferencias con otros lenguajes. Pero bueno, es cosa mía que me parezca genial la sintaxis de generadores, por ejemplo, siempre me he inclinado por las tecnologías fuera de lo común (me gusta también LISP, por ejemplo...)


Saludos.