Introducción a la Programción I: Historia de la Programación

Que vamos a aprender aqui?

La idea de esta serie de tutoriales/guias/manuales o simplemente papers es la de hacer una introducción detallada a la programación.
De una forma lógica y abstracta seremos capaces de programar en pseudocódigo cualquier tipo de aplicación, crear diagramas de flujo de nuestro programa o simplemente entender que es lo que hace el programador de tu empresa.

Esta solo es una serie introductoria y más adelante se desarrollaran manuales de lenguajes específicos, pero en dichos manuales se interpretará que el lector ha pasado por este tema antes y comprende los aspectos fundamentales de la programación.

Así que te invito a empezar aprendiendo un poco de la historia del programador!

Historia de la programación

La primera generación

En el principio de los tiempos de los ordenadores, cuando solo existían unos pocos prototipos los ingenieros se vieron con la necesidad de crear sistemas programables.

Con ello nace la primera generación o más conocida comunmente como lenguaje máquina.

El lenguaje máquina es un conjunto de cadenas de 1 y 0 que se le pasaba a los ordenadores por medio de tarjetas perforadas.
La programación en aquel entonces consistia simplemente en ejecutar cálculos bastante primitivos dando la información paso por paso a modo de calculadora.

Con el tiempo los ingenieros se dieron cuenta de que el lenguaje máquina era descabelladamente difícil de programar y asimilar por lo que decidieron crear un “traductor” y usar terminos más entendibles por el ser humano.

Se usaba la letra A para hacer referencia a la suma, por ejemplo.

La segunda generación

Sin embargo vieron que este sistema no era suficiente y que hacía falta un sistema que integrara un campo más semántico y facilitara la tarea a los ingenieros.

Entonces nació el Lenguaje ensamblador que abstraía al programador de tanto código binario y representaba una interfaz más amigable y clara.

El lenguaje ensamblador permitió crear máquinas automáticas de traducción a código binario lo que permitía reducir errores triviales en la programación.

Para el lenguaje ensamblador se dejaron de usar letras y se empezaron a usar palabras completas como ADD, SUB, CALL, MUL, etc. A dichas palabras se les denominó instrucciones.

Ejemplo ensamblador: Hola Mundo!
		DOSSEG
		.model small
		.stack 100h
		.data
		msgHello DB "Hola mundo!", 13, 10, "$"
		.code
			mov ax,@data;
			mov ds,ax;
			
			mov dx,offset msgHello;
			mov ah,9;
			int 21h;
			
			mov ax,4C00h;
			int 21h;
		END
	

Tercera Generación

Con el paso del tiempo los ordenadores dejaron ser de uso exclusivo de ingenieros, otras ramas como Físicos o Químicos quisieron hechar mano del poder de computo de estas máquinas pero se les hacía muy complicado usar el lenguaje Ensamblador y no usar formulas.

Bajo esa necesidad nacen los lenguajes de Tercera Programación o Lenguajes de alto nivel
El primer lenguaje se llamó FORmula TRANslationFORTRAN un sistema para traducir fórmulas al lenguaje ensamblador y luego al lenguaje máquina.
A partir de dicho lenguaje se han desarrollado innumerables lenguajes siguiendo la idea de lograr la mayor abstracción posible y facilitar la programación.

En esta generación hay varios tipos de lenguajes orientados a una u otra necesidad, pero también existen lenguajes de alto y bajo nivel a la vez.
El ejemplo más conocido es C dado que contiene estructuras de programación de alto nivel y la facilidad de usar librerías (características de alto nivel), pero también contiene sentencias muy sencillas fáciles de traducir a lenguaje máquina, requiere entender como funciona la máquina y el uso de la memória (características de bajo nivel).

Muchas personas consideran lenguajes como C de medio nivel, aunque no es una categoría oficial.

Ejemplo en C: Hola mundo!
	  #include 
	  void main()
          {
            printf("Hola mundo!");
          }
	
Estudiaremos C más adelante cuando acabemos esta serie de tutoriales, ya que considero que es un lenguaje muy apropiado para aprender a programar

Cuarta Generación

Con todo esto nos acercamos al final de nuestro desarrollo, al menos de momento.
Los idiomas de cuarta generación son sintácticamente muy parecidos a los de tercer generación.
Pero incluyen novedosos conceptos como clases, objetos y eventos que permiten soluciones más lógicas.
Se consideran lenguajes de cuarta generación a C++, java y C#.

La cuarta generación también sse la conoce como Lenguajes Orientados a Objetos

Ejemplo de Java: Hola mundo!
		Button grabarButton = new Button("Grabar");
		grabarButton.setBackground(Color.green);
	

Como se denota, se puede apreciar una mayor abstracción aun que lenguajes de la tercera generación como C

Puede que en un futuro hagamos un curso de Java, todo dependerá de nuestro tiempo

Quinta Generación

No pensabais que todo acababa ahí verdad? Nos quedan los últimos, y en mi opinión, los más interesantes.
Son también conocidos como Lenguajes de inteligencia artificial
Nacieron en los 90 en el cual tuvieron un gran éxito, a día de hoy tienen una presencia importante, pero no tanto como en ese entonces.

La idea es crear diagramas, por ejemplo de Unified Modeling LanguageUML y la compilación del diagrama modelado producirá una salida de código que nos generará mayor parte del programa.

Que aprenderemos nosotros?

como expliqué al principio estos artículos se centrarán en dar una introducción detallada a la programación en general y no a un lenguaje en específico.
Al acabar la serie seremos capaces de entender como funciona un lenguaje de programación sin haber programado nunca.
De una forma lógica podremos resolver los problemas más importantes de nuestro software y darle una visión abstracta.

Porque es importante esto?

Todo buen programador que se precie crea un diagrama de flujo en el momento de realizar grandes proyectos (cuando digo grandes, me refiero a realmente grandes).
Ese paso nos ayuda a separar los módulos, centrar el código en lo que quiere hacerse en ese moemnto y no desviarse.

Les animo a todos a seguir con esta serie, sobretodo si quereis aprender a programar y nunca os atrevisteis a dar el primer paso!

La segunda parte del curso Introducción a la Programación está lista

Ver ahora

Así nos han encontrado!

  • historia de la programacion
  • conclusion de introduccion ala programacion
  • introduccion de la historia de la programacion

2 Responses to Introducción a la Programción I: Historia de la Programación

  1. Radare dice:

    Estos posts… no son reinventar la rueda UNA_VEZ_MAS?

  2. Nax dice:

    si, la red está llena de tutoriales de programación..

    sin embargo quiero dar la posibilidad a aquellos que nunca han programado a aprender a hacerlo..

    Además la idea es seguir luego con cursos de C, C#, Java, Javascript, Php, etc

    y prefiero tener un curso donde se den todas las bases teóricas y así no crear una redundancia infinita en que son las variables, funciones, metodos, clases, etc.

    De todas formas seguiremos con los tutoriales de toda la vida…
    estoy trabajando en algunos solo que el directorio demos me está dando algunos problemillas al subirlos a skamasle.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">