Como elegir el lenguaje de programación adecuado
Si alguna vez te has hecho la pregunta de cuál es el mejor lenguaje que existe, quizás ya te hayas dado cuenta o permíteme decirte en este momento que no existe. Con esto me refiero a que hay diferentes “mejores” lenguajes adecuados para diferentes tipos de proyectos. La pregunta ideal sustituyendo la anterior sería, ¿cuál es el lenguaje que más se adapta a las características del proyecto? Y a partir de ese momento, empezar la investigación, el aprendizaje o el desarrollo del proyecto.
Existen varios tipos de lenguajes, para prototipado, lenguajes de optimización y bajo nivel, lenguajes multiplataforma, etc. Para hacer una comparativa útil, tomaré tres de los lenguajes más utilizados actualmente y diferentes entre sí, los cuales son Java, C++ y Python.
El portátil
Java es un lenguaje multiplataforma orientado a objetos similar a C++, simplificado para eliminar características que causan errores comunes. Debido a su gran cantidad de usuarios, Java tiene un gran número de librerías y componentes.
Java es utilizado mayormente para aplicaciones portátiles, es decir, aplicaciones que se pueden ejecutar en diferentes sistemas operativos.
La portabilidad de Java le permite estar en dispositivos desde celulares Android, Smart TVs, electrodomésticos, entre otros. Java no se compila habitualmente en código nativo, sino en bytecode. Esta estrategia de compilar el código hasta la ejecución de la aplicación mejora la portabilidad de las aplicaciones como lo dice el lema de Java “Write once, run anywhere.”
El óptimo
C++ es un lenguaje muy poderoso. La programación en C++ se realiza a bajo nivel, lo que te permite tener control sobre la manera en que se usan los recursos de una computadora, así que en las manos correctas, su velocidad y habilidad para manejar recursos deben superar a otros lenguajes. Gracias al rendimiento de C++, es comúnmente usado para motores de juegos, juegos y aplicaciones de escritorio. Muchos videojuegos populares fueron programados en C++, por ejemplo, el motor de Doom III, Counter Strike, World of Warcraft, etc.
Este lenguaje es óptimo para aplicaciones comerciales de escritorio, tales como Adobe y Google Chrome que fueron desarrolladas en C++. En el entorno Web cuando se necesita un rendimiento alto, por ejemplo, el buscador de Google está programado en C++.
Una de las desventajas de C++ es que no es tan fácil de mantener. En general, C++ necesita de mucho código, por lo tanto es necesario un equipo de gran tamaño para escalar una aplicación en C++. También, muchas cosas se hacen manualmente, así que es fácil que gente con poca experiencia introduzca errores al código.
El más rápido
Python es un lenguaje para prototipado que es usado mayormente por la comunidad científica para aplicaciones rápidas donde se necesite probar una idea para después si se requiere, optimizarla. Es muy fácil de usar, su curva de aprendizaje es baja y por eso suele ser enseñado para personas recién empezadas en el desarrollo como primer lenguaje de programación. Todo esto le ha dado la popularidad que Python tiene actualmente y gracias a eso cuenta con numerosas librerías que facilitan y hacen aún más rápido el desarrollo.
Python es de la idea de que un desarrollador pasa más tiempo leyendo código que escribiendo, por lo tanto forza a los desarrolladores a escribir código legible fácilmente con su sintaxis. Por ejemplo, Python no cuenta con corchetes, la indentación en este lenguaje es muy importante.
Los proyectos suelen ser realizados en Python o se utiliza el lenguaje como parte de otro framework. Los proyectos en los que se decide desarrollar con este lenguaje son: páginas web, proveer acceso a bases de datos, desarrollo de interfaces gráficas de usuarios para aplicaciones de escritorio, juegos, entre otro software.
Tabla comparativa
La siguiente tabla muestra detalles sobre los lenguajes de los que hablamos previamente:
Conclusión
Ahora ya saben, la siguiente vez que se pregunten cual es el mejor lenguaje de programación recuerden bien siempre empezar revisando las características del proyecto y después la selección del lenguaje.
Tomen en cuenta y como resumen les digo que un lenguaje de programación no hace al desarrollador sino el desarrollador hace al lenguaje.