octubre 18, 2010

Historia.

Entre 1940-1954

  • Eran computadoras fabricadas para resolver un tipo de problema en particular (de propósito especifico).  Utilizaban válvulas de vacío.
  • Las computadoras de esta época carecían de un sistema operativo y solamente podían realizar una tarea o trabajo a la vez.  En la transición de una tarea a otra se perdía mucho tiempo.
  • Todas las instrucciones para crear un programa eran codificadas a mano (conectando y desconectando cables) o a través de un conjunto de interruptores. Era un proceso lento y tedioso.
  • A ese conjunto de instrucciones nativas para esa computadora en particular se le llamó lenguaje de máquina.  Estos lenguajes de máquina son dependientes de la máquina.

Entre 1954 y 1965.

  • Las computadoras todavía eran fabricadas para resolver problemas específicos pero ya utilizaban transistores.
  • Se desarrollan los primeros sistemas operativos que implementan el procesamiento por lotes.
  • Con la utilización de las tarjetas perforadas la codificación de los programas era un proceso mucho más fácil por que se podían agrupar en lotes.   
  • En el procesamiento por lotes, cuando el programa estaba en ejecución, éste tenía control total de la computadora.  Al terminar un programa (bien normal o anormalmente), el control era devuelto al sistema operativo, el cual "limpiaba" y leía e iniciaba el siguiente programa.
  • Nace el concepto de lenguaje ensamblador como mecanismo de abstracción del lenguaje de máquina.  En vez de utilizar las cadenas de números (lenguaje de máquina) que las computadoras podían entender directamente, los programadores empezaron a utilizar abreviaturas del inglés para representar las operaciones elementales.  Estas abreviaturas formaron la base para los lenguajes ensambladores.  
  • Los programas traductores conocidos como ensambladores se desarrollaron para convertir los primeros programas en lenguaje ensamblador a lenguaje máquina.
  • A mediado de la década de los cincuentas IBM desarrolla el Fortran (FORmula TRANslator, traductor de fórmulas) para utilizarse en aplicaciones científicas y de ingeniería que requerían cálculos complejos.
  • El desarrollo del hardware propicia un descenso en los precios y se incrementa la velocidad de procesamiento pero también incrementa el costo de desarrollo del software.  Cuando un proyecto alcanzaba un cierto tamaño, su complejidad lo hacia incontrolable.  Surge el término: ingeniería del software y crisis del software.
  • Se empiezan a desarrollar sistemas operativos que soportan la multiprogramación permitiendo la operación simultanea de muchas tareas que compiten para compartir los recursos de la computadora pero todavía se siguen utilizando las tarjetas perforadas para programar las tareas.
  • Se propone la idea de ejecutar más de una tarea simultáneamente para reducir los costos de procesamiento.  Nace el tiempo compartido donde los usuarios acceden a terminales que, por lo general, son dispositivos compuestos por un teclado o monitor donde había docenas o cientos de usuarios compartiendo la computadora al mismo tiempo.  La computadora en realidad no ejecutaba los procesos de los usuarios al mismo tiempo.  Lo que hacía era ejecutar una pequeña porción de trabajo de un usuario, y después procedía a dar servicio al siguiente usuario, con la posibilidad de proporcionar el servicio a cada usuario varias veces por segundo.
  • A finales de la década de los cincuentas el gobierno de Estados Unidos desarrolla el COBOL (COmmon Business Oriented Languaje, Lenguaje común orientado a negocios) para tener un lenguaje común en el desarrollo de aplicaciones comerciales que requieren de una manipulación precisa y eficiente de grandes volúmenes de datos.
  • En 1964 nace el lenguaje BASIC inventado por John George Kemeny y Thomas Eugene Kurtz en el Dartmounth College.  BASIC fué diseñado para permitir a los estudiantes escribir programas usando terminales en una computadora en tiempo compoartido.  El lenguaje fue en parte basado en Fortran II y Algol 60
  • En esta época era muy fácil producir programas con código spaghetti: programas que tienen una estructura de control de flujo compleja e incomprensible.  El nombre deriva del hecho que este tipo de código parece asemejarse a un plato de spaghetti, es decir, un montón de hilos intrincados y anudados.

