¿ Cuál es el "mejor" lenguaje de programación ?
Hoy en día creo que no hay "un mejor lenguaje" para aprender.
Dependiendo del proyecto se elige el mejor lenguaje para desarrollarlo, así es que un programador actual debe ser flexible.
Tener conocimientos sólidos en algunos lenguajes, pero ser muy flexible.
El programador de hoy en día tiene que tener los conocimientos necesarios para comprender la implementación algorítmica de procesos según los paradigmas de la programación actual. Y debe complementar esos conocimientos con las competencias y habilidades básicas requeridas para que (en cuestión de un par de días), sepa implementar sentencias básicas en cualquier lenguaje de programacón y al cabo de una semana comprender totalmente un lenguaje.
Siempre es bueno dominar por completo un par de lenguajes (o tres), principalmente porque dominar al 100% un lenguaje da garantía de tener los conceptos básicos que se requieren para conocer en profundidad la comunicación entre el software y el hardware.
Para lograr este objetivo de comprender las comunicaciones entre el soft y el hard, el programador debe usar un lenguaje que esté integrado a un compilador real (no a un intérprete) y que genere ejecutables que no requieran de run-times.
Esto le dará (al finalizar su entrenamiento) una visión integral no sólo de su lenguaje, sino de del modo en el que se implementan mensajes dentro del hardware y de la manera en que la arquitectura de trabajo puede ser "guiada" a través de las instrucciones.
También es importante cuidar el "nivel" de los lenguajes, que pueden ser de nivel alto (alejado del hardware), medio o bajo (muy cercano al hardware). Un lenguaje muy alejado del hardware depende de estructuras de software muy "humanas", que alejan al programador del aprendizaje que favorece entender cómo funciona el bajo nivel del hardware.
Mientras más alto sea el lenguaje, más indefinido es el aprendizaje sobre el hardware.
Hay distintos tipos de lenguajes:
1) De muy alto nivel alejados del hardware (C#, Python, Pascal, FirstBasic, VisualBasic, etc)
2) Lenguajes de nivel intermedio (VisualMasm, PowerBasic, C++)
3) Lenguajes de nivel bajo muy cercanos al hardware (C, Masm, Asic)
4) Lenguajes que trabajan al nivel del firmware (Lenguaje Máquina)
En lo personal, recomiendo a los alumnos dominar C++, Java y Masm porque con esa tríada de aprendizajes tiene una idea muy completa de como operan todos los lenguajes y en diferentes niveles (alto medio, bajo).
Otra tríada que puede implementarse es PowerBasic (por su alto contenido de programación de API's de Sistemas Operativos), Java y VisualMasm.
En mi parecer, Cobol es obsoleto y C# es muy dependiente de su Framework, que a los fines prácticos es un run-time con un mejor "nombre". Se deberían descartar al mismo tiempo cualquier lenguaje que requiera de algún run-time.
Yo soy sólo un profe, pero basta ver las búsquedas laborales actuales para darse cuenta que un programador se especializa en un proyecto más que en un lenguaje en particular. Y en esos proyectos generalmente hay varias herramientas que se implementan y terminan siendo (desde el punto de vista de la programación), conjuntos de códigos híbridos que requieren de una gran carga de documentación.
Aqui le dejo un artículo no tan específico sobre programadores, pero que habla de cómo en el mundo, los empresarios empiezan a darse cuenta que en este mundo hiper-especializado, se requiere personal con habilidades y competencias que son dadas justamente por el conocimiento profundo de las tecnologías en general y no por dominio masivo de conocimientos:
Link a >> https://nation.com.mx/emprendedores/bill-gates-apuesta-la-contratacion-basada-en-habilidades-en-titulos/
No hay comentarios:
Publicar un comentario