Naprawdę chciałbym się skupić na tym, dlaczego niektóre nowe języki programowania są przyjmowane w głównym nurcie, a inne pozostają względnie niszowe. Chciałbym wiedzieć o takich sprawach, jak konkretne przypadki użycia, kompatybilność wsteczna lub niektóre nowe funkcje, prosta lub złożona trudność implementacji. Docenione zostaną konkretne przykłady, ale nie dajmy się złapać dokładnej definicji „głównego nurtu” lub „niszy” tutaj.
programming-languages
DeadMG
źródło
źródło
Odpowiedzi:
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:
Ł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.
źródło
Języki stają się popularne, ponieważ mają przewagę nad istniejącymi językami w wymaganym obszarze.
Jawa
PHP
JavaScript
Cel C
Rubin
DO#
ActionScript
Erlang
źródło
Będę cynikiem: pieniądze, a wraz z nimi marketing.
To nie przypadek, że C # jest obsługiwany przez Microsoft, Java przez Oracle i Objective C przez Apple. Do tej pory tylko Google Go nie zniosło.
Oczywiście pieniądze to nie jedyny powód, ale posiadanie głębokich kieszeni z pewnością pomaga wprowadzić Twój język na rynek.
źródło
Z jednej strony jest to marketing, a dokładniej prezentacje, blogi itp. Ważne jest, aby mieć funkcje, z którymi programiści głównego nurtu mogą się odnosić i widzieć korzyści w stosunku do tego, co wiedzą (Java vs. C ++ - śmieciarz vs. zarządzanie pamięcią). Ostatnim, ale nie mniej ważnym jest posiadanie niskiej bariery wejścia - przykłady, dobra dokumentacja, bezproblemowa instalacja, dobra społeczność i wsparcie, dynamiczny rozwój.
źródło
Prawie wszystkie języki miały nietrywialne, rzeczywiste programy do rozwiązywania problemów napisane przy użyciu ich bardzo wcześnie.
Unix został napisany w C, podobnie jak narzędzia w Uniksie, gdy C był bardzo młody i ewoluował.
Anaconda (program instalacyjny RedHata) została napisana w Pythonie, gdy Python był młody i nie miał dziś popularności.
Oto, co mogę sobie przypomnieć. Ta lista może dotknąć każdego z języków, który przetrwał swoje początkowe lata.
Zatem przyjęcie na dużą skalę na uniwersytetach może pomóc w długowieczności języka. Java jest bardzo popularna na uniwersytetach jako język nauczania. Do pewnego stopnia Lisp i dialekty Lisp również cieszą się tym statusem.
źródło