|
* El programa computacional es
un conjunto de instrucciones almacenadas en la memoria principal
de la computadora, que indica la secuencia de operaciones a seguir,
para ser procesadas de manera automática con el objeto de
obtener el resultado deseado.
* El programa computacional
consta de tres elementos:
a) Instrucciones: Constituyen
la lógica del programa y tienen un orden o secuencia determinada,
para que el procedimiento elegido se lleve a cabo como corresponde.
b) Variables: Las variables son espacios vacíos, reservados
por el programa, para el almacenamiento temporal de la información
que requiere la ejecución del programa.
c) Constantes: Son valores invariables,
almacenados durante el procesamiento del programa, como las tablas
de impuestos o un calendario de días y meses.
* Lenguaje de programación,
es el lenguaje empleado por los programadores, para formular las
instrucciones que se darán a la computadora.
- Cada lenguaje de programación,
al igual que los diversos lenguajes humanos, tienen su propia gramática
y sintaxis.
* Es posible distinguir cuatro
niveles o generaciones de lenguajes de programación:
- Lenguaje de máquina
(primera generación),
- Lenguaje ensamblador (segunda generación),
- Lenguaje de alto nivel (tercera generación),
- Productos de software integrado (cuarta generación).
* Las generaciones de lenguaje
y hardware no guardan relación entre si; por ejemplo, durante
la primera generación del hardware se establecieron dos generaciones
de lenguaje.
* El programador puede usar
diferentes lenguajes los cuales:
- Deben ser traducidos a lenguajes
de máquinas, antes de que la computadora pueda ejecutarlos.
- El lenguaje de máquina,
depende totalmente del equipo.
Lenguajes de máquinas
(primera generación)
- La primera generación
de lenguajes, se inicia a fines de la década de 1940. Si
bien el concepto de programa almacenado de Von Neumann significó
un gran paso en la programación por computadores; el procedimiento
de programación era complicado y difícil.
- A comienzos del decenio de
1950, el programador tenia que emplear el lenguaje de máquinas
para escribir las instrucciones a la computadora.
* El único lenguaje que
el hardware aceptaba o era capaz de entender, era el binario: secuencia
de unos y ceros.
* Este lenguaje dificultaba
la escritura de programas convirtiéndola en una tarea tediosa
y lenta.
* Debido a esta complejidad,
se deslizaban con mucha facilidad, errores que eran muy difícil
de corregir.
* La modificación de
los programas resultaba complicada.
* Solo puede usarse en un tipo
de computador, ya que distintos computadores tiene diferentes lenguajes
de máquina.
* Sin embargo, el lenguaje de
máquina tenía la ventaja de explorar al máximo
las posibilidades lógicas y la capacidad física del
equipo.

Lenguajes ensambladores
(segunda generación).
Comenzada la década de
1950, aparece la segunda generación de lenguaje.
El avance de la tecnología
produjo computadores mas poderosos; esto expandió su uso,
se hizo necesario simplificar la programación.
* Se fueron creando lenguajes
cada vez mas alejados del lenguaje de máquina.
* Estos lenguajes están
definidos por estrictas reglas gramaticales y semánticas,
para que no se produzcan errores de interpretación en el
computador
* Uno de los primeros criterios,
que se utilizó para facilitar la programación fue
la notación simbólica: Representar las operaciones
que realizaba la computadora.
* El lenguaje simbólico
de programación ("Assembler" o ensamblador), es
realmente una serie de abreviaturas, cuyo propósito era facilitar
el trabajo del programador.
* Los programadores del lenguaje
ensamblador debían conocer minuciosamente la arquitectura
y el lenguaje de máquina de su computadora.
* Se utilizó la mayor
potencia de los computadores para "ayudar", en la traducción
al lenguaje de máquina de las instrucciones escritas por
el programador.
Con el lenguaje ensamblador,
mejoró la programación, aunque todavía era
necesario escribir una orden por cada paso elemental que debía
ejecutar la computadora.
Una instrucción del lenguaje
ensamblador contiene un código (acción que es preciso
realizar) y un operando (nombre simbólico de los datos a
ser usado).
* En la instrucción:
Read salario.
Read es la operación
y específica la acción que ha de llevarse a cabo y
Salario, el operando, es el nombre simbólico de los datos
que deben ser leídos.
Los primeros lenguajes ensambladores
(con notación simbólica), en aparecer fueron el AutoCoder
y el Assembler, que en general usan:
* Códigos mnemotécnicos
en lugar de binarios, fijos para cada lenguaje de programación.
* Direcciones simbólicas
en lugar de absolutas, a elección del programador, pero siguiendo
ciertas reglas.
* En estos lenguajes se sigue
manteniendo una similitud con el set de instrucciones elementales
del computador:
~ Sirven para un solo tipo de
computador.
~ El programador debe conocer bien el equipo.
Al no estar en código
binario, necesitan un programa traductor que los convierta:
"El ensamblador" (llamado
así por analogía y escrito también en lenguaje
simbólico)

