Weź ten scenariusz:
Programista tworzy język, aby rozwiązać jakiś problem.
Następnie uwalnia ten język, aby pomóc innym w rozwiązywaniu podobnych problemów.
Inny programista odkrywa, że w rzeczywistości jest znacznie lepszy w przypadku różnych kategorii problemów.
Dzięki tej nowej aplikacji język staje się popularny przede wszystkim dla tej aplikacji.
Czy faktycznie występują jakieś przypadki?
Innymi słowy, czy zamierzony cel języka ma jakikolwiek wpływ na to, jak faktycznie jest używany, czy też staje się popularny? Czy to w ogóle ważne, żeby język miał reklamowany cel?
programming-languages
history
Jon Purdy
źródło
źródło
Odpowiedzi:
Lisp . McCarthy pierwotnie określił Lisp w artykule, aby pokazać, że wystarczy kilka prostych notacji, aby zbudować kompletny język Turinga. Był zaskoczony, gdy odkrył, że Lisp można zaimplementować w kodzie maszynowym (Steve Russel zrobił pierwszą implementację interpretera Lisp). Lisp jest szeroko stosowany do programowania AI.
źródło
Java była pierwotnie przeznaczona do programowania systemów wbudowanych. Z Wikipedii „Java została pierwotnie zaprojektowana dla telewizji interaktywnej” . Ale stał się bardzo popularny w programowaniu aplikacji i sieci.
źródło
Lua został zaprojektowany przede wszystkim jako język konfiguracji i ostatecznie znalazł niszę jako najpopularniejszy język skryptowy do gier (ponieważ jest mały, szybki, wydajny, przenośny, łatwo rozszerzalny i osadzony, z przyjazną składnią). Najpopularniejsza gra, w której można ją używać, World of Warcraft, nawet nie używa jej do konfiguracji, zamiast tego używa XML.
źródło
Pierwotną intencją Larry'ego Walla dla Perla było stworzenie „ uniwersalnego języka skryptowego Unix, aby ułatwić przetwarzanie raportów ”, a strona podręcznika opisuje ten język jako:
I oczywiście strona man mówi nam również, że Perl oznacza Practical Extraction and Report Language (rzeczywista nazwa to błędna pisownia oryginalnej nazwy Pearl , zmienionej, gdy Wall odkrył już istniejący język PEARL ).
Od tego czasu Perl przeszedł długą drogę, ponieważ jest to język, z którego bogowie stworzyli wszechświat .
źródło
Domyślam się, że JavaScript również pasuje do tego pytania, ponieważ nie sądzę, że Brendan Eich, jeszcze w czasach Netscape, kiedykolwiek wyobrażał sobie, że przyszłe wersje jego LiveScript będą używane do tworzenia dzisiejszych tak zwanych „aplikacji” internetowych.
JavaScript przeszedł z prostej weryfikacji formularzy i najazdów obrazów na potężne narzędzie, które może rywalizować z aplikacjami offline, zarówno pod względem funkcjonalności, jak i urody.
Niestety, myślę, że wielu nadal uważa to za zabawkę.
źródło
Erlang. Został wynaleziony dawno temu w laboratoriach Ericsson w celu opracowania aplikacji telefonicznych, prawdopodobnie do ich linii urządzeń przełączających i dostępowych. Teraz przekształcił się w obiecujący, dynamiczny język ogólnego przeznaczenia z interesującą koncepcją współbieżności.
Byłoby interesujące, gdyby w przyszłości pojawiło się więcej języków ze świata telekomunikacyjnego przekraczających swoje linie do świata IT i stamtąd ewoluowało, zwłaszcza języki pierwotnie zaprojektowane do modelowania i weryfikacji protokołów.
źródło
Pascal. Stworzony, aby uczyć programowania.
źródło
PHP pierwotnie oznaczało Osobistą stronę główną , ale dziś jest także używana w kilku nieco większych aplikacjach internetowych.
źródło
<?php
znacznika na początku pliku!Jestem pewien, że VBScript nie był przeznaczony do pisania złośliwego oprogramowania, mimo że jest to niezwykle powszechne użycie.
źródło
Początkowo zaprojektowany jako metoda na uczynienie kodu bardziej ogólnym, okazało się, że Programowanie Meta Programowanie w C ++ zostało zakończone i do dziś jest używany do znacznej poprawy języka C ++ poprzez biblioteki takie jak boost.
źródło
BASIC to kolejna znana sprawa. To nazwisko ( początkujących All-purpose Symbolic Instruction Code) wskazuje na jego pochodzenie jako języka uczniów, ale to uprawiane trochę od.
źródło
VHDL i Verilog (alias VerilogHDL) pierwotnie miały na celu opisanie układów i komponentów cyfrowych. Zostały one wykorzystane jako forma dokumentacji i do symulacji zachowania komponentów. Później Synopsys i inni opracowali technologię, która mogłaby przetłumaczyć (podzbiór) tych opisów na sieciowe listy bramek, które z kolei można wykorzystać do produkcji prawdziwego sprzętu.
VHDL i Verilog są nazywane językami opisu sprzętu (HDL) ze względów historycznych. Obecnie są one używane jako języki projektowania sprzętu (ten sam akronim).
źródło
ML zaczynał jako język do rozwijania i pisania skryptów twierdzenia. Był to „język meta” przysłowiowego twierdzenia.
źródło
C
Pierwotnie został pierwotnie opracowany do użytku z systemem operacyjnym Unix. Ale Język stał się tak popularny, że nawet Dennis Ritchie był zaskoczony.
W swojej słynnej książce The C language language . Ritchie twierdzi, że „rozprzestrzenił się daleko poza swoje początki jako język systemu operacyjnego UNIX”. i jak był zaskoczony, gdy stał się popularnym językiem tworzenia aplikacji.
źródło
C ++ został pierwotnie zaprojektowany jako „C z klasami”, aby ułatwić programowanie obiektowe w C ++.
Szablony zostały następnie dostarczone w późniejszej wersji, aby umożliwić implementację silnie typowanych klas kontenerów. Dopiero później zauważono, że te szablony faktycznie stanowią kompletny język programowania Turinga.
W rezultacie wiele aplikacji używa teraz C ++ nie jako obiektowego języka programowania, ale raczej jako języka programowania opartego na algorytmach, który w dużym stopniu opiera się na polimorfizmie w czasie kompilacji i metaprogramowaniu.
źródło
const
są to dwa najważniejsze powody, używam C ++.ADA - pierwotnie zaprojektowany na podstawie umowy DoD dla awioniki. Mimo że jest nadal używana w tej aplikacji, jest również popularna na przykład dla oprogramowania pośredniego dla biznesu w czasie rzeczywistym.
źródło
„czy zamierzony cel języka ma jakikolwiek wpływ na to, w jaki sposób jest używany, czy też staje się popularny?”
Nie sądzę, by zamierzony cel języka miał duży wpływ na jego faktyczne użycie i popularność: Istnieje kilka wspaniałych języków, które od samego początku były projektowane jako innowacyjne, elastyczne i wszechstronne, ale nigdy nie stały się tak powszechnie używane lub popularne, z wyjątkiem bardzo wyspecjalizowane rynki pionowe - na przykład Eiffel. OTOH, Basic, Pascal, C itp. Itp. Dominowały w krajobrazie przez lata, chociaż zostały pierwotnie zaprojektowane do ograniczonych, konkretnych celów.
IMO Uwagi dotyczące marketingu / finansów i wsparcia zawsze odgrywały ważną rolę w rozpowszechnianiu i rozszerzaniu niektórych języków. Na przykład: Borland wymyśla TurboPascal i pakiety, sprzedaje i obsługuje go. MS wymyśla C # i pakiety, sprzedaje i obsługuje go. W rezultacie języki te stały się popularne, pojawił się przemysł narzędziowy firm trzecich i coraz więcej programistów i przedsiębiorstw wskakuje na modę.
Ale w ciągu ostatnich kilku lat języki i narzędzia OpenSource zmieniają dynamikę, a języki stają się teraz bardziej popularne w oparciu o „zasługi” niż marketing - na przykład Ruby, Python i Perl. Nie dzieje się tak jednak z powodu „intencji” wynalazców, a tego, że język ma wbudowany potencjał rozszerzenia i celowego użycia.
źródło
Nie sądzę, aby istniał popularny język, który nie został zmieniony w stosunku do pierwotnej intencji. Nawet C napisano pierwotnie jako przenośny system operacyjny (unix).
Jakakolwiek próba napisania prawdziwie ogólnego języka programowania bez określonego celu prawdopodobnie zakończy się niepowodzeniem z powodu braku powściągliwości i skupienia.
źródło
Słyszałem, że Ruby został zaprojektowany jako język do pisania wierszy, okazało się, że można w nim pisać także piękny kod!
źródło