Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Lenguajes de Programación



    1. Historia
    2. Lenguajes de bajo
      nivel
    3. Lenguajes de alto
      nivel
    4. Programa
      fuente
    5. Programa
      objeto
    6. El
      compilador
    7. Lenguaje
      máquina
    8. Términos
      desconocidos
    9. Bibliografía

    HISTORIA

    Los lenguajes de
    programación cierran el abismo entre las computadoras,
    que sólo trabajan con números binarios, y los
    humanos, que preferimos utilizar palabras y otros sistemas de
    numeración.

    Mediante los programas se
    indica a la computadora
    qué tarea debe realizar y como efectuarla, pero para ello
    es preciso introducir estas ordenes en un lenguaje que
    el sistema pueda
    entender. En principio, el ordenador sólo entiende las
    instrucciones en código
    máquina, es decir, el específico de la computadora.
    Sin embargo, a partir de éstos se elaboran los llamados
    lenguajes de alto y bajo nivel.

    LENGUAJES DE BAJO
    NIVEL:

    Utilizan códigos muy cercanos a los de la
    máquina, lo que hace posible la elaboración de
    programas muy potentes y rápidos, pero son de
    difícil aprendizaje.

    LENGUAJES DE ALTO
    NIVEL:

    Por el contrario, son de uso mucho más
    fácil, ya que en ellos un solo comando o
    instrucción puede equivaler a millares es código
    máquina. El programador escribe su programa en
    alguno de estos lenguajes mediante secuencias de instrucciones.
    Antes de ejecutar el programa la computadora lo traduce a
    código máquina de una sola vez (lenguajes compiladores) o
    interpretándolo instrucción por instrucción
    (lenguajes intérpretes).

    Ejemplos de lenguajes de alto nivel: Pascal, Cobol, Basic,
    Fortran, C++ Un Programa de computadora, es una colección
    de instrucciones que, al ser ejecutadas por el CPU de una
    máquina, llevan a cabo una tarea ó función
    específica. Este conjunto de instrucciones que forman los
    programas son almacenados en archivos denomina
    dos archivos ejecutables puesto que, al teclear su nombre (o
    hacer clic sobre el icono que los identifica) logras que la
    computadora los cargue y corra, o ejecute las instrucciones del
    archivo.

    El contenido de un archivo ejecutable no puede ser
    entendido por el usuario, ya que no está hecho para que la
    gente lo lea, sino para que la computadora sea quien lo
    lea.

    Los archivos de programas ejecutables contienen el
    código máquina, que el CPU identifica como sus
    instrucciones. Son lo que conocemos como Programas Objeto. Dado
    que sería muy difícil que los programadores crearan
    programas directamente en código de máquina, usan
    lenguajes más fáciles de leer, escribir y entender
    para la gente.

    El programador teclea instrucciones en un editor, que es
    un programa parecido a un simple procesador de
    palabras, estas instrucciones son almacenadas en archivos
    denominados programas fuentes
    (código fuente). Si los programadores necesitan hacer
    cambios al programa posteriormente vuelven a correr el editor y
    cargan el programa fuente para modificarlo.

    El proceso de
    conversión de programas fuente a programas objeto se
    realiza mediante un programa denominado compilador. El compilador
    toma un programa fuente y lo traduce a programa objeto y almacena
    este último en otro archivo.

    PROGRAMA
    FUENTE:

    Es el programa escrito en alguno de los lenguajes y que
    no ha sido traducido al lenguaje de la maquina, es decir el
    programa que no está en código de máquina y
    que por lo tanto no puede ser ejecutable.

    PROGRAMA
    OBJETO:

    Es aquel programa que se encuentra en lenguaje
    máquina y que ya es ejecutable por esta.

    Programación Orientada a
    Objetos.-

    La programación
    orientada a objetos no es un concepto nuevo,
    sus inicios y técnicas
    de programación se iniciaron a principios de los
    70. Se puede definir programación orientada a objetos
    (OOPS) como una técnica de programación que utiliza
    objetos como bloque esencial de construcción. La OOPS, es un tipo de
    programación más cercana al razonamiento humano. La
    OOPS surge como una solución a la programación de
    grandes programas, y para solventar el mantenimiento
    de dichas aplicaciones, ya que en la programación estructura el
    más mínimo cambio supone
    la modificación de muchas funciones
    relacionadas, en cambio con la OOPS solo es cuestión de
    añadir o modificar métodos de
    una clase o mejor, crear una nueva clase a partir de otra
    (Herencia). Dos
    lenguajes destacan sobre el resto para programar de esta forma,
    Smalltalk y C++.

    Concepto de Objeto: Desde un punto de vista general un
    Objeto es una estructura de
    datos de mayor o menor complejidad con las funciones que
    procesan estos datos.

    Dicho de otra forma, sería Datos más un
    Código que procesa estos datos. A los datos se les
    denomina miembros dato y a la función miembro o miembro
    funciones. Los datos están ocultos y sólo se puede
    acceder a ellos mediante la función miembro.

    Clases.-

    Las Clases son como plantillas o modelos que
    describen como se construyen ciertos tipos de Objeto. Cada vez
    que se construye un Objeto de una Clase, se crea una instancia de
    esa Clase ("instance"). Una Clase es una colección de
    Objetos similares y un Objeto es una instancia de una Clase. Se
    puede definir una Clase como un modelo que se
    utiliza para describir uno o más Objetos del mismo
    tipo.

    Herencia: Una característica muy importante de los
    Objetos y las Clases es la Herencia, una propiedad que
    permite construir nuevos Objetos (Clases) a partir de unos ya
    existentes. Esto permite crear "sub.-Clases" denominadas Clases
    Derivadas que
    comparten las propiedades de la Clase de la cual derivan (Clase
    base). Las Clases derivadas heredan código y datos de la
    clase base, asimismo incorporan su propio código y datos
    especiales. Se puede decir que la herencia permite definir nuevas
    Clases a partir de las Clases ya existentes.

    Polimorfismo: En un sentido literal, Polimorfismo
    significa la cualidad de tener más de una forma. En el
    contexto de POO, el Polimorfismo se refiere al hecho de que una
    simple operación puede tener diferente comportamiento
    en diferentes objetos. En otras palabras, diferentes objetos
    reaccionan al mismo mensaje de modo diferente. Los primeros
    lenguajes de POO fueron interpretados, de forma que el
    Polimorfismo se contemplaba en tiempo de
    ejecución. Por ejemplo, en C++, al ser un lenguaje
    compilado, el Polimorfismo se admite tanto en tiempo de
    ejecución como en tiempo de compilación

    Decimos entonces que:

    El tema de la Programación Orientada a Objetos
    (Object Oriented Programming O-O-P) sigue siendo para el que
    escribe un territorio inquietante, interesante y en gran medida
    desconocido, como parece ser también para la gran
    mayoría de los que estamos en el campo de la
    programación

    Los principales conceptos que se manejan en la
    Programación Orientada a Objetos son:

    • encapsulado
    • herencia
    • Polimorfismo.

    Según esto, la encapsulación es la
    creación de módulos autosuficientes que contienen
    los datos y las funciones que manipulan dichos datos. Se aplica
    la idea de la caja negra y un letrero de "prohibido mirar
    adentro".

    Los objetos se comunican entre sí intercambiando
    mensajes. De esta manera, para armar aplicaciones se utilizan los
    objetos cuyo funcionamiento está perfectamente definido a
    través de los mensajes que es capaz de recibir o mandar.
    Todo lo que un objeto puede hacer está representado por su
    interfase de mensajes. Para crear objetos, el programador puede
    recurrir a diversos lenguajes como el C++, el Smalltalk, el
    Visual Objects y otros.

    Si se desea solamente utilizar los objetos y enlazarlos
    en una aplicación por medio de la programación
    tradicional se puede recurrir al Visual Basic, al
    CA-Realizer, al Power Builder, etc.

    El concepto de herencia es sencillo de entender. Esto es
    muy común en la vida diaria. Todos nosotros tendemos a
    clasificar los objetos comunes por clases. Manejamos la clase
    mueble, la clase mascota, la clase alimento, etc.

    Obviamente en el campo de la programación esta
    clasificación es más estricta. ¿Cuál
    es el sentido de las clases? Fundamentalmente evitar definir los
    objetos desde cero y facilitar su rehúso. Si trabajamos
    con clases, al querer definir un nuevo objeto, partimos de alguna
    clase definida anteriormente, con lo que el objeto en
    cuestión hereda las características de los objetos
    de su clase.

    Imaginemos que creamos una clase "aves" y
    describimos las características de las aves (plumas, pico,
    nacen de huevo, etc.), más adelante necesitamos una clase
    "pingüino". Como pertenece a "aves" no requerimos volver a
    declarar lo descrito sino marcamos que "pingüino" es una
    subclase de "aves" con lo que "pingüino" hereda todas sus
    características.

    A continuación sólo declaramos los
    detalles que determinan lo que distingue a "pingüino" de
    "aves". Asimismo podemos declarar "gato" como una subclase de
    "pingüino", con lo que "emperador" heredará todas las
    características de las superclases "pingüino" y
    "aves" más las características que nosotros
    declaremos en particular para "gato".

    En un programa (imaginario por supuesto) yo puedo
    utilizar estas clases (aves, pingüino y gato). El hecho de
    colocar a un individuo en particular en estas clases es lo que se
    llama objeto y se dice que es una instancia de una clase.
    Así, si yo coloco a Oscar (un pingüino gato) en mi
    programa, se dice que el objeto Oscar es una instancia de la
    clase emperador.

    Oscar aparecerá en mi programa con todas las
    características (herencia) de aves, de pingüino y de
    gato, por otra parte, entender el concepto de Polimorfismo se lo
    puede definir así, supóngase que declaramos un
    objeto llamado Suma, este objeto requiere dos parámetros
    (o datos) como mensaje para operar. En la programación
    tradicional tendríamos que definir el tipo de datos que le
    enviamos, como por ejemplo dos números enteros, dos
    números reales, etc. En O-O-P el tipo de dato se conoce
    hasta que se ejecuta el programa.

     EL
    COMPILADOR

    Es un programa que traduce un lenguaje de alto nivel al
    lenguaje máquina. Un programa compilado indica que ha sido
    traducido y está listo para ser ejecutado. La
    ejecución de los programas compilados es más
    rápida que la de los interpretados, ya que el interprete
    debe traducir mientras está en la fase de ejecución
    (saca todos los errores). Un compilador es un programa que
    traduce el programa fuente (conjunto de instrucciones de un
    lenguaje de alto nivel, por ejemplo Basic o Pascal) a programa
    objeto (instrucciones en lenguaje máquina que la
    computadora puede interpretar y ejecutar).

    Se requiere un compilador para cada lenguaje de
    programación. Un compilador efectúa la
    traducción, no ejecuta el programa. Una vez compilado el
    programa, el resultado en forma de programa objeto será
    directamente ejecutable. Presentan la ventaja considerable frente
    a los intérpretes de la velocidad de
    ejecución, por lo que su uso será mejor en aquellos
    programas probados en los que no se esperan cambios y que deban
    ejecutarse muchas veces. En caso de que se opte por un
    interpretador se debe considerar que el intérprete resida
    siempre en memoria.

    INTERPRETE

    Traductor de lenguajes de programación de alto
    nivel, los intérpretes ejecutan un programa línea
    por línea. El programa siempre permanece en su forma
    original (programa fuente) y el interprete proporciona la
    traducción al momento de ejecutar cada una de la s
    instrucciones. Un intérprete es un programa que procesa
    los programas escritos en un lenguaje de alto nivel, sin embargo,
    está diseñado de modo que no existe independencia
    entre la etapa de traducción y la etapa de
    ejecución. Un intérprete traduce cada
    instrucción o sentencia del programa escrito a un lenguaje
    máquina e inmediatamente se ejecuta. Encuentran su mayor
    ventaja en la interacción con el usuario, al facilitar el
    desarrollo y
    puesta a punto de programas, ya que los errores son
    fáciles de detectar y sobre todo de corregir.

    LENGUAJE
    MÁQUINA

    Lenguaje original de la computadora, un programa debe
    estar escrito en el lenguaje de
    la máquina para poder ser
    ejecutado. Este es generado por software y no por el
    programador. El programador escribe en un lenguaje de
    programación, el cual es traducido al lenguaje de
    máquina mediante intérpretes y
    compiladores.

    Términos desconocidos

    LENGUAJES DE PROGRAMACIÓN: Los lenguajes
    de programación son lenguajes especiales que ayudan al
    usuario a comunicarse con la computadora.  

    LENGUAJE DE MÁQUINA: El lenguaje de
    máquina está orientado hacia la máquina que
    está constituida por varios arreglos de
    "bits".  Este lenguaje es fácil de entender por
    la computadora, pero difícil para el
    usuario. 

    LENGUAJE DE BAJO NIVEL: Es un lenguaje de
    programación bien cercano al lenguaje de
    máquina.  

    LENGUAJE DE ALTO NIVEL: Es un lenguaje que se
    asemeja más al lenguaje humano que a un lenguaje de
    máquina o ensamblador.
     Es más fácil escribir programas en este
    lenguaje, pero luego deben ser traducidos por compiladores o
    intérpretes para que la computadora los
    entienda.

    INTERPRETE: Es un programa que traduce un
    lenguaje de alto nivel al lenguaje de máquina de una
    computadora.  El programa siempre permanece en su forma
    original (programa fuente) y traduce cuando está en la
    fase de ejecución instrucción por
    instrucción.

    CÓDIGO FUENTE: Es un conjunto de
    instrucciones del programa que están escritas en un
    lenguaje de programación.

    BIBLIOGRAFIA

    • http://www.pegasosoft.com/curso/introduccion.htm
    • http://www.infosistemas.com.mx/soto10.htm
    • http://www.euitt.upm.es/java/cursojava/1_Intro/1.3_OOP/oop.htm
    • http://www.monografias.com/trabajos/tendprog/tendprog
    • http://www.monografias.com/trabajos/lengprog/lengprog
    • http://lenguajes-de-programacion.com/
      (recomendada, EXCELENTE)
    • http://entren.dgsca.unam.mx/introduccion/lenguajes.html
    • http://www.lania.mx/biblioteca/newsletters/1996-primavera-verano/art1.html
    • http://www.lania.mx/biblioteca/newsletters/1996-primavera-verano/art2.html
    • http://www.geocities.com/escajarro/curso/8.htm
    • http://www.cs.buap.mx/~jcom/lprog/intro.html
    • http://www.depi.itch.edu.mx/apacheco/lengs/sitios.html
      (recomendada, EXCELENTE)
    • http://dac.escet.urjc.es/docencia/IB/IB_LENGUAJES.pdf
      ARCHIVO PDF
    • Enciclopedia Microsoft® Encarta® 98 © 1993-1997
      Microsoft Corporation.
    • Schildt , Turbo C/C++, manual de
      referencia.
      , Osborne/McGraw-Hill.
    • Ing. Favio Torres, PONTIFICIA UNIVERSIDAD
      CATOLICA DEL ECUADOR
      , Facultad de Ingeniería, Escuela de
      Sistemas
    • Cherre, Rafael Juan, Lenguaje de Programación
      en C++
      , Editorial Macro.
    • Francia, Darío Rafael, Programación
      Orientada a Objetos
      , Editorial Acisclo.
    • Joyanes, Aguilar Luis, Programación
      Algoritmos,
      estructuras
      de datos y objetos
      , McGrawHill
    • Deitel P. J. Deitel H. M.,Cómo programar en
      C++,
      Prentice may

    DATO ADICIONAL

    Este trabajo ya se lo puede encontrar en www.monografías.com
    para aquellas personas que lo soliciten estricta y
    únicamente como material de consulta.

    Reservados todos los derechos de
    autor.

    Oscar Roberto Cabrera Rodríguez

    Universidad San Francisco de Quito. Colegio de Artes
    Contemporáneas.

    Quito – Ecuador

    Cualquier sugerencia a:

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter