Gdyby ktoś naprawdę wiedział, byliby bardzo bogatymi ludźmi.
To powiedziawszy, oto moje przypuszczenie:
Dostępność
BASIC to okropny mały język, który pojawił się na (wszystkich?) Komputerach PC, kiedy pojawili się po raz pierwszy. Apple II (domyślny komputer dla wielu szkół średnich) i ATARI 400/800 (pierwszy super tani komputer domowy) były dostarczane z BASICEM.
Jeśli posiadałeś maszynę UNIX (system AT&T V lub Berkeley's), miałeś C. Jeśli chcesz zaprogramować maszynę, musisz tego użyć.
EDYCJA : Wraz z pojawieniem się i wszechobecnością sieci wymóg ten przekształca się w:
- Ile dystrybucji Linuksa zawiera najnowszą kopię i jak dobrze ją aktualizuje? Czy biblioteki innych firm są podobnie dostępne do zainstalowania?
- Czy można go łatwo zainstalować w systemie Windows (XP | Vista | 7,8 ...)?
- Czy są objęte platformy Mac / iOS?
- Czy można go zainstalować bez uciążliwości na starszym Uniksie?
- Po zainstalowaniu, jak łatwo jest uzyskać dostęp do bibliotek stron trzecich i czy można go łatwo uaktualnić?
Łatwość przejścia
Java jest tutaj dobrym przykładem. Jeśli znasz programowanie w języku C, Java nie była bardzo daleko w tyle, a jednak zapewniła wiele funkcji, których brakowało w C, a C ++ nie zapewniało czystego dostępu.
C ++ z oczywistych powodów był łatwym krokiem naprzód w stosunku do C i łatwo było go sprzedać zarządowi jako „ulepszony” C. C ++ miał tę dodatkową zaletę, że był kompatybilny wstecz z większością istniejącej starszej bazy kodu C.
Perl był połączeniem C, awk, sed i innych narzędzi uniksowych w jednym pakiecie. Przed jego pojawieniem się większość administracji systemu odbywała się za pomocą skryptów powłoki, które sklejały wszystko ze sobą w niezadowalający sposób. Objęcie wszystkiego jednym procesem dzięki strukturom danych i kontroli języka podobnego do C było darem niebios.
Wypełnia potrzebę
C wystartowało, ponieważ pozwoliło na uzyskanie wydajności zbliżonej do montażu bez utknięcia w specyficznym dla maszyny, trudnym do utrzymania świecie montażu.
FORTRAN wystartował, ponieważ umożliwił łatwe tłumaczenie pomysłów matematycznych na kod bez zagubienia się w szczegółach maszyny.
Podobnie w przypadku LISP i manipulacji symbolicznych.
Python wyrósł z potrzeby „lepszego” Perla. (Jestem tutaj stronniczy, więc nie powiem więcej).
PHP był w zasadzie PODSTAWOWYM dla sieci - został zainstalowany domyślnie na wielu serwerach WWW i łatwo było szybko zhakować coś przydatnego.
Rzecznictwo, baza użytkowników, kod przekazany
Spójrzmy prawdzie w oczy, Haskell nie byłby tak popularny, jak w przypadku języka nieprodukcyjnego, gdyby nie niezmordowane poparcie jego programistów i bazy użytkowników.
Wiele języków ma kult osobowości za twórcami języka i wszyscy wiemy, kim oni są.
FORTRAN ma ogromny zestaw sprawdzonego i sprawdzonego kodu matematycznego; to samo dotyczy Java i systemów internetowych / integracji systemów / systemów MVC; to samo dla Perla i CPAN; to samo dotyczy T E X i zarządzania dokumentami; itp.
The It Factor
Z jakiegoś powodu niektóre języki wydają się mieć odpowiednią ilość nowych , z wystarczającym skinieniem głowy starym , w sposób, który sprawia, że wydaje się to łatwe lub potrzebne. Oznacza to, że ma swój własny przypadek. A kto wie, jak to się dzieje?
W każdym razie to moje przypuszczenie, dlaczego niektórzy to robią. Co do tego, dlaczego niektórzy nie ... no cóż, jeśli nie spełniają powyższych kryteriów, prawdopodobnie dlatego się nie udało.