Encontre en varios sitios en la red, comparaciones de diferentes lenguajes de programacion con automoviles. Creo que esto ayudara mucho a tener una idea o noción de lo que cada uno se enfrenta al intentar aprender un nuevo lenguaje. Cada lenguaje en si nos abre una nueva herramienta, que solo puede ser usada apropiadamente si sabemos para que la vamos a utilizar. No tiene mucho sentido aprender un lenguaje por el hecho de conocer algo adicional, si en realidad no sabremos donde utilizarlo. Por ahora, disfruten de esta divertida comparación:
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.
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.
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.
tomado del ingles: http://www.cs.caltech.edu/~mvanier/hacking/rants/cars.html
Y ahora, con cual automovil te gustaria comenzar?...