Si los lenguajes de programacion fueran autos


C: es un coche de carreras que va increiblemente rápido pero que cada 50 Km se avería.

C++: es un coche de carreras que tiene de todo con decenas de extras y sólo se avería cada 250 Km, pero cuando lo hace nadie sabe porqué se ha estropeado.

Java: es un coche familiar tipo furgoneta. Fácil de conducir, no demasiado rápido y no te puedes hacer daño.

C#: es un modelo de coche familiar tipo furgoneta que está compitiendo en el mercado. Una vez que lo usas no se te está permitido usar los productos de la competencia.

Ocaml: es un coche Europeo muy sexy. No es tan rápido como el C, pero nunca deja de funcionar y llegas más lejos en menos tiempo. Pero como es francés ninguno de sus controles está en los sitios habituales.

Haskell: es un coche muy bonito con un diseño muy elegante del que existen rumores que se puede conducir sobre terreno extremo. La primera vez que lo intentas conducir no va digamos por la carretera; en vez de eso, crea copias de si mismo y la carretera, y en cada copia sucesiva de la carretera el coche se encuetra un poco más adelante. Se supone que se puede conducir de una manera más convencional, pero no sabes suficiente matemáticas para averiguarlo.

[Otra versión:]

Haskell: no es realmente un coche; es una máquina abstracta a la que le pasas una descripción detallada sobre como conducir si fueras a hacerlo. Tienes que meter la máquina abstracta dentro de otra máquina (real) para poder realmente conducir. Se supone que no debes preguntar cómo funciona la máquina real. También hay una manera de coger múltiples máquinas abstractas y hacer una única máquina abstracta que luego metes en una máquina real para hacer varios viajes sucesivos.

Lisp: se parece a un coche, pero tuneándolo lo suficiente lo puedes convertir en un avión o submarino lo bastante funcional.

Prolog: es totalmente automático: le describes qué aspecto tiene tu destino y conduce por ti, pero el esfuerzo necesario en describir la mayoría de destinos es equivalente a conducir hasta ellos.

Perl: se supone que es un coche bastante chulo, pero el manual del conductor es incomprensible. Y aunque llegues a saber cómo conducir tu coche perl, no sabrás conducir el de nadie más.

Python: es un magnífico coche para principiantes; lo puedes conducir sin carnet. A no ser que lo quieras conducir en vías muy rápidas o terrenos peligrosos, puede que no necesites ningún otro coche.

Smalltalk: es un coche originalmente diseñado para gente que estaban aprendiendo a conducir, pero se diseñó tan bien que incluso conductores con experiencia disfrutan conduciéndolo. No es muy rápido, pero puedes cambiar cualquier pieza para dejarlo más a tu gusto. Una excentricidad que tiene es que realmente no lo conduces; le envías un mensaje pidiéndole ir a algún sitio y entonces te lo hace o te dice que no ha entendido lo que le preguntas.

Ruby: es un coche que se creó cuando los coches Perl, Python y Smalltalk chocaron los 3 juntos. Un mecánico japonés encontró las piezas y montó un coche que muchos opinan que es mejor que la suma de sus partes.

Erlang: son unos cuantos coches que cooperan para llevarte dónde quieres ir. Lleva un poco de práctica saber conducir con un pie en cada uno de los varios coches, pero una vez aprendes como hacerlo puedes conducir sobre terreno que sería muy difícil hacerlo de cualquier otra manera. Además, como usas varios coches, no pasa nada si algunos fallan por el camino.

Fortran: es un coche primitivo; irá muy rápido siempre y cuando sólo vayas por vías que son perfectamente rectas. Se cree que aprender a conducir un coche Fortran hace que luego sea imposible aprender a conducir cualquier otro modelo de coche.

Cobol: se supone que es un coche, pero cualquier conductor que se respete nunca admitirá haber conducido uno.

Forth: es un coche que te montas tú mismo de un kit. Tu coche no se tiene porqué parecer o comportar como el coche de nadie más, pero un coche Forth sólo se mueve hacia atrás.

Lenguaje ensamblador: es sólo el motor; te tienes que montar el coche tú mismo y ponerle gasolina mientras corre pero si vas con cuidado irá como una bala.

Eiffel: es un coche que incluye a un profesor de autoescuela con acento francés. Te enseñará rápidamente a identificar y aprender de tus errores, pero no se te ocurra discutir con és porqué te insultará y te echará del coche.

Fuente: http://oscarito71.wordpress.com/2008/06/08/si-los-lenguajes-de-programacion-fueran-autos/

En Ingles: http://www.cs.caltech.edu/~mvanier/hacking/rants/cars.html

No hay comentarios: