Por Ulises Rugel
“Algunos lenguajes de programación logran absorber el cambio, pero soportar progreso.” Alan Perlis.
Thiago es un estudiante universitario de segundo ciclo de la carrera de Ingeniería de Sistemas. Él, como todo aprendiz, busca en la malla curricular los cursos que va a aprender a lo largo de su vida universitaria. Encuentra que hay distintos lenguajes de programación y se siente frustrado al saber que puede aprender muchos, esto le generó una pregunta: si hay tantos lenguajes por aprender ¿debe haber uno de manera universal que me ayude a entender los demás? Ante esta interrogante, es importante conocer acerca de cómo surgió este problema, desde el surgimiento de los primeros lenguajes, desde el posicionamiento que tiene cada uno de ellos hoy en día, saber la rama en que un estudiante se puede especializar para decidir qué lenguaje le conviene más. El caso de Thiago refleja la complejidad de los estudiantes al tratar de escoger qué lenguaje pueden aprender.
En el ensayo se evidenciaron los distintos enfoques que pueda atravesar este problema, de esa manera, poder guiar a los estudiantes a estar dispuestos a seguir aprendiendo todo lo que se nos presente.
Antecedentes e historia de la programación
El mundo se abría a muchas posibilidades de optimizar el tiempo, de ahorrar dinero, de generar más bienes, se veía en un nuevo universo gracias a las tecnologías que se iban creando. Una de ellas fue el lenguaje de programación, fueron muchas personas que influyeron en la creación de este gran invento; su uso fue diverso, facilitó a los matemáticos de ese entonces, generando cálculos de gran escala en poco tiempo. Además, ayudó a distintas naciones en el ámbito de las fuerzas armadas. Por ejemplo, Babbage diseñó y construyó la “máquina diferencial” para cálculos de polinomios, años más tarde creó la “Máquina analítica” con el fin de obtener operaciones matemáticas; Alan Turing diseñó una calculadora llamada “Máquina de Turing”, quien dio impulso a otro gran pionero que fue George Boole, él contribuyó al álgebra binaria y los sistemas de circuitos de computadora.
Todos estos aportes fueron netamente para la satisfacción del ser humano en la ayuda de lograr sus objetivos en las matemáticas. Asimismo, gracias a estos avances tecnológicos los militares se beneficiaron perfeccionando sus armas. En la Moore School de la Universidad de Pensilvania se trabajaba un proyecto que consistía en hacer tablas de tiros, debido a que los cálculos eran enormes, usaron la creación de John Presper y Mauchly para acelerar estos cálculos.
Charles Babbage (1793-1871), con la colaboración de Lady Ada Countess (1815-1852), fueron los pioneros de la creación y ejecución del primer programa de la historia, el Departamento de Defensa de los Estados Unidos (DoD) llamó ADA al primer lenguaje de programación, con la operación y codificación de 0 y 1. No obstante, hubo una oficial de la Marina de Guerra de los Estados Unidos llamada Grace Murray Hopper (1952), quien creó el primer compilador, un programa que tiene la facultad de traducir enunciados parecidos al inglés en barras de códigos binarios para la máquina llamada COBOL (Common Business – Oriented Languaje). Por lo tanto, se dio origen a una nueva tecnología para la humanidad, dejando atrás la codificación del código binario y dando un nuevo comienzo a los programas que se encargan de traducir estas líneas de código, y de esa manera ayudar a las personas a tener el programa listo para ser ejecutado. Expuesto todo lo anterior, cabe mencionar que el significado de lenguaje de programación es un tipo de programa que nos permite comunicarnos con la computadora. Sin embargo, a lo largo de los años han ido solidificando ciertos criterios que lo abarcan.
Paradigmas de la programación
Uno de ellos, son los paradigmas de la programación. Para entrar en contexto, se debe definir el término paradigma como un conjunto de creencias, prácticas y conocimientos que guían el desarrollo de una disciplina durante un periodo de tiempo; consecuentemente, un paradigma de la programación es un estilo de desarrollo de programa, dicho de otro modo, toma parte de un modelo para la solución de problemas computacionales. Estos pueden ser protagonistas de uno o varios paradigmas dependiendo del tipo de orden que se desea implementar.
Por consiguiente, se tomará en cuenta los cinco principales paradigmas. En primer lugar, el imperativo, forma parte de un conjunto de sentencias que cambian su estado. Además, es una cadena de comandos que ordenan acciones a la computadora. En segundo lugar, declarativo, el programa se encarga de describir los resultados esperados sin llevar una lista de pasos. En tercer lugar, lógico, esta se basa en la solución del problema que tiende a realizarse con enunciados de lógica de primer orden. En cuarto lugar, funcional, se busca la implementación de comportamientos que reciben un conjunto de datos de entrada y devuelven un valor de salida. Por último, orientado a objetos, el comportamiento del programa se despliega por objetos, valores que representan elementos del problema a resolver, por ello, forman parte los atributos.
Lenguajes de programación más usados (preferencias de los estudiantes)
Así pues, a lo largo de la historia se crearon muchos nacimientos de lenguajes de programación, unos han desaparecido, otros existen, pero cambiaron con el tiempo, y algunos se mantienen intactos de sus orígenes:
“Si quieres introducirte en este mundo o abrirte a mejores campos laborales, debes conocer cuáles son los mejores lenguajes de programación del 2021 y, así, decidir qué tecnología aprender.” (Castelan, 2021).
En definición, es algo muy simbólico saber dónde escribir la primera línea de código, “Hello Word” es la línea de código que tiende a iniciar todo programador, es una tradición de la programación. Por eso, es necesario conocer acerca de los lenguajes de programación que tienen una posición en la tabla hoy en día:
“Gracias al Octoverse2020, un reporte que lanza GitHub cada año, podemos ver la gran actividad que tuvo la comunidad de desarrollo a nivel mundial. Y qué mejor forma de observar los lenguajes de programación más utilizados, si no es desde los repositorios de su código”. (Castelan, 2021).
Este estudio revela que hay un ranking de 15 lenguajes de programación. Dentro de la lista está JavaScript, Python, Java, TypeScript, C#, PHP, C++, C, Shell, Ruby, Go, Swift, R, Visual Basic, Kotlin. Sin embargo, Python es un lenguaje que ha permanecido en los primeros lugares de la tabla por muchos años, gracias a su código legible y su versatilidad que cuenta para los programadores, se vuelve el favorito. Además, ayuda a la optimización de procesos.
Término anarquista para definir el problema
Es necesario comprender que desde sus orígenes la tecnología siempre ha presentado cierto grado de poder en las naciones. La creación del lenguaje de programación fue dada por una base militar, que en la actualidad es el país con la economía número uno en el mundo. Asimismo, se observa que hay mucha competencia a nivel mundial, los países se pelean constantemente. Sin embargo, hago un hincapié acerca de la definición ‘el anarquismo’, que significa:
“El anarquismo es expresión política de la anarquía, una fuerza cultural para la proliferación de formas humanas de vida”. (Rabin).
Es una fuerza cultural, es decir, todo el mundo lo posee sin limitación alguna. Además, presenta proliferación, en efecto, ha tenido un incremento abismal. Esto mismo sucede con la programación. Se ha presentado desde sus orígenes, gracias a que todas las naciones lo poseen, se tiene la libertad de crear, implementar y usar la tecnología con fines de lucro y sin un control.
“Shift + F6”
De este modo todo lo visto nos lleva a comprender la complejidad del paradigma de la programación. Más allá de la nostalgia que genera la desaparición de algunos programas a raíz de la evolución informática. Por ello, es recomendable tener la mente abierta para aprender, como lo dice Karl Popper “La verdadera ignorancia no es la ausencia de conocimientos, sino el hecho de negarse a adquirirlos”. Por eso, se sugiere a los estudiantes a ser libres del conocimiento, que se adquiera la facultad de aprender los distintos lenguajes que hay en el mundo, sin miedo a que estos programas lleguen a desaparecer en los próximos años.
Asimismo, mientras que el alumno avanza en la carrera es necesario que tenga una idea de la rama en la cual se va a especializar, ya sea en: Base de Datos, Programación, Desarrollo Web o Seguridad informática. Debe indagar lo necesario, buscar cuál es su fuerte, qué es lo que le apasiona, para que no sienta que puede perder el tiempo aprendiendo los distintos lenguajes y tratar únicamente de enfocarse en uno.
Por otro lado, se observa que la tecnología tiende a ser un tema descentralizado, cualquier persona puede crear un lenguaje de programación, de esta forma seguirá incrementando toda la ciencia que existe hoy. Además, puede ser vista como la teoría del caos, un simple cambio puede generar grandes consecuencias y eso se ve con los programas, se crea uno más y todo puede perder el rumbo.
Referencias:
1. Ciberaula (2019). “Historia de la programación”. Consultado el 7 de mayo de 2021. https://www.ciberaula.com/cursos/java/historia_programacion.php
2. Castelan, J. (2021). “Los 15 lenguajes de programación más usados para aprender en el 2021”. Consultado el 3 de mayo de 2021.
https://www.crehana.com/pe/blog/web/lenguajes-de-programacion-mas-usados/
3. Rabin, P. “Computadoras y Anarquismo”. Consultado el 13 de mayo de 2021.
https://webs.ucm.es/info/bas/utopia/html/varios03.htm
4. Ramírez, A. (2018). “¿Por qué hay tantos lenguajes de programación y no uno o dos?” Consultado el 4 de mayo de 2021.
https://es.quora.com/Por-qu%C3%A9-hay-tantos-lenguajes-de-programaci%C3%B3n-y-no-uno-o-dos#:~:text=Existen%20varios%20lenguajes%20de%20programaci%C3%B3n,%2C%20Java%2C%20C%23%2C%20etc.
5. TheBridge (2020). “¿Por qué Python es uno de los lenguajes más usados?” Consultado el 7 de mayo de 2021.
https://thebridge.tech/blog/por-que-python-es-uno-de-los-lenguajes-mas-usados/#:~:text=El%20objetivo%20principal%20que%20tienen,todo%20tipo%20en%20este%20lenguaje.
6. Trigo, A. “Historia y evolución de los lenguajes de programación”. Consultado el 10 de mayo de 2021.
https://www.acta.es/medios/articulos/informatica_y_computacion/034083.pdf
7. 4rsoluciones (2013). ¿Qué son los paradigmas de la programación? Consultado el 26 de abril de 2021.
https://www.4rsoluciones.com/blog/que-son-los-paradigmas-de-programacion-2/
Hello