Eu li essa pergunta e isso me fez pensar em outra coisa relativamente recente. Linguagens orientadas a objetos. Não sei ao certo quando o primeiro foi criado, mas por que demorou tanto tempo para que se tornassem mainstream?
- C se tornou muito popular, mas não se tornou o C ++ orientado a objetos por anos (décadas?) Depois
- Nenhuma linguagem convencional antes dos anos 90 era orientada a objetos
- A orientação a objetos realmente parecia decolar com Java e C ++ na mesma época
Agora, minha pergunta, por que isso demorou tanto? Por que C não foi originalmente concebido como uma linguagem orientada a objetos? Tomar um subconjunto muito pequeno de C ++ não afetaria muito a linguagem principal. Por que essa idéia não era popular até os anos 90?
Respostas:
Primeiro, vamos tentar estabelecer uma linha do tempo:
As principais influências de Ritchie foram o BCPL e o ALGOL (ambos são linguagens imperativas), e o C foi criado em um momento em que a abordagem de Simula e Smalltalk à orientação a objetos ainda não era bem conhecida. Foi concluída por volta de 1972 e C com Classes apareceu apenas 7 anos depois, com Dennis Ritchie e Brian Kernighan envolvidos em sua criação :
O objetivo C apareceu 11 anos depois, e ele e C ++ foram esforços importantes e bem-sucedidos para levar a orientação a objetos para C. A diferença pode parecer longa agora, mas não acho que tenha sido particularmente longa na época, lembre-se de que estamos conversando cerca de uma era antes da Internet. 1993, quando o Mosaic (o primeiro navegador) apareceu, foi um ponto de virada na indústria. Java e Delphi, lançados alguns anos depois, tinham uma enorme vantagem sobre seus antecessores, pelo menos em termos de popularidade. A web também era uma das plataformas que a Sun estava alvejando com sua promessa WORA , talvez a mais importante da época, e o Java era amplamente comercializado como a linguagem para a plataforma recém-nascida.
Outro fator importante é que o final dos anos 80 e o início dos anos 90 foram os tempos em que as GUIs começaram a se tornar populares, especialmente na computação doméstica, enquanto ao mesmo tempo o hardware estava ficando cada vez mais barato. A orientação a objetos é um paradigma extremamente conveniente no desenvolvimento de GUIs e aplicativos orientados a gráficos em geral, e Turbo Pascal, Delphi, Visual Basic e (talvez em menor extensão) Java foram elogiados (na época) pela simplicidade que eles traziam ao desenvolvimento da GUI.
O marketing agressivo de Sun da Java obviamente também desempenhou um papel, no entanto, como ainda me lembro vividamente da minha primeira interação com ele, definitivamente não fiquei impressionado. Minha primeira reação ao Java foi "hm, nada mais do que um recurso C ++ interpretado por pessoas com fome, vou me ater ao Turbo Pascal, muito obrigado" (ei, eu tinha apenas 17 anos na época;). Eu não sei como mais alguém reagiu ao Java na época, mas para mim foi apenas uma moda e rapidamente mudei para o Delphi (e Visual Basic, suspiro), e só comecei a usar o Java alguns anos depois, na faculdade , e apenas porque era um curso obrigatório.
Embora seja verdade que Java, e seu sabor de orientação a objetos, se popularizem extremamente rapidamente, eu realmente não acho que o paradigma não fosse bastante popular antes de meados da década de 90, a introdução da Web mudou nossa definição de popularidade. De qualquer forma, meados dos anos 90 foi uma época em que o desenvolvimento de software em geral teve um surto de popularidade, com a web, a proliferação de GUIs e o hardware mais barato sendo fatores-chave. Java estava simplesmente no lugar certo, na hora certa.
Leitura adicional:
Perguntas relacionadas:
fonte