INTRODUCCIÓN Una computadora es una máquina que solo comprende las instrucciones... formato. Cada máquina reconoce y ejecuta un número de instrucciones...

Anuncio
INTRODUCCIÓN
Una computadora es una máquina que solo comprende las instrucciones que se le den en un determinado
formato. Cada máquina reconoce y ejecuta un número de instrucciones diferentes que se agrupan en los
distintos lenguajes de programación.
Un lenguaje de programación es un conjunto limitado de palabras y de símbolos que representan
procedimientos, cálculos, decisiones y otras operaciones que pueden ejecutar una computadora. la
clasificación más común y básica que suele hacerse de los lenguajes de programación es la que los divide en
lenguajes de bajo y de alto nivel. Los lenguajes de programación de bajo nivel fueron los primeros que
surgieron y se llaman así porque están directamente relacionados con el hardware del computador, es decir, el
usuario introduce una serie de códigos numéricos que la máquina va a interpretar como instrucciones. Para
usar este lenguaje, el programador tenía que conocer el funcionamiento de la máquina al más bajo nivel y los
errores de programación eran muy frecuentes.
Los lenguajes de alto nivel surgieron con posterioridad con el primer compilador de FORTRAN (Formula
Translación), que, como su nombre indica, inició como un "simple" esfuerzo de traducir un lenguaje de
fórmulas, al lenguaje ensamblador y por consiguiente al lenguaje de máquina, facilitando la labor a los
programadores. A partir de FORTRAN, se han desarrollado innumerables lenguajes, que siguen el mismo
concepto: facilitar la vida al programador, aumentando la productividad. Estos lenguajes usan un número
reducido de instrucciones (normalmente en inglés) que siguen unas estrictas reglas que se conocen como
sintaxis del lenguaje. Pero aunque el programador de esta forma se distancie del hardware del computador,
este sigue trabajando en lenguaje máquina. Por ello se hace necesaria una traducción a una secuencia de
instrucciones interpretables por el computador. Esta labor es llevada a cabo por los compiladores y los
intérpretes.
El compilador es un programa que se encarga de la traducción del programa realizado por el usuario. Esta
operación recibe el nombre de compilación. El programa es traducido completamente antes de que se ejecute,
por lo que la ejecución se realiza en un periodo muy breve. El intérprete por el contrario lleva a cabo una
traducción inmediata en el momento de la ejecución, es decir, irá ejecutando las instrucciones una a una
haciendo que el proceso requiera un periodo de tiempo sensiblemente mayor del que necesitaría un
compilador. Los intérpretes son usados para traducir programas de alta dificultad de implementación, en estos
casos, las órdenes a traducir son de tal complejidad que no merece la pena crear un compilador ya que este
también tendría que ser de una complejidad por encima de lo normal.
Hay que mencionar los lenguajes que combinan características de los de alto nivel y los de bajo nivel (es
decir, Ensamblador). Un ejemplo es C: contiene estructuras de programación de alto nivel; sin embargo, fue
diseñado con muy pocas instrucciones, las cuales son sumamente sencillas, fáciles de traducir al lenguaje de la
máquina; y requiere de un entendimiento apropiado de cómo funciona la máquina, el uso de la memoria,
etcétera.
JUSTIFICACIÓN
El estudio de los lenguajes de programación requiere a su vez comprender perfectamente los tipos de
lenguajes de programación que existen y la clasificación comúnmente aceptada que a éstos se les da.
Esta investigación se justifica en la necesidad que todo programador tiene de diferenciar y clasificar
correctamente los tipos de lenguajes de programación, conociendo sus aplicaciones y los beneficios o
desventajas que ofrece cada uno de ellos.
1
OBJETIVO GENERAL
Conocer los tipos de lenguajes de programación y la clasificación que comúnmente se les da.
MARCO TEÓRICO
Los primeros lenguajes de programación surgieron de la idea de Charles Babagge, la cual se le ocurrió a este
hombre a mediados del siglo XIX. Era un profesor matemático de la universidad de Cambridge e inventor
ingles, que la principio del siglo XIX predijo muchas de las teorías en que se basan los actuales ordenadores.
Consistía en lo que él denominaba la maquina analítica, pero que por motivos técnicos no pudo construirse
hasta mediados del siglo XX. Con él colaboro Ada Lovedby, la cual es considerada como la primera
programadora de la historia, pues realizo programas para aquélla supuesta maquina de Babagge, en tarjetas
perforadas.
Como la maquina no llego nunca a construirse, los programas de Ada, lógicamente, tampoco llegaron a
ejecutarse, pero si suponen un punto de partida de la programación, sobre todo si observamos que en cuanto se
empezó a programar, los programadores utilizaron las técnicas diseñadas por Charles Babagge, y Ada, que
consistían entre otras, en la programación mediante tarjetas perforadas. A pesar de ello, Ada ha permanecido
como la primera programadora de la historia. Se dice por tanto que estos dos genios de antaño, se adelantaron
un siglo a su época, lo cual describe la inteligencia de la que se hallaban dotados.
LENGUAJES DE MÁQUINA
El lenguaje máquina de una computadora consta de cadenas de números binarios (ceros y unos) y es el único
que "entienden" directamente los procesadores. Todas las instrucciones preparadas en cualquier lenguaje de
máquina tienen por lo menos dos partes. La primera es el comando u operación, que dice a la computadora
cuál es la función que va a realizar. Todas las computadoras tienen un código de operación para cada una de
sus funciones. La segunda parte de la instrucción es el operando, que indica a la computadora dónde hallar o
almacenar los datos y otras instrucciones que se van a manipular; el número de operandos de una instrucción
varía en las distintas computadoras. En una computadora de operando único, el equivalente binario de
"SUMAR 0814" podría hacer que se sume el valor que se encuentra en la localidad de almacenamiento o
dirección 0814 al valor que se encuentra en la unidad aritmética lógica. En una máquina de dos operandos, la
representación binaria de "SUMAR 0814 8672" podría hacer que se sume el valor que está en la localidad
8672 al valor que está en la dirección 0814. El formato de operando único es popular en las
microcomputadoras más pequeñas; la estructura de dos operandos se encuentra en casi todas las demás
máquinas.
Según los estándares actuales, las primeras computadoras eran poco tolerantes. Los programadores tenían que
traducir las instrucciones de manera directa a la forma de lenguaje de máquina que comprendían las
computadoras. Por ejemplo, un programador que escribiera la instrucción "SUMAR 0814" para una de las
primeras máquinas IBM hubiera escrito:
000100000000000000000000000010111000
Además de recordar las docenas de códigos numéricos para los comandos del conjunto de instrucciones de la
máquina, el programador tenía que conocer las posiciones donde se almacenan los datos y las instrucciones.
La codificación inicial muchas veces requería meses, por lo que era costosa y era frecuente que originara
errores. Revisar las instrucciones para localizar errores era casi tan tedioso como escribirlas por primera vez.
Además, si era necesario modificar un programa posteriormente, la tarea podía llevarse mese
2
Ventajas
• De programar en este tipo de lenguaje es que se puede cargar sin necesidad de traducción.
• Haciendo así el mas veloz.
Desventajas
• Dificultad y lentitud en la codificación. Poca fiabilidad
• Dificultad de verificar y corregir los programas.
• Las instrucciones en este tipo de lenguaje dependen del hardware de la computadora.
LENGUAJE DE BAJO NIVEL.
Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de
lenguajes no se pueden migrar o utilizar en otras maquinas.
Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo.
Dentro de este grupo se encuentran:
El lenguaje maquina: este lenguaje ordena a la máquina las operaciones fundamentales para su
funcionamiento. Cnsiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de
la maquina.
Este lenguaje es mucho más rápido que los lenguajes de alto nivel.
La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde
encontrar un fallo es casi imposible.
El lenguaje ensamblador es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y
números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores
para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con
respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban
menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje
ensamblador, ñadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener
Ventajas
• de programar en este tipo de lenguaje es su facilidad de codificación y velocidad de cálculo.
Desventajas
• Dependencia total de la maquina. El lenguaje de ensamblador de una PC es distinta que el de una
Mac.
• Exige conocimiento interior de la maquina y aumenta el nivel de la técnica de programación.
LENGUAJES DE ALTO NIVEL
Los primeros programas ensambladores producían sólo una instrucción en lenguaje de máquina por cada
instrucción del programa fuente. Para agilizar la codificación, se desarrollaron programas ensambladores que
podían producir una cantidad variable de instrucciones en lenguaje de máquina por cada instrucción del
programa fuente. Dicho de otra manera, una sola macroinstrucción podía producir varias líneas de código en
lenguaje de máquina. Por ejemplo, el programador podría escribir "LEER ARCHIVO", y el programa
traductor produciría una serie detallada de instrucciones al lenguaje de máquina previamente preparadas, con
3
lo que se copiaría un registro del archivo que estuviera leyendo el dispositivo de entrada a la memoria
principal. Así, el programador no se tenía que ocupar de escribir una instrucción por cada operación de
máquina realizada.
El desarrollo de las técnicas nemotécnicas y las macroinstrucciones condujo, a su vez, al desarrollo de
lenguajes de alto nivel que a menudo están orientados hacia una clase determinada de problemas de proceso.
Por ejemplo, se han diseñado varios lenguajes para procesar problemas científico−matemático, asimismo han
aparecido otros lenguajes que hacen hincapié en las aplicaciones de proceso de archivos.
A diferencia de los programas de ensamble, los programas en lenguaje de alto nivel se pueden utilizar con
diferentes marcas de computadores sin tener que hacer modificaciones considerables. Esto permite reducir
sustancialmente el costo de la reprogramación cuando se adquiere equipo nuevo. Otras ventajas de los
lenguajes de alto nivel son:
♦ Son más fáciles de aprender que los lenguajes ensambladores.
♦ Se pueden escribir más rápidamente.
♦ Permiten tener mejor documentación.
♦ Son más fáciles de mantener.
♦ Un programador que sepa escribir programas en uno de estos lenguajes no está limitado a
utilizar un solo tipo de máquina.
Ventajas
• La escritura es similar al lenguaje humano (PRINT, WRITE, READ, etc.).
• Modificaciones son más fáciles.
• Transportabilidad.
Desventajas
• Aumenta la ocupación de memoria.
• El tiempo de ejecución de los programas es mucho mayor.
BIOGRAFIA: ENCARTA 2006, MATEMATICAS Y COMPUTACION DE BARRON 2000,
ENCICLOPEDIA METODICA TERCERA EDICION EDIT. LAROUSSE.
4
Descargar