Informática

Informática. Computación. Lenguajes de programación. Lenguajes máquina. Lenguajes de alto nivel. Lenguajes de bajo nivel

  • Enviado por: Juan
  • Idioma: castellano
  • País: México México
  • 6 páginas
publicidad

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.

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

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 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.