Leí esta pregunta y me hizo pensar en otra cosa bastante reciente. Lenguajes orientados a objetos. No estoy seguro de cuándo se creó el primero, pero ¿por qué pasó tanto tiempo antes de que se generalizara?
- C se hizo muy popular, pero no se convirtió en el C ++ orientado a objetos durante años (¿décadas?) Más tarde
- Ningún lenguaje convencional antes de los 90 estaba orientado a objetos
- Orientado a objetos realmente parecía despegar con Java y C ++ casi al mismo tiempo
Ahora, mi pregunta, ¿por qué tomó tanto tiempo? ¿Por qué no se concibió originalmente C como un lenguaje orientado a objetos? Tomar un subconjunto muy pequeño de C ++ no habría afectado mucho el lenguaje central, entonces, ¿por qué esta idea no fue popular hasta los años 90?
Respuestas:
Primero, intentemos establecer una línea de tiempo:
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 :
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:
fuente