Primero, intentemos establecer una línea de tiempo:
- 1963: el Sketchpad de Ivan Sutherland se considera un trabajo pionero tanto en orientación a objetos como en GUI.
- 1967 Simula aparece, y si él o Smalltak deben considerarse el primer lenguaje orientado a objetos es aún un tema de debate.
- 1969 - Dennis Ritchie comienza a desarrollar C .
- 1972 - Smalltalk , un lenguaje fuertemente influenciado por Simula, aparece. Es una creación de Alan Kay, a quien generalmente se le considera el inventor del término "orientación a objetos" (Alan Kay también inspiró el personaje homónimo en Tron ;).
- 1979 - Bjarne Stroustrup comienza a trabajar en C con Classes, el precursor de C ++ .
- 1983 - Aparece el objetivo C , y esencialmente es un esfuerzo para agregar el sabor de Smalltalk de la orientación del objeto a C.
- 1985 - Aparece Object Pascal , y Turbo Pascal 5.5 lo populariza casi de inmediato .
- 1986 - Comienza el trabajo en CLOS , un esfuerzo por llevar la orientación de los objetos a Common Lisp.
- 1991 - Se lanza Visual Basic .
- 1995 - Se lanza Java .
- 1995 - Delphi es lanzado.
Las principales influencias de Ritchie fueron BCPL y ALGOL (ambos son lenguajes imperativos), y C se creó en un momento en que el enfoque de Simula y Smalltalk para la orientación a objetos aún no era conocido. Se completó alrededor de 1972 y C con clases apareció solo 7 años después, con Dennis Ritchie y Brian Kernighan involucrados en su inicio :
En ese momento, consideraba que C era el mejor lenguaje de programación de sistemas disponible. Eso no era tan obvio entonces (1979) como más tarde se convirtió, pero tuve expertos como Dennis Ritchie, Steve Johnson, Sandy Fraser, Greg Chesson, Doug McIlroy y Brian Kernighan por el corredor de quienes pude aprender y obtener retroalimentación. Sin su ayuda y consejo, y sin C, C ++ habría nacido muerto.
Contrariamente a los rumores repetidos, nunca me dijeron que tenía que usar C; tampoco me dijeron que no usara C. De hecho, el primer manual de C ++ surgió de la fuente troff del manual de C que Dennis me dio. Se diseñaron muchos idiomas nuevos en los laboratorios Bell; al menos en "Investigación", no había reglas que obligaran a la intolerancia lingüística.
El objetivo C apareció 11 años después, y tanto él como C ++ fueron esfuerzos importantes y exitosos para llevar la orientación de los objetos a C. La brecha puede parecer larga ahora, pero no creo que fuera particularmente larga en ese momento, recuerda que estamos hablando sobre una era anterior a la World Wide Web. 1993, cuando apareció Mosaic (el primer navegador) fue un punto de inflexión en la industria. Java y Delphi, lanzados un par de años después, tenían una gran ventaja sobre sus predecesores, al menos en términos de popularidad. La web también fue una de las plataformas a las que Sun apuntaba con su promesa de WORA , quizás la más importante en ese momento, y Java se comercializó fuertemente como el lenguaje para la plataforma recién nacida.
Otro factor clave es que a fines de la década de 1980 y principios de la década de 1990 fue cuando las GUI comenzaron a ser populares, especialmente en la informática doméstica, mientras que al mismo tiempo el hardware se volvía cada vez más barato. La orientación a objetos es un paradigma extremadamente conveniente cuando se desarrollan GUI y aplicaciones orientadas a gráficos en general, y Turbo Pascal, Delphi, Visual Basic y (quizás en menor medida) Java fueron elogiados (en ese momento) por la simplicidad que aportaron al desarrollo de GUI.
El marketing agresivo de Sun de Java obviamente también jugó un papel, sin embargo, dado que todavía recuerdo vívidamente mi primera interacción con él, definitivamente no me impresionó. Mi primera reacción a Java fue "hm, nada más que un recurso hambriento interpretado en C ++, me quedaré con Turbo Pascal, muchas gracias" (hey, solo tenía 17 años en ese momento;). No sé cómo alguien más reaccionó a Java en ese momento, pero para mí fue solo una moda y rápidamente me mudé a Delphi (y Visual Basic, suspiro), y solo comencé a usar Java unos años más tarde, en la universidad , y solo porque era un curso obligatorio.
Si bien es cierto que Java, y su sabor de orientación a objetos, se hicieron populares extremadamente rápido, realmente no creo que el paradigma no fuera bastante popular antes de mediados de la década de 1990, la introducción de la web cambió nuestra definición de popularidad. En cualquier caso, a mediados de la década de 1990 fue un momento en que el desarrollo de software en general tuvo un aumento de popularidad, con la web, la proliferación de GUI y hardware más barato como factores clave. Java estaba simplemente en el lugar correcto en el momento correcto.
Otras lecturas:
Preguntas relacionadas: