La falacia del lenguaje de programación perfecto.
Desde hace tiempo existe la concepción errónea de que existe un lenguaje perfecto e infalible para todo tipo de escenarios, algunos podrán estar de acuerdo o no con mi opinión pero con riesgo a que me contradigan les quiero contar mi opinión.
Hoy en día existen innumerables lenguajes de programación siendo los más populares hoy en día aquellos enfocados al paradigma orientado a objetos.
Por nombrar algunos nos encontramos con Javascript, Java, Python, C#, Ruby entre otros.
Todos estos tienen sus ventajas y desventajas. A pesar de ello parece ser que una oleada de nuevos programadores se han decantado por empezar utilizando Python o Javascript creyendo que son es la solución definitiva a todos los problemas pero esto dista mucho de la realidad.
Los lenguajes son herramientas
Primero empecemos por entender que los lenguajes son herramientas que nos ayudan a resolver problemas y estos problemas pueden ser más fácil o difícil de ser resueltos dependiendo de la herramienta que usemos, por ejemplo: Imagina que quieres comer una sopa, podrías usar una cuchara puesto que es la opción más obvia, aunque quizá haya quieres prefieran usar un tenedor o porque no, un cuchillo o palillos chinos igual puede que la tarea de comer la sopa se pueda lograr con todos pero ¿cuál sería la mejor opción?
Todas ellas son herramientas que facilitarán en mayor o menos medida llevar a cabo la tarea de consumir la sopa, obviamente la menos óptima en este ejemplo sería quizá los palillos o incluso el cuchillo, esto es porque no fueron creadas con ese propósito.
Lo mismo pasa con los lenguajes de programación, habrá algunos que sean mejores para realizar tareas de Machine Learning, otras que sean muy eficaces con el procesamiento de grandes cantidades de datos en batches (COBOL por ejemplo), algunos más estables y eficaces para desarrollar video juegos como (C o C#) en fin, creo que se entiende el punto.
Hay una frase atribuida a Albert Einstein que dice:
Todos somos genios, pero si juzgas a un pez por su habilidad para trepar árboles, creerá toda su vida que es un estúpido.
Ahora bien esta frase también la podemos aplicar a los lenguajes de programación.
Todos los lenguajes son buenos, solamente que algunos de ellos son mejores para determinadas tareas, al final de cuentas como lo mencionaba al inicio, los lenguajes son herramientas y hay que buscar la más adecuada dependiendo el tipo de problema que queremos resolver.
Experto en todo y nada
Ahora bien este punto quizá sea controversial porque aquí habrá gente que diga que tienes que dominar varios lenguajes y algunos que deberías especializarte, yo soy de los segundos y les diré por qué.
Especializarte en un lenguaje te hará más atractivo para varias empresas podrás conocer las ventajas y desventajas del mismo y a su vez los especialistas son los más demandados.
Ahora bien, ser especialista no significa que no debas de aprender nada más que tu lenguaje favorito, mi recomendación aquí es que siempre se debe tener un conocimiento sólido de las bases, esto te ayudará a que sea mucho más sencillo aprender otros lenguajes o paradigmas conforme lo vayas necesitando, es decir, aprende a aprender, cuanto más rápido nos demos cuenta que las herramientas son solamente sintaxis y palabras reservadas, veremos que lo que realmente importa es la habilidad de desarrollar algoritmos, conocer cómo funcionan las estructuras de control y de datos y tener una buena base de lógica de programación, con esto será más simple trasladar nuestra solución a código independientemente de la plataforma.
Actualmente mi fuerte es Java y Groovy, sin embargo también trabajo constantemente con Javascript, Typescript, Python y Bash siendo estos lenguajes algo en lo que ignoro muchísimas cosas pero que puedo desenvolverme relativamente fácil y hacer switch de mis lenguajes principales a aquellos que conozco muy poco.
Casarse con un lenguaje
Más que casarse con un lenguaje debemos casarnos con la idea de mantenernos en constante aprendizaje, aceptar retos es una de las cosas que hace que esta carrera sea tan emocionante, claro, habrá sus excepciones, tal así que hay personas que prefieren usar un solo lenguaje de programación en su vida y está bien, cada uno tiene un camino y objetivos distintos, pero si quieres llegar a formar parte de los mejores equipos o por que no, fundar tu propia empresa tal vez es tiempo de valorar si realmente casarte con un lenguaje en específico es buena idea.
Muchas gracias por leerme y espero que les haya sido de utilidad, también tengo una canal de YouTube donde hago contenido relacionado a la industria, nos leemos en otra ocasión.