Lenguajes de "alto nivel"
(tercera generación)
- Los lenguajes de alto nivel
se idearon con el propósito de:
* Independizar al programador
de las características internas de la máquina
* Permitirle concentrarse es
la lógica del problema por resolver.
* Se le liberó así
de la necesidad de familiarizarse en detalle con el lenguaje de
máquina.
- Una de las ventajas de los
lenguajes de alto nivel es que con pequeñas modificaciones
se pueda procesar en una máquina un programa escrito para
otra maquina.
- Cuando un lenguaje puede ser
procesado por cualquier computadora, se dice que el lenguaje ha
sido estandarizado y se le asigna como lenguaje "Universal"
* Para esto, cada instrucción
de un lenguaje de alto nivel es traducida por un computador o intérprete
en una serie de órdenes en lenguajes de máquinas.
- El término "Alto
nivel" significa que el lenguaje esta mas orientado hacia la
gente, en contraste con los lenguajes de "Bajo Nivel",
ensambladores, que están mas orientados hacia la máquina
* Por su mayor orientación hacia el usuario, los lenguajes
de alto nivel tienen mas relación con el lenguaje hablado
que con el lenguaje de maquina y por ello resultan mas fáciles
de comprender.
- Este lenguajes fueron elaborados
originalmente para la programación de un determinado tipo
de aplicación.
* Por ejemplo, el Fortran fue
diseñado para aplicaciones Técnico-Científicas
.
- Con la aparición de
los lenguajes de alto nivel, se facilita la programación
y se producen los errores que durante esta de deslizan.
- Recibiendo ventajas de los
lenguajes de alto nivel :
* Intrusiones de formato libre,
con sentencias escritas mayormente en lenguaje natural.
* Un programa escrito en L.
de A.N. puede "correr" en distintos equipos, con modificaciones
menores.
* Tiempo corto de aprendizaje.
* No se necesita conocer cómo
es la estructura del computador .
* Se facilita la programación
y se reducen los errores que durante esta se deslizan .
* Mas rapidez en terminar el
programa y probarlo.
* Cambio y correcciones mas
fáciles.
* Reducción en costo
de creación y mantenimiento de programas.
* Fáciles de documentar.
- Tienen algunas "Desventajas"
* Incremento de tiempo de compilación
(Traducción).
* No se aprovechan las posibles
ventajas de la arquitectura del computador.
* Mayor uso de memoria (Por
el compilador y por el programa objeto resultante) durante el proceso
de compilación.
* Al generar mas código
instrucción aumenta el tipo de ejecución.
- Aunque es difícil clasificarlo
ya que aparecen nuevos lenguajes frecuentemente y por otro lado
existen muchos (En 1980 había mas de 200 registrados), el
agrupamiento mas aceptado sería:
* Lenguajes de orientación
científica , que fueron los primero en aparecer (se inventaron
los computadores para ésto; las máquinas permiten
mayor formalización del lenguaje; son problemas no repetitivos,
por lo que resultaba importante reducir el tiempo de programación).
Fortran - Algol - Pascal -C
* Lenguajes de orientación
a la gestión, o comerciales, en que predominan las instrucciones
dedicadas a procesos de entrada/salida.
Cobol - Basic - RPG - PL/1
* Lenguajes especiales, orientados
a áreas de aplicaciones muy particulares entre otras:
~ Diseño de compiladores
~ Problemas de ingeniería.
~ Simulación
~ Control de máquinas herramientas
~ Logo, para enseñanza en escuelas primarias

Productos de Software integrados
(cuarta generación)
- Los lenguajes de la cuarta generación
son mas informales, es decir, menos rígidos y obedecen a
un menú o a comandos. Entre ellos, merecen mencionarse:
* Los super lenguajes y
* Los productos integrados de
Software
- Los super lenguajes de la
cuarta generación están orientados hacia las aplicaciones.
* Numerosos lenguajes de computadora
están orientados hacia la solución de problemas específicos
.
* Muchos de ellos, como los
lenguajes generadores de informes y los de planificación
financiera, se han diseñado específicamente para resolver
un problema
* Estos lenguajes son mas fáciles
de utilizar que los de programación convencionales, por lo
tanto son superiores a los lenguajes de alto nivel.
* Los lenguajes informales son
también super lenguajes.
- Los paquetes integrados de
software tienen variadas aplicaciones que permiten al usuario estructurar
sus propios programas o sistemas e incorporar sus datos sin conocimiento
previo de programación, ni conocimiento de los lenguajes
de programación tradicionales.
|