Origen de la programacion
Los primeros programadores tenían que ingresar los códigos binarios, lo cual se conoce como programación en código máquina y es increíblemente compleja y difícil. El paso siguiente fue crear un traductor que simplemente convertía palabras en inglés equivalentes a los códigos binarios en los propios códigos binarios. De esta manera en vez de tener que recordar que el código 001273 05 04 significaba sumar 5 + 4 , los programadores podían escribir entonces ADD 5 4. Esta simple mejora hizo que la vida fuera más sencilla y estos sistemas de codificación fueron los primeros lenguajes de programación, habiendo distintas versiones para cada tipo de computadora. Se los conocía como lenguajes assembler …ver más…
Por ejemplo, una calculadora programable simple podría asignar los opcodes :
1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDE.
Supongamos que queremos realizar la operación 5 * 3 + 2, en la calculadora descrita arriba. En memoria, podríamos "escribir" el programa de la siguiente forma:
[pic]
Podemos ver que con esta representación, es simple expresar las operaciones de las que es capaz el hardware (en este caso, nuestra calculadora imaginaria), en la memoria.
La descripción y uso de los opcodes es lo que llamamos lenguaje de máquina. Es decir, la lista de códigos que la máquina va a interpretar como instrucciones, describe las capacidades de programación que tenemos de ella; es el lenguaje más primitivo, depende directamente del hardware, y requiere del programador que conozca el funcionamiento de la máquina al más bajo nivel.
Los lenguajes más primitivos fueron los lenguajes de máquina. Esto, ya que el hardware se desarrolló antes del software, y además cualquier software finalmente tiene que expresarse en el lenguaje que maneja el hardware.
La programación en esos momentos era sumamente tediosa, pues el programador tenía que "bajarse" al nivel de la máquina y decirle, paso a pasito, cada punto de la tarea que tenía que realizar. Además, debía expresarlo en forma numérica; y por supuesto, este proceso era propenso a errores, con lo que la productividad del programador era muy limitada. Sin