Entre 1965 y 1975. 

  • Las computadoras se fabrican en base al circuito integrado.
  • La programación estructurada es un concepto que surge como respuesta a la crisis del software de los años 60s.  Proponía utilizar un estilo disciplinado de programación que buscaba que los programas fueran fácilmente modificables.  Así lenguajes como Fortran se hicieron más estructurados.
  • Aparecen los primeros compiladores: programas traductores que convierten a lenguaje máquina, las instrucciones que están escritas en un lenguaje de alto nivel.
  • En 1969 nace el sistema operativo UNIX.
  • En 1971 Niklaus Wirth desarrolla el lenguaje Pascal diseñado para la enseñanza de la programación estructurada, y de inmediato se convirtío en el lenguaje de programación preferido en la mayoría de las universidades.
  • En 1972 Dennis M. Ritchie crea el lenguaje de programación de propósito general y estructurado que llamó C.  El lenguaje se utilizó para el desarrollo del sistema operativo UNIX (que hasta entonces, era programado en lenguaje ensamblador).
  • En ese mismo año Xerox comienza a desarrollar un sistema basado en GUI conocido como Alto y luego como Xerox Star.
  • En 1973 Bill Gates y Paul Allen crean su primera implementación BASIC para MITS Altair.  Posteriormente fundarian Microsoft.

Entre 1975 y 1985.

  • Las computadoras se fabrican en base al microprocesador.
  • El desarrollo de los lenguajes de programación utiliza un paradigma de programación modular.  La idea consistía en dividir un programa en un conjunto de módulos o subprogramas autónomos que son programados, verificados y modificados individualmente.  Dichos módulos pueden ser desarrollados por distintos programadores y testeados y mantenidos en forma independiente. 
  • El lenguaje de programación Ada se desarrolló bajo el patrocinio del Departamento de Defensa de los Estados Unidos (DOD) durante la década de los setenta y los primeros años de la decada de los ochentas.  Una de las características importantes de Ada se conoce como multitarea, la cual permite a los programadores especificar que muchas actividades ocurran en paralelo.
  • Con la introducción de la micro-computadora Altair 8800 en 1975 el lenguaje BASIC se extendió ampliamente.
  • En 1997 con el lanzamiento de su APPLE I, la empresa Apple Computer popularizó el fenómeno de la computación personal.  Estas computadoras eran relativamente económicas, de manera que la gente podía adquirirlas para uso personal o para negocios.
  • BASIC se convirtió en uno de los lenguajes estándar de la computadora APPLE II.
  • En 1979 IBM ya incluía en sus PCs el sistema operativo MS-DOS y el lenguaje BASIC de Microsoft.  A partir de este momento, BASIC se convirtió en una característica estándar para casi todas las PCs de IBM y compatibles.
  • A principios de los ochentas las PCs se empezaron a conectar a través de redes de área local dentro de las empresas.  Esto derivó en el fenómeno denominado computación distribuida.
  • La conectividad en red fue posible por el desarrollo del protocolo TCP/IP desarrollado en 1983.

