Najpierw spróbujmy ustalić linię czasu:
- 1963 - Sketchpad Ivana Sutherlanda jest uważany za pionierskie dzieło zarówno w orientacji obiektowej, jak i GUI.
- 1967 Pojawia się Simula i kwestia, czy należy uznać ją lub Smalltaka za pierwszy język obiektowy, jest nadal przedmiotem dyskusji.
- 1969 - Dennis Ritchie rozpoczyna rozwijanie C .
- 1972 - Pojawia się Smalltalk , język będący pod silnym wpływem Simuli. Jest to pomysł Alana Kay, który jest powszechnie uważany za wynalazcę terminu „orientacja obiektowa” (Alan Kay również zainspirował tytułową postać z Tron ;).
- 1979 - Bjarne Stroustrup rozpoczyna pracę nad C z Classes, prekursorem C ++ .
- 1983 - Pojawia się Cel C i zasadniczo jest to próba dodania smaku orientacji obiektowej Smalltalk do C.
- 1985 - Pojawia się Object Pascal , który niemal natychmiast został spopularyzowany przez Turbo Pascal 5.5.
- 1986 - Rozpoczęto prace nad CLOS , próbą dostosowania orientacji obiektowej do Common Lisp.
- 1991 - Wydanie Visual Basic .
- 1995 - Wydano Javę .
- 1995 - Wydano Delphi .
Główne wpływy Ritchiego to BCPL i ALGOL (oba są językami imperatywnymi), a C powstał w czasie, gdy podejście Simuli i Smalltalk do orientacji obiektowej nie było jeszcze dobrze znane. Został ukończony około 1972 roku, a C z klasami pojawił się zaledwie 7 lat później, a zarówno Dennis Ritchie, jak i Brian Kernighan byli zaangażowani w jego powstanie :
W tym czasie uważałem C za najlepszy dostępny język programowania systemów. Nie było to wtedy tak oczywiste (1979), jak się później stało, ale miałem takich ekspertów, jak Dennis Ritchie, Steve Johnson, Sandy Fraser, Greg Chesson, Doug McIlroy i Brian Kernighan, z których mogłem się uczyć i uzyskiwać opinie. Bez ich pomocy i porad, bez C, C ++ byłby martwy.
W przeciwieństwie do powtarzających się plotek, nigdy nie powiedziano mi, że muszę używać C; nigdy też nie kazano mi używać C. W rzeczywistości pierwszy podręcznik C ++ wyrósł ze źródła troffa podręcznika C, który dał mi Dennis. Wiele nowych języków zaprojektowano w laboratoriach Bell; przynajmniej w „Badaniach” nie było żadnych reguł wymuszających bigoterię językową.
Cel C pojawił się 11 lat później, zarówno C ++, jak i C ++ były głównymi i udanymi próbami dostosowania orientacji obiektowej do C. Luka może wydawać się teraz długa, ale nie sądzę, żeby była ona szczególnie długa w tym czasie, pamiętajmy, że rozmawiamy o epoce przed WWW. 1993, kiedy pojawił się Mosaic (pierwsza przeglądarka), był punktem zwrotnym w branży. Wydane kilka lat później Java i Delphi miały ogromną przewagę nad swoimi poprzednikami, przynajmniej pod względem popularności. Zwój był również jednym z peronów Słońce kierowanie ich obietnicy wora , być może bardziej ważne w momencie, Java i był mocno sprzedawany jako w języku dla ówczesnego nowo urodzonego platformy.
Innym kluczowym czynnikiem jest to, że na przełomie lat 80. i 90. XX wieku GUI stały się popularne, szczególnie w komputerach domowych, podczas gdy sprzęt był coraz tańszy. Orientacja obiektowa jest niezwykle wygodnym paradygmatem przy tworzeniu GUI i ogólnie aplikacji graficznych, a Turbo Pascal, Delphi, Visual Basic i (być może w mniejszym stopniu) Java były chwalone (wówczas) za prostotę, jaką wnieśli przy tworzeniu GUI.
Pewna rola odegrała także agresywna marketingowa Java firmy Sun, ale ponieważ wciąż żywo pamiętam moją pierwszą interakcję, zdecydowanie nie byłem pod wrażeniem. Moją pierwszą reakcją na Javę było „hm, nic więcej niż głodny zasobów interpretowany C ++, pozostanę przy Turbo Pascal, dziękuję bardzo” (hej, miałem wtedy tylko 17 lat;). Nie wiem, jak w tamtym czasie ktoś zareagował na Javę, ale dla mnie była to tylko moda i szybko przeszedłem do Delphi (i Visual Basic, westchnienie) i zacząłem używać Javy dopiero kilka lat później, na studiach i tylko dlatego, że był to kurs obowiązkowy.
Chociaż prawdą jest, że Java i jej smak obiektowy bardzo szybko stały się popularne, nie sądzę, aby ten paradygmat nie był dość popularny przed połową lat 90. XX wieku, jednak wprowadzenie Internetu zmieniło naszą definicję popularności. W każdym razie połowa lat 90. była okresem, gdy rozwój oprogramowania generalnie cieszył się dużą popularnością, przy czym kluczowym czynnikiem była sieć, rozpowszechnianie GUI i tańszy sprzęt. Java była po prostu we właściwym miejscu we właściwym czasie.
Dalsza lektura:
Powiązane pytania: