Libros sobre diversos lenguajes de programación.
¿Qué es un lenguaje de programación?
Un lenguaje de programación es un lenguaje formal (o artificial, es decir, un lenguaje con reglas gramaticales bien definidas) que le proporciona a una persona, en este caso el programador, la capacidad de escribir (o programar) una serie de instrucciones o secuencias de órdenes en forma de algoritmos con el fin de controlar el comportamiento físico y/o lógico de un ordenador, de manera que se puedan obtener diversas clases de datos. A todo este conjunto de órdenes escritas mediante un lenguaje de programación se le denomina programa.
Por tanto, programar viene a ser el proceso de crear un software fiable mediante la escritura, prueba, depuración, compilación o interpretación, y mantenimiento del código fuente de dicho programa informático. Básicamente, este proceso se define aplicando lógicamente los siguientes pasos:
El desarrollo lógico del programa para resolver un problema en particular.
Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).
Compilación o interpretación del programa hasta convertirlo en lenguaje de máquina.
Desarrollo de la documentación.
Un ejemplo de código fuente escrito en el lenguaje de programación Java, que imprimirá el mensaje "Hello World!" a la salida estándar cuando es compilado y ejecutado.
Los lenguajes de programación están formados por un conjunto de símbolos (llamado alfabeto), reglas gramaticales (léxico/morfológicas y sintácticas) y semánticas, que en conjunto definen las estructuras válidas del lenguaje y su significado. Existe el error común de tratar como sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo HTML (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación, sino un conjunto de instrucciones que permiten estructurar el contenido de los documentos).
El lenguaje de programación permite especificar de manera precisa sobre qué datos debe operar un software específico, cómo deben ser almacenados o transmitidos dichos datos, y qué acciones debe tomar el software bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural. Una característica relevante de los lenguajes de programación es precisamente que más de un programador pueda usar un conjunto común de instrucciones que sean comprendidas entre ellos para realizar la construcción de un programa de forma colaborativa.
Historia
Para que el ordenador entienda nuestras instrucciones debe usarse un lenguaje específico conocido como código máquina, que la máquina lee fácilmente, pero que es excesivamente complicado para las personas. De hecho solo consiste en cadenas extensas de números 0 y 1.
Para facilitar el trabajo, los primeros operadores de ordenadores decidieron crear un traductor para reemplazar los 0 y 1 por palabras o abstracción de palabras y letras provenientes del inglés; este se conoce como lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa add (sumar). El lenguaje ensamblador sigue la misma estructura del lenguaje máquina, pero las letras y palabras son más fáciles de recordar y entender que los números.
La necesidad de recordar secuencias de programación para las acciones usuales llevó a denominarlas con nombres fáciles de memorizar y asociar: ADD (sumar), SUB(restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta secuencia de posiciones se le denominó "instrucciones", y a este conjunto de instrucciones se le llamó lenguaje ensamblador. Posteriormente aparecieron diferentes lenguajes de programación, los cuales reciben su denominación porque tienen una estructura sintáctica semejante a la de los lenguajes escritos por los humanos, denominados también lenguajes de alto nivel.
El primer programador de ordenadores conocido fue una mujer: Ada Lovelace, hija de Anabella Milbanke Byron y Lord Byron. Anabella inició en las matemáticas a Ada quien, después de conocer a Charles Babbage, tradujo y amplió una descripción de su máquina analítica. Incluso aunque Babbage nunca completó la construcción de cualquiera de sus máquinas, el trabajo que Ada realizó con estas le hizo ganarse el título de primera programadora de computadoras del mundo. El nombre del lenguaje de programación Ada fue escogido como homenaje a esta programadora.
A finales de 1953, John Backus sometió una propuesta a sus superiores en IBM para desarrollar una alternativa más práctica al lenguaje ensamblador, para programar la computadora central IBM 704. El histórico equipo Fortran de Backus.
El primer manual para el lenguaje Fortran apareció en octubre de 1956, con el primer compilador Fortran entregado en abril de 1957. Esto era un compilador optimizado, porque los clientes eran reacios a usar un lenguaje de alto nivel a menos que su compilador pudiera generar código cuyo desempeño fuera comparable al de un código hecho a mano en lenguaje ensamblador.
En 1960, se creó COBOL, uno de los lenguajes usados aún en la actualidad, en informática de gestión.
A medida que la complejidad de las tareas que realizaban los ordenadores aumentaba, se hizo necesario disponer de un método más eficiente para programarlas. Entonces, se crearon los lenguajes de alto nivel, como lo fue BASIC en las versiones introducidas en los microordenadores de la década de 1980. Mientras que una tarea tan sencilla como sumar dos números puede necesitar varias instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastará una sola sentencia.
Código Fortran en una tarjeta perforada, mostrando el uso especializado de las columnas 1-5, 6 y 73-80.
Con frecuencia se resaltan los elementos de la sintaxis con colores diferentes para facilitar su lectura. Este ejemplo está escrito en Python.
¿Qué softwares de programación existen?
Por software de programación entendemos el conjunto de todas las herramientas que le permiten al programador, crear, escribir códigos, depurar, mantener y empaquetar los proyectos.
Algunos de los distintos programas por los que pasará el proyecto para gestionarlo son:
Editores de código o texto
Al escribir los códigos se auto-completan marcando los errores sintácticos y la refactorización.
Compiladores
Como mencionados anteriormente, éstos traducen el código ingresado a lenguaje de máquina generando un código binario ejecutable.
Depuradores
Sirven para optimizar el tiempo de desarrollo mediante el monitoreo de la ejecución de un programa, el seguimiento a los valores de ciertas variables, las referencias a objetos en memoria y por ende, nos ayuda a corregir errores.
Enlazadores
Este programa toma objetos generados en los primeros pasos del proceso de compilación y los recursos necesarios de la biblioteca, quita aquellos procesos y datos que no necesita, y enlaza el código con dicha biblioteca para así aumentar su tamaño y extensión.
Interpretadores o traductores
Como leíste en éste artículo, el traductor (o intérprete) carga el código ingresado y traduce las instrucciones para que el programa pueda ser ejecutado.
IDE
El IDE (Integrated Development Environment) o Entorno de Desarrollo Integrado, es una aplicación informática que proporciona una serie de servicios que facilitan la programación de software, tales como:
Funciones de autocompletado.
Un editor de código fuente.
Gestión de conexiones a bases de datos.
Integración con sistemas de control de versiones.
Simuladores de dispositivos.
Un depurador para agilizar el proceso de desarrollo de software, entre otros.
En resumen
Sin el lenguaje de programación, programar sería imposible, debido a que no existirían reglas (tanto semánticas como sintácticas), expresiones (como la estructura y el significado de todos los elementos que los componen) ni una forma establecida sobre cómo deben “hablar” el programador y la máquina.
Además, algunas de las funciones que le permiten a un programador crear este lenguaje son: crear una web y hacerla funcionar o desarrollar aplicaciones para los sistemas operativos, entre muchas otras.
En la actualidad, el conocimiento y uso del mundo digital y de la informática son dos de las principales armas de cualquier empresa.
Tipos de lenguaje de programación
Normalmente se distingue entre los siguientes tipos de lenguaje de programación:
Lenguajes de bajo nivel. Se trata de lenguajes de programación que están diseñados para un hardware específico y que por lo tanto no pueden migrar o exportarse a otros ordenadores. Sacan el mayor provecho posible al sistema para el que fueron diseñados, pero no aplican para ningún otro.
Lenguajes de alto nivel. Se trata de lenguajes de programación que aspiran a ser un lenguaje más universal, por lo que pueden emplearse indistintamente de la arquitectura del hardware, es decir, en diversos tipos de sistemas. Los hay de propósito general y de propósito específico.
Lenguajes de nivel medio. Este término no siempre es aceptado, que propone lenguajes de programación que se ubican en un punto medio entre los dos anteriores: pues permite operaciones de alto nivel y a la vez la gestión local de la arquitectura del sistema.
Otra forma de clasificación a menudo es la siguiente:
Lenguajes imperativos. Menos flexibles, dada la secuencialidad en que construyen sus instrucciones, estos lenguajes programan mediante órdenes condicionales y un bloque de comandos al que retornan una vez llevada a cabo la función.
Lenguajes funcionales. También llamados procedimentales, estos lenguajes programan mediante funciones que son invocadas conforme a la entrada recibida, que a su vez son resultado de otras funciones.
Ejemplos de lenguajes de programación
Algunos de los lenguajes de programación más conocidos son:
Su nombre proviene de las siglas de Beginner’s All-purpose Symbolic Instruction Code (Código simbólico de instrucciones de propósito general para principiantes), y es una familia de lenguajes imperativos de alto nivel, aparecidos por primera vez en 1964. Su versión más actual es Visual Basic .NET.
Su nombre es un acrónimo para Common Business-Oriented Lenguage (Lenguaje común orientado a los negocios) y se trata de un lenguaje de programación universal creado en 1959, orientado principalmente a la informática de gestión, es decir, empresarial.
Su nombre proviene de The IBM Mathematical Formula Translating System (El sistema de traducción de fórmulas matemáticas de IBM), y es un lenguaje de programación de alto nivel, propósito general y de tipo imperativo, diseñado para aplicaciones científicas y de ingeniería.
Un lenguaje de programación de propósito general, orientado a objetos, cuyo espíritu se resume en las siglas WORA: Written Once, Run Anywhere, es decir: Escrito una vez, funciona en cualquier parte. La idea era diseñar un lenguaje universal empleando sintaxis derivada de los lenguajes C y C++, pero empleando menos utilidades de bajo nivel que cualquiera de ambos. Reconocido por su legibilidad y simplicidad, Java es uno de los lenguajes de programación más adoptado.
Un lenguaje de programación multiplataforma y multiparadigma, que también es de propósito general. Esto significa que soporta la orientación a objetos, la programación imperativa y funcional. Su simpleza, legibilidad y similitud con el idioma inglés lo convierten en un gran lenguaje ideal para principiantes.
También llamado “C Sharp”, este lenguaje de programación orientado a objetos fue desarrollado en el año 2000 por Microsoft para ser empleado en una amplia gama de aplicaciones empresariales ejecutadas en el framework .NET. C Sharp es una evolución del C y C++ que se destaca por su sencillez y modernidad.
Es utilizado por una gran cantidad de personas a lo largo del mundo que no cuentan con conocimientos profundos como desarrolladores, quienes encuentran en visual basic, además de una sintaxis sencilla, la posibilidad de automatizar sus propios procesos y crear sus propias aplicaciones web.
Es visto como uno de los lenguajes más amigables para los que recién comienzan, sobre todo a comparación de C#.
Antes que nada, no confundir con Java. Son lenguajes distintos. Javascript es un lenguaje de programación que puede ser utilizado para crear programas que luego son acoplados a una página web o dentro de programas más grandes. Sirve para crear efectos y realizar acciones interactivas.
Podemos ver funcionando este lenguaje en servicios como el chat, calculadoras, buscadores de información y un sin fin de utilidades más.
Creado por el programador canadiende Rasmus Lerdorf, nunca pretendió ser un lenguaje de programación, sino que fue creado con la intención de contar con un conjunto de herramientas para el mantenimiento de las páginas web.
Creado Larry Wall, Pearl es una sigla que significa Practical Extraction and Report Language. Es un lenguaje de propósito general que sirve practicamente para todo, como puede ser la generación y tratamiento de ficheros, para analizar datos y textos, y muchas otras cosas más.
Si querés conocer como sigue la lista de lenguajes de programación más populares, te invitamos a conocer el resto del ranking:
Google Android anunció que Kotlin es el tercer lenguaje de programación oficial para Android además de Java y C++. Este lenguaje de tipado estático, desarrollado por la compañía JetBrains, compila a código Java Virtual Machine (JVM), manteniendo su compatibilidad con programas Java.
¿Qué es el código fuente?
En informática se denomina código fuente al conjunto de líneas de texto que expresan, en un lenguaje de programación determinado, los pasos que debe seguir el ordenador para la correcta ejecución de un programa específico. Es decir, se trata de las instrucciones que el programador original del software compiló para que pudieran ser transmitidas a un sistema computacional e interpretadas de manera precisa y oportuna.
El código fuente suele ser visible durante algunas operaciones determinadas del software, pero sus instrucciones serán incomprensibles excepto para quien maneje el lenguaje específico en el que fue programado. Esto ocurre también con las páginas web y otro tipo de elementos de software, programados en lenguajes-web (como HTML o JavaScript) y luego ejecutados o interpretados por la ventana del navegador de Internet.
El área de informática que se dedica a la creación de estos códigos fuente es la ingeniería de software, dedicada a la creación de programas informáticos. Dicha creatividad es, además, respaldada por las leyes de derecho de autor, en el sentido de que el código fuente es obra y creación exclusiva de sus programadores, tanto como el contenido de una obra literaria.
Comentarios