Przeczytałem to pytanie i zaczęło mi się zastanawiać nad kolejną całkiem nową rzeczą. Języki obiektowe. Nie jestem pewien, kiedy powstał pierwszy, ale dlaczego minęło tak dużo czasu, zanim stały się głównym nurtem?
- C stał się bardzo popularny, ale nie stał się obiektowym C ++ przez lata (dekady?) Później
- Żaden główny język przed latami 90. nie był zorientowany obiektowo
- Zorientowane obiektowo wydawało się, że w tym samym czasie wystartowało z Javą i C ++
Teraz moje pytanie, dlaczego to trwało tak długo? Dlaczego C nie był pierwotnie pomyślany jako język obiektowy? Biorąc bardzo mały podzbiór C ++, nie miałoby to większego wpływu na podstawowy język, więc dlaczego ten pomysł nie był popularny aż do lat 90.?
Odpowiedzi:
Najpierw spróbujmy ustalić linię czasu:
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 :
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:
źródło