Usuario:MoyanoJorge/Taller

De Wikipedia, la enciclopedia libre

Léxico y programación[editar]

La programación se rige por reglas y un conjunto más o menos reducido de órdenes, expresiones, instrucciones y comandos que tienen la particularidad de una reducida ambigüedad. Cuanto menos ambiguo es un lenguaje de programación se dice que es más potente. Bajo esta premisa, y en el extremo, el lenguaje más potente existente es el binario, con ambigüedad nula (lo cual lleva a pensar así del lenguaje ensamblador).

En los lenguajes de programación de alto nivel se distinguen diversos elementos, entre los que se incluyen el léxico propio del lenguaje y las reglas semánticas y sintácticas. Estos lenguajes tienen la particularidad de utilizar palabras del idioma inglés dentro de su léxico, por lo que muchas de ellas tienen una función específica dentro del lenguaje con el que se está trabajando y no se las puede utilizar de manera diferente, son las denominadas palabras reservadas. Por otro lado, otra particularidad de los lenguajes de programación de alto nivel y sus herramientas de desarrollo es el permitir a los programadores el uso de comentarios (frases o párrafos sin funcionalidad en el programa), a fin de que otros programadores entiendan más fácilmente la funcionalidad del código creado.[1]

Funcionamiento de un programa[editar]

Para crear un programa, y que la computadora lo interprete y ejecute, las instrucciones deben escribirse en un lenguaje de programación. En sus comienzos las computadoras interpretaban solo instrucciones en un lenguaje específico, del más bajo nivel, conocido como código máquina, siendo éste excesivamente complicado para programar. De hecho solo consiste en cadenas de números 1 y 0 (sistema binario). Para facilitar el trabajo de programación, los primeros científicos, que trabajaban en el área, decidieron reemplazar las instrucciones, secuencias de unos y ceros, por mnemónicos, que son abreviaturas en inglés de la función que cumple la instrucción; las codificaron y crearon así un lenguaje de mayor nivel, que se conoce como Assembly o lenguaje ensamblador. Por ejemplo, para sumar se podría usar la letra A de la palabra inglesa add (sumar). En realidad escribir en lenguaje ensamblador es básicamente lo mismo que hacerlo en lenguaje máquina, pero las letras y palabras son bastante más fáciles de recordar y entender que secuencias de números binarios. A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se hizo necesario disponer de un método más sencillo para programar. Entonces, se crearon los lenguajes de alto nivel. Mientras que una tarea tan trivial como multiplicar dos números puede necesitar un conjunto de instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastará con solo una. Una vez que se termina de escribir un programa, sea en ensamblador o en algunos casos, lenguajes de alto nivel, es necesario compilarlo, es decir, traducirlo completo a lenguaje máquina.​Eventualmente será necesaria otra fase denominada comúnmente link o enlace, durante la cual se anexan al código, generado durante la compilación, los recursos necesarios de alguna biblioteca. En algunos lenguajes de programación, puede no ser requerido el proceso de compilación y enlace, ya que se puede trabajar en modo intérprete. Esta modalidad de trabajo es equivalente pero se realiza instrucción por instrucción, se traduce a medida que es ejecutado el programa.

Tipos de lenguajes[editar]

Al existir una gran variedad de lenguajes de programación, los mismos se pueden clasificar de acuerdo a que tan alejados o cercanos se encuentran de la arquitectura del ordenador desde donde funcionan:

Lenguajes de bajo nivel: Son exclusivos de cada ordenador, basados en el modelo de la máquina de Von Neumann y se basa principalmente en instrucciones simples al microprocesador. Programar en estos lenguajes es difícil y costoso. Algunos ejemplos de este tipo de lenguaje son el lenguaje máquina y el lenguaje ensamblador.

Lenguajes de alto nivel: Basados en máquinas virtuales y con palabras del lenguaje inglés, es más fácil de comprender para los programadores. Al ser realizados en máquinas virtuales, se necesita un programa traductor para pasar de dicho lenguaje a lenguaje máquina, para que el ordenador donde se ejecuta pueda llevar a cabo las instrucciones programadas, las cuales son más potentes que las de lenguaje de bajo nivel. Las instrucciones son más lentas e ineficientes al tener que pasar antes por el traductor.

Historia de la programación[editar]

La historia de la programación está ligada a la historia y evolución de los ordenadores. Se puede mencionar como primer influencia en programación al cálculo de polinomios por la máquina diferencial de Charles Babbage, quien nunca llegó a completarla. Quien lo hizo fue Ada Lovelace, quien usó el modelo de Babbage para calcular los números de Bernoulli.[2]

En el año 1936, Alonzo Church y Alan Turing especializan los códigos informáticos mediante el cálculo lambda.

En los años 40, las maquinas eran lentas y de limitada capacidad de memoria, por lo que los programadores debían escribir sus programas manualmente en lenguaje ensamblador, lo que dio origen a la aparición de los lenguajes de alto nivel, el primero de los cuáles fue el Short Code, creado por John Mauchly e implementado por William Schmidt.

En 1952, Alick Glennie creó el primer lenguaje compilado, denominado Autocode.

En 1954 aparece Fortran, desarrollado por un equipo de IBM, el cual fue el primer lenguaje de programación popular.

En 1959, se crea Cobol, el primer lenguaje de programación que podría funcionar en cualquier tipo de ordenador.

En 1972 se desarrolla el lenguaje C, el cual se convirtió en uno de los lenguajes más populares y en el cual se basan algunos de los lenguajes actuales más populares, tales como Java, Ruby, Javascript y Python.[3]

  1. «Lenguajes de programación». 
  2. «Fundamentos de la programación». 
  3. «La historia de la programación».