Entre 1985 y 1995.

  • En 1986 el lenguaje C es el lenguaje utilizado en la industria del software.  Bjarne Stroustroupt desarrolló una extensión de C en los laboratorios Bell: C++.  Proporciona la capacidad de programar con orientación a objetos.
  • En 1989 Tim Berners Lee desarrolla la World Wide Web.  
  • En los años noventas el paradigma es la programación orientada a objetos.
  • A principios de la década de los noventa  Microsoft introduce Visual Basic para simplificar el desarrollo de aplicaciones para el sistema operativo Microsoft Windows, y ya es uno de los lenguajes más populares en el mundo.  Aparece la primera versión de HTML
  • A principios de los noventas, se programa en C++, sin embargo la mayoría de los programadores no utilizan las caracteristicas de la Programación Orientada a Objetos.
  • En 1991 un grupo de ingenieros de Sun Microsystems, liderados por Patrick Naugthon y James Gosling estaban creando un lenguaje -inicialmente denominado Oak- que pudiera ser utilizado para dispositivos de consumo con poco poder de procesamiento y memoria.  En consecuencia los programas generados tenían que ser pequeños, veloces, confiables y transportables.  Lograron este objetivo utilizando una de las ideas de Niklaus Wirth (inventor del Pascal) : una máquina virtual, creando un lenguaje basado en C++ que generaba código intermedio para esa máquina hipotética.  Este código intermedio se podía utilizar en cualquier máquina que tuviera el intérprete correcto.
  • En 1992, el proyecto Green desarrolló su primer producto, llamado "*7".  Sin embargo, nadie estaba interesado en fabricarlo.
  • En 1993 se crea la empresa First Person, Inc. con el objetivo de comercializar la tecnología desarrollada, pero nadie lo hizo.
  • En 1994 First Person se disolvío.  En ese año la World Wide Web crecía sin parar.  La clave de este crecimiento era el navegador Web Mosaic desarrollado por Marc Andressen que posteriormente fundaría la empresa NetScape.  En ese mismo año, los desarrolladores de Java se dieron cuenta que podían adaptar el lenguaje para la World Wide Web.  Desarrollaron el navegador HotJava (escrito totalmente en Java) que podía mostrar contenido dinámico en las páginas Web, como interactividad y animaciones utilizando pequeños programas incrustados denominados Applets.

Entre 1995 a la fecha.

  • En 1996 se lanza la primera versión de Java (JDK 1.0 - Java Development Kit).  Esta versión no era demasiado estable.
  • En 1997 sale el JDK 1.1, una versión estable y robusta.
  • En 1998 se anuncia la versión 1.2 del JDK y se le conoce como Java 2 Standard Edition Software Development Kit Versión 2 (J2SE SDK). También se presenta Java 2 Micro Edition SDK y Java 2 Enterpirse Edition para el desarrollo en aplicaciones móviles y para procesamiento en servidores respectivamente.
  • En el año 2000 se libera la versión 1.3 de J2SE.  A partir de esta versión, se realizan mejorar incrementales de la versión inicial de Java 2, integrando nuevas características, mejorando el rendimiento.
  • En el 2000, Microsoft anuncia su lenguaje C#, lenguaje de programación orientado a objetos diseñado para generar programas para la plataforma .NET.  Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma.NET, similar al de Java aunque incluye mejoras derivadas de otros lenguajes (entre ellos Delphi).
  • A partir de 2002, y con la introducción de la plataforma .NET de Microsoft, VB comienza a utilizar el paradigma "Orientado a Objetos".  
  • En el año 2002 se libera la versión 1.4 de J2SE.  Este es el primer lanzamiento de la plataforma Java desarrollado bajo el Java Community Process (JCP) instancia reguladora de los cambios en en lenguaje.
  • En el año 2004 sale la versión J2SE 5.0 (originalmente numerado como Java 1.5).
  • En el 2006 se libera Java SE 6.  En esta versión, Sun Microsystems cambia el nombre J2SE por Java SE y elimina el ".0" del número de la versión.  Se inicia el desarrollo de Java SE 7.
  • En el 2006 y 2007 Sun Microsystems libera gran parte de su tecnología bajo la licencia GNU, GPL por lo que se puede decir que ahora Java es open source.
  • En el 2009 Oracle compra a Sun Microsystems.  Desde ese momento existe incertidumbre en la industria sobre el futuro de Java.
  • En el 2010 Oracle e IBM anuncian el apoyo para el proyecto open source: OpenJDK.  Con ello, dar certidumbre del futuro de Java.

Referencias:

  1. http://es.wikipedia.org/wiki/C%C3%B3digo_spaghetti
  2. es.wikipedia.org/wiki/Java_(lenguaje_de_programación)
  3. Java 2, Volumen 1. Fundamentos, Cay S. Hortsmann, Gary Cornell, págs. 15,16,17, Edición 2003, Editorial Pearson Education
  4. Como programar en Java, Deitel&Deitel, págs. 2-10, Edición 2008, Editorial Pearson Education
  5. Orientación a Objetos con Java y UML, Carlos Fontela, págs. 7-12, Edición 2004, Editorial Nueva Librería.
Posted on by Raúl Oramas Bustillos. | No comments

0 comentarios:

Publicar un comentario

Deja tus comentarios