Hay muchos lenguajes ahí afuera, con variadas características. Paradigmas, objetivos, plataformas que soportan, performance son cosas que evaluamos al momento de elegir. Los lenguajes son casi una religión en algunos casos, todo programador defiende su lenguaje favorito a muerte, y jamás dejará pasar la oportunidad de echar en cara a sus pares como su amado lenguaje resuelve ese problema de forma mucho más elegante.
Otra característica que tiene que tener un lenguaje para ser "importante" es tener una comunidad que lo respalde. Nadie quiere usar un lenguaje que conocen solo los 3 desarrolladores en la cima de un pico Ballmer, que lo inventaron el fin de semana pasado. Ni siquiera otras implementaciones que no sean la de referencia suelen ganar una masa importante de usuarios.
Pero, cuál es el lenguaje más importante? Y qué criterio se puede utilizar para decidir cual es?
Podríamos usar la popularidad, y en seguida nos vienen varios lenguajes a la mente...
C, el lenguaje de lenguajes, si estas usando cualquier cosa que tenga software es 100% seguro que algo de lo que está fue escrito en C, o al menos compilado con un compilador hecho en C (si, gcc es MUY usado). C nos permite comunicarnos muy bien con las máquinas que tengan la arquitectura de von Neumman, que son prácticamente todas, en un lenguaje de un nivel MUCHO más alto que assembler sin perder performance. Pero, C es un arma de doble filo, tanta libertad nos permite periódicamente dispararnos en los pies, por lo que no es la herramienta adecuada para desarrollar grandes sistemas. No se si será el lenguaje más importante, pero es importante, es bueno saberlo, entenderlo, dominarlo.
C++, voy a resumir este, es C, pero con muchas cosas más, todas muy interesantes, llevaría años llegar a conocer los más oscuros rincones de este monstruo. Con soporte para distintos paradigmas de programación y compatibilidad con C, la sintaxis de este lenguaje se volvió algo demasiado grande, y a mi parecer, fea. Pero, C++ se puede usar como C con clases, lo que es realmente lindo y útil, permite organizar el código mejor y mejorar el manejo del aspecto en el que C si es complejo.
Java, je.. Java. El lenguaje más usado según el ranking de TIOBE y cualquiera que ande prestando algo de atención al mundo de la informática. Voy a ser sincero, no me gusta Java, me parece excesivamente verboso y complicado. Aunque comparado contra C++, para la construcción de sistemas tiene ventajas, el GC es algo bueno cuando los proyectos crecen desmesuradamente y el manejo de memoria se vuelve un caos. Java tiene la característica de que te obliga a escribir mucho código fácil (no requiere que el programador esté pensando) que no hace nada, dando la falsa sensación de productividad. Por otro lado, la plataforma Java (JVM) es muy interesante, y hoy por hoy soporta muchos más lenguajes y provee algunas herramientas básicas de intercomunicación entre estos. También tiene buenas librerías para todo lo que es concurrencia y escala bien según dicen.
Ruby, el juguete oriental que tomó al mundo del desarrollo web por sorpresa con el framework Rails. Ruby es un buen lenguaje, cumple bien su cometido tiene bastante popularidad. Su VM principal tuvo recientemente una gran actualización y tiene su versión sobre la JVM que corre más que bien. Me desagradan los END END END END ENDNENDNENDNDNDeNFNEDNE todo el tiempo, y esas cosas de @ y $ y ::... Creí que ya habíamos superado esas cosas en los lenguajes de alto nivel, pero veo que no.
Python (mi martillo favorito), otro lenguaje de scripting al igual que Ruby, con una completísima librería estándar ("Batteries included"), tiene varias implementaciones siendo CPython la de referencia (Jython, Iron Python, PYPY, stackless son las otras). Es bastante más usado de lo que uno creería. Recientemente tuvo una gran reestructuración pasando a la versión 3.0, donde rompió compatibilidad con sus versiones anteriores de forma maravillosa. Realmente me encantó que la gente detrás de Python halla hecho eso, Python 3.0 es más consistente que 2.x y atacó definitivamente el problema del unicode entre otras cosas. Python tiene muchas cosas excelentes que no podría hacerle justicia en tan pocas oraciones.
Pero, cual de estos es el más importante? Y no estoy mencionando otros pesos pesados como PHP, los lenguajes Microsoft, Javascript.
El lenguaje más importante es el Inglés, SI, el Inglés, English! Te guste o no tenés que saber inglés, no podés andar por la informática sin saber inglés. Quienes no saben inglés son caballos rengos, tienen limitaciones que no pueden superar. La mejor bibliografía está en ingles. Blogs, charlas, tutoriales, screencasts, podcasts, todos en ingles. Foros de ayuda, comunidades de open source, chats, todos en ingles. En proyectos open source, los comentarios, nombres de variables, funciones, clases... adivinaste? Si, todos en inglés.
Así que si te estabas preguntando que lenguaje aprender, ya sabés, mejor que sepas éste antes de seguir con cualquier otro.
sábado, 28 de marzo de 2009
El lenguaje más importante
Publicado por JustPablo en 22:53 0 comentarios
Etiquetas: lenguajes, programación
Suscribirse a:
Comentarios (Atom)