martes, 27 de noviembre de 2018

LENGUAJES DE ALTO NIVEL

CONCEPTO:


Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina. 

Están dirigidos a solucionar problemas mediante el uso de EDD's. 

Nota: EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa.



Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema. 

Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la maquina. 

Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito especifico (como FORTRAN para trabajos científicos). 

Resultado de imagen para lenguaje de alto nivel estructura



Algunas de las características de los lenguajes de alto nivel:

  • Depuración más sencilla: debido a que el código es más legible, la
  • depuración también se hace más fácil. Con la ayuda de editores (IDES - Entorno de Desarrollo Integrados) la compilación, depuración y ejecución se hacen más fácilmente.
  • Productividad aceptable: son más productivos que los lenguajes de alto nivel.
  • Algunos permiten la portabilidad: generalmente los interpretados.

Ventajas e inconvenientes:



• Genera un código más sencillo y comprensible.
• Escribir un código válido para diversas máquinas y, posiblemente, sistemas operativos. Inconvenientes 
• Reducción de velocidad al ceder el trabajo de bajo nivel a la máquina.
• Algunos requieren que la máquina cliente posea una determinada plataforma.


PRINCIPALES LENGUAJES DE ALTO NIVEL:

• VB.NET
• Ada 
• ALGOL 
• BASIC 
• C Sharp 
• FORTRAN 
• Java 
• Lisp 
• Modula-2 
• Pascal 
• Perl 
• PHP 
• PL/1 
• PL/SQL 
• Python 
• Ruby 
• Matlab


FORTRAN 

Abreviatura de Fórmula Translator (traductor de fórmulas), fue definido alrededor del año 1954, y disponible para el público en 1957 en los Estados Unidos por la compañía IBM. Es el más antiguo de los lenguajes de alto nivel, pues antes de su aparición todos los programas se escribían en lenguaje ensamblador o en lenguaje máquina. Es un lenguaje especializado en aplicaciones técnicas y científicas, caracterizándose por su potencia en los cálculos matemáticos, pero estando limitado en las aplicaciones de gestión, manejo de archivos, tratamiento de cadenas de caracteres y edición de informes.

COBOL

Es el lenguaje más usado en las aplicaciones de gestión, creado en 1960 por un comité denominado CODASYL, patrocinado por el Departamento de Defensa de los Estados Unidos, a fin de disponer de un lenguaje universal para aplicaciones comerciales como expresa su nombre (COmmon Business Oriented Language).

BASIC 

Fue diseñado por los profesores John G. Kemeny y Thomas E. Kurtz del Dartmouth College en 1964 con el objetivo principal de conseguir un lenguaje fácil de aprender para los principiantes, como se indica en su nombre Beginner’s All-purpose Symbolic Instruction Code (Código de instrucción simbólico de propósito general para principiantes).

PASCAL 

Fue creado por el matemático suizo Niklaus Wirth en 1970, basándose en el lenguaje AL-GOL, en cuyo diseño había participado en los años 60. Su nombre proviene del filósofo y matemático francés del siglo xvii Blaise Pascal, que inventó la primera máquina de tipo mecánico para sumar.

C/C++

Fue creado en 1972 por Dennis Ritchie a partir del trabajo elaborado por su colega de los laboratorios Bell Telephone, Ken Thompson. Estos habían diseñado con anterioridad el sistema operativo UNIX, y su intención al desarrollar el lenguaje C fue la de conseguir un lenguaje idóneo para la programación de sistemas que fuese independiente de la máquina con el cual escribir su sistema UNIX. Aunque fue diseñado inicialmente para la programación de sistemas, posteriormente su uso se ha extendido a aplicaciones técnico-científicas, de bases de datos, de proceso de textos, etc.



ESTE VÍDEO MUESTRA A GRANDES RASGOS LO QUE ES Y COMO FUNCIONAN LOS LENGUAJES DE ALTO NIVEL:



REFERENCIAS BIBLIOGRÁFICAS


sábado, 24 de noviembre de 2018

ARQUITECTURA DE VON NEUMANN

