Categorías > Sistemas Operativos > GNU/Linux > Gnome 3 ...
Nuevo Mensaje | Responder
Sorancio


307 envíos
Desconectado

#21
RE: RE: RE: Gnome 320-06-2010 a las 18:32:26

Citando a CHuLoYo
Citando a SorancioOjo, esto pasa en el 95% de los lenguajes, C, C++, y familia también les pasa esto. Es un gran ejemplo de como un lenguaje interpretado puede hacer más cosas que un lenguaje estático y en consecuencia puede ser más potente.


Puede que sea más versátil porque puedes hacer más cosas, pero la potencia no tiene nada que ver con la versatilidad. Es más, un programa interpretado no puede ser más eficiente que un programa compilado, más que nada por la obviedad misma de que el interpretado está ejecutando simultáneamente el lector y el traductor, a la vez que lee el código máquina resultante. Eso te hace perder el doble de recursos, y por tanto, es la mitad de potente que un programa compilado, en el que ya gastaste suficientes recursos al traducirlo al lenguaje máquina, como para andar chupándolos mientras el programa es ejecutado.

Y perdona si es que esto no tiene nada que ver con lo que tú dijiste, ya que en este post me estoy perdiendo un poco. ¿Estás seguro de que tienes 16 años?


Saludos y qué interesante se está poniendo!

Entramos en un tema magnífico para hacer publicidad de mi lenguaje favorito.

¿Qué es la potencia del lenguaje? Para responder a esta pregunta, primero, tenemos que responder a una más importante. ¿Qué es un lenguaje de programación?

Un lenguaje de programación es un idioma (en la wikipedia pone artificial, pero, ¿Qué idioma no es artificial? ) que sirve para comunicarse con un intérprete objetivamente y que este realice un conjunto de operaciones descritas en el código fuente.

Dicho esto, entonces, ¿qué es la potencia?

Como el lenguaje es una forma de comunicarse, podemos deducir que la potència del lenguaje no es más que la capacidad de decir lo mismo de distintas formas y de amoldarse a lo que quiere decir el programador. No hablo de la salida que ofrece el compilador ya que se traduce a código máquina, que es otro lenguaje. Entonces queda claro que la salida no depende de la potencia del lenguaje.

¿A qué mola todo lo que he escrito? Improvisado . Ahora bien, siguiendo esta lógica aplastante, podemos deducir que el mejor lenguaje es el que sea capaz de extenderse y amoldarse al programador. Ahi entra Lisp. ¡Por algo hicieron las máquinas Lisp! ¡Porque es la hostia!

Entonces, ¿es más potente un lenguaje interpretado que uno compilado? Claramente no, como he dicho, la salida no influye en la potencia del lenguaje. Se podría interpretar C++ tanto como compilar Lisp. Es más, Common Lisp se compila a archivos .fasl que son binarios.

Sigamos con lo nuestro, entonces, ¿un lenguaje que se está interpretando es, por definición, más lento que uno que se ejecuta nativamente? Depende de diversos factores, como el intérprete, la forma de interpretarlo y el código producido en el caso de ser compilado JIT. El código producido en Common Lisp suele ser más rápido que el de C++ optimizando al máximo, tal como hacemos con g++ -O3. ¿Por qué?

Llegamos a la potencia del lenguaje. Las funciones de C++ no son más que eso, para hacer capas de abstracción, tranquilamente necesitaremos decenas de llamadas, desbordando la pila y guardando referencias inútiles. En cambio, las macros de Lisp, generan código en tiempo de ejecución, evitando dichas llamadas superfluas.

Entonces llegamos a la conclusión de que GNOME puede llegar a ser más rápido que KDE siguiendo esta filosofía.

Y sí CHuLoYo, según mi DNI tengo 16 años . Incluso tengo el feisbú.


Responder | Citar | Moderar | Mensaje Privado
1 2 3