Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Nombre
EDVAC
(Electronic Discrete Variable Automatic Computer) por sus
siglas en inglés, fue una de las primeras
computadoras electrónicas. A diferencia de la ENIAC, no
era decimal, sino binaria y tuvo el primer programa diseñado
para ser almacenado. Este diseño se convirtió en el estándar
de arquitectura para la mayoría de las computadoras
modernas.
Lenguaje Máquina
Los circuitos microprogramables son sistemas digitales, lo
que significa que trabajan con dos únicos niveles de
tensión. Dichos niveles, por abstracción, se simbolizan con
el cero, 0, y el uno, 1, por eso el lenguaje de máquina sólo
utiliza dichos signos. Esto permite el empleo de las teorías
del álgebra booleana y del sistema binario en el diseño de
este tipo de circuitos y en su programación.
Álgebra booleana
También llamada Algebra de Boole, en informática y
matemática, es una estructura algebraica que contiene las
operaciones lógicas AND, OR y NOT, así como el conjunto de
operaciones unión, intersección y complemento.
Sistema Binario
En matemáticas e informática, es un sistema de numeración en
el que los números se representan utilizando solamente
las cifras cero y uno (0 y 1). Los ordenadores trabajan
internamente con dos niveles de voltaje, por lo que su
sistema de numeración natural es el sistema binario
(encendido 1, apagado 0).
John von Neumann zu Margitta
(28 de diciembre de 1903 - 8 de febrero de 1957)
Vuelve al paso 2.
LENGUAJE DE PROGRAMACIÓN
Con la aparición de las computadoras desaparecen las
secuencias de posiciones de llaves mecánicas que debían
desconectarse para obtener una acción determinada, una llave
conectada era un 1 y una llave desconectada era un 0. Una
sucesión de llaves en cualquiera de sus dos posiciones
definía una secuencia de ceros y unos (por ejemplo:
0100011010011101...) que venía a representar una instrucción
o un conjunto de instrucciones (programa) para el ordenador
(o computador) en el que se estaba trabajando. A esta
primera forma de especificar programas para una computadora
se la denomina lenguaje máquina o código máquina.
Concepto
Un lenguaje de programación es un conjunto de símbolos y
reglas sintácticas y semánticas que definen su estructura y
el significado de sus elementos y expresiones, y utilizado
para controlar el comportamiento físico y lógico de una
máquina.
Lenguajes Maquina
Están escritos en lenguajes directamente inteligibles por la
maquina (computadora), ya que sus instrucciones son cadenas
binarias (0 y 1). Da la posibilidad de cargar (transferir un
programa a la memoria) sin necesidad de traducción posterior
lo que supone una velocidad de ejecución superior, solo que
con poca fiabilidad y dificultad de verificar y poner a
punto los programas.
Lenguajes compilados
Naturalmente, un programa que se escribe en un lenguaje de
alto nivel también tiene que traducirse a un código que
pueda utilizar la máquina. Los programas traductores que
pueden realizar esta operación se llaman compiladores.
Éstos, como los programas ensambladores avanzados, pueden
generar muchas líneas de código de máquina por cada
proposición del programa fuente. Se requiere una corrida de
compilación antes de procesar los datos de un problema.
Lenguajes interpretados
Se puede también utilizar una alternativa diferente de los
compiladores para traducir lenguajes de alto nivel. En vez
de traducir el programa fuente y grabar en forma permanente
el código objeto que se produce durante la corrida de
compilación para utilizarlo en una corrida de producción
futura, el programador sólo carga el programa fuente en la
computadora junto con los datos que se van a procesar. A
continuación, un programa intérprete, almacenado en el
sistema operativo del disco, o incluido de manera permanente
dentro de la máquina, convierte cada proposición del
programa fuente en lenguaje de máquina conforme vaya siendo
necesario durante el proceso de los datos. No se graba el
código objeto para utilizarlo posteriormente.
Características
Programar en lenguaje ensamblador es difícil de
aprender, entender, leer, escribir, depurar y
mantener, por eso surgió la necesidad de los lenguajes
compilados.
Velocidad
Eficiencia de tamaño
Flexibilidad
Velocidad
El proceso de traducción que realizan los intérpretes,
implica un proceso de cómputo adicional al que el
programador quiere realizar. Por ello, nos encontraremos con
que un intérprete es siempre más lento que realizar la misma
acción en Lenguaje Ensamblador, simplemente porque tiene el
costo adicional de estar traduciendo el programa, cada vez
que lo ejecutamos.
Para darnos una idea, en una PC, y suponiendo que todos son
buenos programadores, un programa para ordenar una lista
tardará cerca de 20 veces más en Visual Basic (un
intérprete), y 2 veces más en C (un compilador), que el
equivalente en Ensamblador.
Por ello, cuando es crítica la velocidad del programa,
Ensamblador se vuelve un candidato lógico como lenguaje.
Ahora bien, esto no es un absoluto; un programa bien hecho
en C puede ser muchas veces más rápido que un programa mal
hecho en Ensamblador; sigue siendo sumamente importante la
elección apropiada de algoritmos y estructuras de datos. Por
ello, se recomienda buscar optimizar primero estos aspectos,
en el lenguaje que se desee, y solamente usar Ensamblador
cuando se requiere más optimización y no se puede lograr por
estos medios.
Eficiencia de Tamaño
Flexibilidad
Tiempo de programación
Programas fuente grandes
Peligro de afectar recursos inesperadamente
Falta de portabilidad
Tiempo de programación