La arquitectura de Von Neumann es el diseño de las computadoras que utilizamos actualmente, que describe un computador u ordenador con 4 secciones principales que se encuentran interconectadas por un conjunto de cables, un enlace común. El nombre “arquitectura de Von Neumann” se le dio gracias a los aportes del Matemático John Von Neumann, que propuso el concepto de programa almacenado. Escribiendo un documento llamado First Draft of a Report on the EDVAC (1945) que fue redactado en vistas a la construcción del sucesor de la computadora ENIAC, y su contenido fue desarrollado por Presper Eckert, John Mauchly, Arthur Burks, y otros durante varios meses antes de que Von Neumann redactara el borrador del informe. 

Resultado de imagen para ARQUITECTURA DE VON NEUMANN
Este describe una arquitectura de diseño para un computador digital electrónico con partes que constan de una unidad de procesamiento que contiene una unidad aritmético lógica y registros del procesador, una unidad de control que contiene un registro de instrucciones y un contador de programa, una memoria para almacenar tanto datos como instrucciones, almacenamiento masivo externo, y mecanismos de entrada y salida. El significado ha evolucionado hasta ser cualquier computador de programa almacenado en el cual no pueden ocurrir una extracción de instrucción y una operación de datos al mismo tiempo, ya que comparten un bus en común. Esto se conoce como el cuello de botella Von Neumann y muchas veces limita el rendimiento del sistema.
El diseño de una arquitectura Von Neumann es más simple que la arquitectura Harvard más moderna, que también es un sistema de programa almacenado, pero tiene un conjunto dedicado de direcciones y buses de datos para leer datos desde memoria y escribir datos en la misma, y otro conjunto de direcciones y buses de datos para ir a buscar instrucciones.


Una máquina de Von Neumann tenia 5 partes básicas: La memoria, la unidad Aritmética lógica, la unidad de control del programa y los equipos de entrada y salida. La memoria constaba de 4096 palabras, cada una con 40 bits (0 o 1). Cada palabra podía contener 2 instrucciones de 20 bits o un número entero de 39 bits y su signo. Las instrucciones tenían 8 bits dedicados a señalar el tiempo de la misma y 12 bits para especificar alguna de las 4096 palabras de la memoria.
Dentro de la unidad aritmética/lógica, el antecedente directo actual CPU, había un registro interno especial de 40 bits llamado acumulador. Una instrucción típica era sumar una palabra de la memoria al acumulador o almacenar este en la memoria.

Definición formal

Las computadoras son máquinas de arquitectura Von Neumann cuando:
  • Tanto los programas como los datos se almacenan en una memoria en común. Esto hace posible la ejecución de comandos de la misma forma que los datos.
  • Cada celda de memoria de la máquina se identifica con un número único, llamado dirección.
  • Las diferentes partes de la información (los comandos y los datos) tienen diferente modos de uso, pero la estructura no se representa en memoria de manera codificada.
  • Cada programa se ejecuta de forma secuencial que, en el caso de que no haya instrucciones especiales, comienza con la primera instrucción. Para cambiar esta secuencia se utiliza el comando de control de transferencia.
Las secciones principales que constituyen a una computadora con arquitectura Von Neumann son:
1.- LA UNIDAD ARITMÉTICO-LÓGICA O ALU: Es el dispositivo digital encargado de efectuar las operaciones aritméticas y lógicas en los microprocesadores. 
2.- LA UNIDAD DE CONTROL: Es el dispositivo encargado de activar o desactivar los diversos componentes del microprocesador. 
3.- LA MEMORIA:  Son circuitos integrados capaces de almacenar información digital, a los que tiene acceso el microprocesador del equipo de computación. Las memorias podemos dividirlas en: 
4.- UN DISPOSITIVO DE ENTRADA/SALIDA: Entrada: Son los que envían información a la unidad de procesamiento, en código binario. Ejemplos: Teclados, sensores Salida: Son los dispositivos que reciben información que es procesada por la CPU y la reproducen para que sea perceptible para la persona. Ejemplo: Monitores. Todo ellos unidos por Buses de datos Proporciona un medio de transporte de los datos entre las distintas partes.

VÍDEO SOBRE "EL FUNCIONAMIENTO DEL MODELO DE VON NEUMANN":