Innanzitutto, proviamo a stabilire una sequenza temporale:
- 1963 - Sketchpad di Ivan Sutherland è considerato un lavoro pionieristico sia nell'orientamento agli oggetti che nelle GUI.
- 1967 appare Simula , e se sia esso o Smalltak da considerare il primo linguaggio orientato agli oggetti è ancora oggetto di dibattito.
- 1969 - Dennis Ritchie inizia in via di sviluppo C .
- 1972 - Appare Smalltalk , una lingua fortemente influenzata da Simula. È il frutto di Alan Kay, che è generalmente considerato l'inventore del termine "orientamento dell'oggetto" (Alan Kay ha anche ispirato l'omonimo personaggio di Tron ;).
- 1979 - Bjarne Stroustrup inizia a lavorare su C con Classes, il precursore di C ++ .
- 1983 - Appare l' obiettivo C , ed è essenzialmente uno sforzo per aggiungere il sapore dell'orientamento degli oggetti di Smalltalk a C.
- 1985 - Appare Object Pascal , ed è quasi immediatamente reso popolare da Turbo Pascal 5.5.
- 1986 - Inizia il lavoro su CLOS , uno sforzo per portare l'orientamento agli oggetti in Common Lisp.
- 1991 - Viene rilasciato Visual Basic .
- 1995 - Viene rilasciato Java .
- 1995 - Viene rilasciato Delphi .
Le principali influenze di Ritchie furono BCPL e ALGOL (entrambi sono linguaggi imperativi), e C fu creato in un momento in cui l'approccio di Simula e Smalltalk all'orientamento agli oggetti non era ancora ben noto. Fu completato intorno al 1972 e C con Classes apparve solo 7 anni dopo, con Dennis Ritchie e Brian Kernighan coinvolti nel suo inizio :
A quel tempo, ho considerato C il miglior linguaggio di programmazione dei sistemi disponibile. Non era poi così ovvio (1979) come divenne in seguito, ma avevo esperti come Dennis Ritchie, Steve Johnson, Sandy Fraser, Greg Chesson, Doug McIlroy e Brian Kernighan lungo il corridoio da cui potevo imparare e ottenere feedback. Senza il loro aiuto e consiglio e senza C, il C ++ sarebbe nato morto.
Contrariamente alle voci ripetute, non mi è mai stato detto che dovevo usare C; né mi è mai stato detto di non usare C. In effetti, il primo manuale C ++ è cresciuto dalla fonte di troff del manuale C che Dennis mi ha dato. Molte nuove lingue furono progettate nei laboratori Bell; almeno nella "ricerca" non c'erano regole che imponessero il bigottismo linguistico.
L'obiettivo C è apparso 11 anni dopo, e sia esso che C ++ sono stati grandi e riusciti sforzi per portare l'orientamento degli oggetti a C. Il divario potrebbe sembrare lungo ora, ma non credo che fosse particolarmente lungo, ricorda che stiamo parlando circa un'era prima del World Wide Web. 1993, quando apparve Mosaic (il primo browser) è stato un punto di svolta nel settore. Java e Delphi, rilasciati un paio di anni dopo, avevano un enorme vantaggio rispetto ai loro predecessori, almeno in termini di popolarità. Il web è stato anche una delle piattaforme Sun si indirizzava con la loro promessa WORA , forse la più importante, al momento, e Java è stato pesantemente commercializzato come la lingua per la piattaforma poi appena nato.
Un altro fattore chiave è che la fine degli anni '80 e l'inizio degli anni '90 furono un periodo in cui le GUI iniziarono a diventare popolari, specialmente nell'home computing, mentre allo stesso tempo l'hardware stava diventando sempre più economico. L'orientamento agli oggetti è un paradigma estremamente conveniente quando si sviluppano GUI e applicazioni orientate alla grafica in generale, e Turbo Pascal, Delphi, Visual Basic e (forse in misura minore) Java sono stati elogiati (all'epoca) per la semplicità che hanno portato allo sviluppo della GUI.
Ovviamente anche il marketing aggressivo di Sun di Java ha avuto un ruolo, tuttavia poiché ricordo ancora vividamente la mia prima interazione con esso, non sono stato sicuramente impressionato. La mia prima reazione a Java è stata "hm, nient'altro che una risorsa affamata interpretata in C ++, mi atterrò a Turbo Pascal, grazie mille" (ehi, avevo solo 17 anni all'epoca;). Non so come nessun altro abbia reagito a Java in quel momento, ma per me era solo una mania e sono passato rapidamente a Delphi (e Visual Basic, sospiro), e ho iniziato a usare Java solo pochi anni dopo, al college e solo perché era un corso obbligatorio.
Mentre è vero che Java, e il suo sapore di orientamento agli oggetti, diventano molto popolari molto rapidamente, non penso davvero che il paradigma non fosse abbastanza popolare prima della metà degli anni '90, l'introduzione del web ha cambiato la nostra definizione di popolarità. In ogni caso, la metà degli anni '90 è stata un'epoca in cui lo sviluppo del software in generale ha avuto uno scatto di popolarità, con il web, la proliferazione di GUI e l'hardware più economico come fattori chiave. Java era semplicemente nel posto giusto al momento giusto.
Ulteriori letture:
Domande correlate: