Download Lenguajes de Programación. Algoritmo. Programa.

Document related concepts
Transcript
LENGUAJES
DE PROGRAMACIÓN
BREVE HISTORIA
Historia
•
•
•
•
•
La finalidad de un lenguaje de programación es "decirle" al ordenador qué
es lo que tiene que hacer paso a paso. “Los ordenadores son tontos”.
Necesitan de alguien que les indique lo que tienen que hacer. Y ese
"alguien" es el programador. Pero una vez que saben qué hacer y cómo, lo
pueden repetir siempre que deseen, sin error posible y a velocidades muy
superiores a las que podría hacerlo una persona.
Desgraciadamente, el ordenador y las personas hablan idiomas diferentes:
el ordenador entiende unas determinadas secuencias de ceros y unos,
llamado lenguaje o código máquina.
El programador debe darle instrucciones en ese formato. Este lenguaje o
código máquina es difícil de aprender, difícil de utilizar e incluso aún más
difícil de modificar.
Además ese código máquina no es el mismo para todos los ordenadores lo
que se traduce en que los programas realizados para un tipo de máquina
no sirven para el resto.
Algoritmo
•
•
•
•
Se pensó que sería más útil trabajar en un lenguaje parecido o similar al
lenguaje hablado, al lenguaje que usamos diariamente. Una vez expresado
el conjunto de instrucciones en ese lenguaje cercano al lenguaje natural,
será necesario traducir ese lenguaje a código máquina.
Pero esta labor se puede programar y que sea el ordenador el que
automáticamente haga la traducción a lenguaje máquina. De esta forma
surgieron los lenguajes llamados de alto nivel y los programas encargados
de la traslación: los traductores.
Algoritmo
Se define "algoritmo" como el conjunto de pasos necesarios para resolver
un problema. El algoritmo es por tanto la "receta" que señala qué se debe
hacer en cada momento y bajo que condiciones hacerlo. El algoritmo se
puede expresar de múltiples formas aunque actualmente la más utilizada
combina diferentes tipos de diagramas junto con especificaciones en
lenguaje natural.
Programa
•
Podemos definir un programa como un conjunto ordenado de instrucciones
expresadas en un lenguaje de programación que implementan un
algoritmo. Un lenguaje de programación, al igual que un lenguaje natural,
estaría constituido por:
–
–
•
•
•
•
Un conjunto de símbolos: letras, símbolos de puntuación, etc. Léxico del lenguaje.
Una serie de normas para la correcta combinación del anterior conjunto. Gramática y
semántica del lenguaje.
Serán más sencillos de escribir cuanto más cercano sea el lenguaje de
programación al lenguaje humano. En realidad son muy parecidos al
lenguaje dominante en el mundo de la informática: el inglés.
Evolución Histórica
El primer lenguaje de programación fue el lenguaje máquina. A
continuación aparece el Lenguaje Ensamblador en un intento de sustituir
indescifrables secuencias de ceros y unos por símbolos, en 1956 aparece
el lenguaje FORTRAN, en 1958 aparece el lenguaje ALGOL, en 1959 se
crea el LISP, en la década de 1960 el COBOL y el BASIC, en 1971 el
PASCAL, luego el C y así hasta más de 2500 lenguajes.
También han surgido todo tipo de variantes de los lenguajes anteriores con
Programa
•
•
•
•
•
Evolución Histórica
El primer lenguaje de programación fue el lenguaje máquina. A
continuación aparece el Lenguaje Ensamblador en un intento de sustituir
indescifrables secuencias de ceros y unos por símbolos, en 1956 aparece
el lenguaje FORTRAN, en 1958 aparece el lenguaje ALGOL, en 1959 se
crea el LISP, en la década de 1960 el COBOL y el BASIC, en 1971 el
PASCAL, luego el C y así hasta más de 2500 lenguajes.
También han surgido todo tipo de variantes de los lenguajes anteriores con
características de tipo visual como Visual C, Visual Basic, etc.
En general todos los lenguajes de alto nivel tienen propiedades comunes:
El uso de sentencias simples, la existencia de variables, expresiones,
estructuras de control y subprogramas.
El lenguaje Pascal es uno de los más adecuados para aprender y
consolidar dichos conceptos. Algo más simple es el Basic, pero mucho más
limitado. Y más atractivo de usar es el Visual Basic, que es comercial.
Traducción-Ejecución
•
Bajo nivel o 1º Nivel
•
Se dice que el código binario es de "bajo nivel" o "primer nivel"
(porque al usar pocos signos logra muy difícilmente expresar
cosas complicadas), mientras un lenguaje humano es de "muy
alto nivel“.
•
El fabricante de un procesador fija los bloques de bits que
llevarán a la CPU a reconocer y realizar diferentes operaciones.
Este el "código de máquina", primer lenguaje que la máquina
puede interpretar y transformar en acciones.
Pero es muy difícil de usar para un ser humano.
•
•
•
Prácticamente nadie trabaja hoy a este nivel, excepto los
diseñadores de "chips" procesadores.
•
2º Nivel
•
La creación de un lenguaje más comprensible por el hombre
consiste por lo tanto en establecer la equivalencia de bloques
binarios con signos de nuestro lenguaje habitual.
Este tipo de lenguaje se llama "Ensamblador”.
•
•
•
•
•
La máquina hará la tarea de traducirlo en código binario, para
seguir las instrucciones, gracias a otro programa cuya función es
traducir la expresión humana en "lenguaje de máquina" (binario).
Es programa se llama "compilador".
Pero el Ensamblador permanece muy ligado al "hardware".
Era necesario un lenguaje más independientes de las
características técnicas de los procesadores.
•
•
•
•
•
Alto nivel o 3º Nivel
El avance en el desarrollo de "compiladores" e "intérpretes" dio
lugar a lenguajes cuyas ventajas son:
Facilidad de aprendizaje y lectura/escritura.
Facilidades de corrección, transformación y conversión de un
lenguaje a otro.
•
•
•
•
Los más antiguos son:
El FORTRAN (para aplicaciones matemáticas y científicas)
El COBOL (para aplicaciones de administración y contabilidad).
•
•
Con los micro-computadores nació el BASIC y el PASCAL.
Con el tiempo el primero evolucionó hasta el VISUAL BASIC.
•
•
•
Generadores de aplicaciones o 4º Nivel
•
Los más avanzados y flexibles son las hojas de cálculo y bases
de datos. Pueden ser consideradas como "generadores" de
aplicaciones.
•
Un paso más es la utilización de "herramientas" que son por
esencia "programas para crear programas“.
Posteriormente, usando estos lenguajes, se han redactado
programas destinados a facilitar un número variado de
operaciones.
Campo de aplicación
•
Aplicaciones científicas.
•
•
En este tipo de aplicaciones predominan las operaciones propias de
algoritmos matemáticos.
Son el FORTAN y el PASCAL
•
Aplicaciones en procesamiento de datos.
•
•
Operaciones de creación, mantenimiento y consulta sobre bases de
datos.
Programas de nominas, contabilidad facturación, control de inventario,
etc.
Son el COBOL y el SQL.
•
Aplicaciones de tratamiento de textos.
•
•
Aplicaciones asociadas al manejo de textos en lenguaje natural.
Un lenguaje es el C.
•
•
Aplicaciones en inteligencia artificial.
•
•
Aplicaciones en sistemas expertos, juegos, visión artificial,
robótica.
Son el LISP y el PORLOG
•
Aplicaciones de programación de sistemas.
•
•
Programación de software de interfaz entre el usuario y el
hardware.
Son el ADA, MODULA-2 y C.
•
Lenguajes de Internet.
•
Son el HTML, JAVA, Perl, PHP.