Czy javascript jest wart nauki, jeśli nie planujesz zostać programistą?

26

Słyszałem, że Javascript jest pełnym językiem, podobnie jak c ++. Czy to prawda? Co jeszcze jest dobrego w programowaniu poza aplikacjami internetowymi?

Matt
źródło
tak naprawdę jest dobry tylko dla stron internetowych, ponieważ wymaga jakiegoś rodzaju parsera, z którego większość jest wbudowana tylko w przeglądarki internetowe. Mam na myśli, że możesz zbudować swój własny parser JS do użytku na komputerze, ale nie używałby większości javascript, który współdziała z HTML na twojej stronie ...
dkuntz2
3
@ DKuntz2 Myślę, że Chrome V8 JS Engine jest niezależną biblioteką i można go ponownie użyć w aplikacji komputerowej. Nadal będziesz musiał opracować własny interfejs API. Link: code.google.com/apis/v8/embed.html
Vitor Py
1
Istnieje również, spidermonkeyktóry jest javascriptparser Mozillas. Jest także samodzielny i może być używany w dowolnej aplikacji.
jgauffin
@ dkuntz2 JavaScript jest nie tylko dobry do „rzeczy sieciowych” - używam node.js jako ogólnego narzędzia skryptowego i do tworzenia aplikacji komputerowych.
Anderson Green,
@VitorBraga Myślę, że tworzenie aplikacji przy pomocy node.js byłoby dobrą opcją - posiada obszerny zestaw bibliotek, które są przydatne do ogólnych zadań skryptowych, takich jak edycja obrazów i odczyt / zapis plików.
Anderson Green,

Odpowiedzi:

23

Myślę, że warto się uczyć, ponieważ jest zupełnie inny niż Twój powszechnie używany język OO i przynajmniej nauczysz się innego paradygmatu programistycznego.

Czy może być przydatny w innym miejscu niż w przeglądarce? Jasne: sprawdź node.js , który wykorzystuje asynchroniczność javascript do stworzenia czysto nieblokującej platformy deweloperskiej oraz couchapps , które pozwalają zbudować z niej całą aplikację internetową.

Jeśli wierzysz niektórym ludziom, javascript będzie głównym przyszłym językiem programistycznym, wyłącznie ze względu na jego szerokie zastosowanie. Jest to zdecydowanie najpopularniejszy język na githubie i prawie każdy deweloper ma z nim pewien kontakt. Z projektami takimi jak node.js, javascript ma ciekawą przyszłość.

Ben Hughes
źródło
6

O ile mi wiadomo, poza programowaniem internetowym, JavaScript jest również używany w niektórych nowych środowiskach pulpitu. Na przykład GNOME 3 (środowisko graficzne dla Linuxa) używa JavaScript + CSS, aby umożliwić użytkownikom i programistom dostosowanie środowiska graficznego.

Brian Hsu
źródło
KDE też może go obsługiwać, ponieważ Qt ma QtScript, ale nie jestem tego pewien.
Vitor Py
3

Podczas gdy JavaScript jest pełnym językiem składniowym, obiektowym itp., Brakuje mu jednak w większości bibliotek do współpracy z rzeczami, które nie są jeszcze wbudowane. Dobrze nadaje się na przykład do uzyskiwania dostępu i modyfikowania danych XML, ale tak naprawdę nie zapewnia wielu interfejsów do sprzętu.

To pytanie dotyczące przepełnienia stosu dotyczy niektórych przykładów tego, gdzie się znajduje i można z niego korzystać poza programowaniem internetowym.

Michał
źródło
2

Powiedziałbym, że język o dynamicznych i funkcjonalnych możliwościach jest wart nauki, ale niekoniecznie musi to być Javascript.

LISP ma powyższe pojęcia znacznie dalej niż Javascript, dlatego jest uważany za doskonały język do nauki, nawet jeśli nigdy nie musisz używać samego LISP.

jonathanconway
źródło
2

JavaScript może być używany do wykonywania skryptów powłoki „z pudełka” zarówno w systemie Windows, jak i Mac:

Moim zdaniem w systemie Windows jest to najbardziej smaczny wybór, ponieważ alternatywą są pliki VBScript i BAT (przynajmniej jeśli nie możesz polegać na dodatkowych instalacjach).

Joeri Sebrechts
źródło
Istnieje również PowerShell w systemie Windows.
JBRWilkinson
O ile mi wiadomo, PowerShell nie jest instalowany domyślnie w wersjach systemu Windows starszych niż 2008/7.
Joeri Sebrechts
2

JavaScript jest także używany w skryptach Greasemonkey , których można używać do dostosowywania lub dodawania funkcjonalności do odwiedzanych witryn. (Ten link wskazuje na rozszerzenie Firefoksa, ale jest również dostępny dla innych przeglądarek)

Technicznie rzecz biorąc, oczywiście jest to nadal „materiał sieciowy”, ale różni się tym, że twórcy stron internetowych nie są (jedynymi) tymi, którzy go używają.

Frytki
źródło
1

Nie warto uczyć się poza podstawami.

Nawet jeśli pracujesz w aplikacjach internetowych, ale w backendie, poświęć swoje zasoby edukacyjne na tematy bardziej związane z Twoją dziedziną. JavaScript to po prostu kolejny język bez specjalnego komunikatu, który znacznie Cię wzbogaci.

Llistes Sugra
źródło
2
Nie zgadzam się. Jest to jedyny szeroko rozpowszechniony język oparty na prototypach. Co więcej, wśród powszechnych języków ma jedno z najlepszych rozwiązań dla zamknięć. Dzięki temu można nauczyć się czegoś cennego. Wreszcie jest bardzo szybki jak na język interpretowany.
Andrea
@Llistes_Sugra Jeśli poważnie traktujesz tę opinię i wierzysz w nią, nie wiesz wystarczająco dużo o JavaScript. Zalecam, aby dowiedzieć się więcej na ten temat i sprawdzić, czy chcesz zrewidować tę opinię; Jestem prawie pewien, że to zrobisz
Jay
1

Istnieją inne technologie oparte na JavaScript, których możesz się nauczyć, jeśli chcesz. Ich nauczenie pozwoli przynajmniej zrozumieć składnię javascript, gdy natkniesz się na niego, czytając kod źródłowy stron internetowych. I przyznajmy, wszyscy mówimy, że nigdy nie będziemy robić X , ale ostatecznie w pewnym momencie zawsze to robimy. Przynajmniej trochę.

Dobrym język JavaScript-jak sprawdzić to nowy Qt QML język, który jest JavaScirpt jak składni, ale dla normalnego GUI aplikacji. Gra jest bardzo interesująca, a nauczysz się javascript w trakcie pisania stron internetowych.

Wes Hardaker
źródło
1

Zamierzałem dodać to jako komentarz do zaakceptowanej odpowiedzi, ale potem zdałem sobie sprawę, że lepiej byłoby podać ją jako osobną odpowiedź. To powiedziawszy, jest to raczej uzupełnienie przyjętej odpowiedzi niż odpowiedź konkurencyjna.

Rozszerzenie skryptu

Istnieje wiele silników Javascript dostępnych dla większości dużych języków, które można osadzić w systemie. To sprawia, że ​​jest to dobry wybór do rozszerzenia swojej platformy o funkcje skryptowe i wymusza wymyślanie własnego języka. Natychmiast zyskujesz cały materiał do nauki, więc zdobycie zasobów do konfiguracji i pisania skryptów w twoim systemie będzie o wiele łatwiejsze.

Newtopian
źródło
1

JavaScript jest doskonałym językiem podstawowym

To jest :

  • potężny
  • łatwe do nauki
  • obsługuje zarówno paradygmaty proceduralne, jak i obiektowe
  • szybko pisze i zaczyna działać
  • spopularyzował wiele nowoczesnych koncepcji językowych - zamknięcia, anonimowe funkcje, programowanie asynchroniczne / sterowane zdarzeniami, typy dynamiczne / wnioskowanie
  • ma świetne narzędzia (edytory, środowiska wykonawcze, narzędzia do szarpania, przeglądarki)
  • ma niesamowite wsparcie online z wieloma aktywnymi społecznościami
  • potrafi wykonywać funkcje matematyczne
  • ma zdolności graficzne (przez HTML / Canvas)
  • może używać go do pisania aplikacji

Osobiście uważam, że warto się uczyć, nawet jeśli nie będziesz go używać codziennie. To poszerzy twój umysł tak, że będziesz rozważać różne rozwiązania podczas używania innych języków, takich jak C ++ lub C # - np. Iteracja kontra rozwiązanie algorytmiczne, dynamiczne pisanie i wnioskowanie o typach.

Widziałem, jak ludzie używają go do szybszego zrzutu danych / zrzutów danych niż profesjonalne narzędzia, wklejając swoje dane do obszaru tekstowego HTML strony, którą zbudowali z pewnym kodem JS, aby przejrzeć dane.

Do czego jeszcze służy?

Osadzanie w czymś innym:

Wszystkie firmy, w których pracowałem przez ostatnie 12 lat, stworzyły zarówno produkty komercyjne, jak i wewnętrzne narzędzia programistyczne, które wykorzystywały JavaScript (lub bliskiego krewnego - ECMAScript, ActionScript itp.) Jako podstawę, ponieważ była łatwa do nauczenia, z łatwością- zintegrowane (bezpłatne) implementacje gotowe do użycia (SpiderMonkey i Microsoft Active Scripting SDK), a wydajność była „wystarczająco dobra” na początek i wciąż się poprawia.

Przed pojawieniem się jQuery / Prototype i całego ruchu AJAX wybór JS wydawał się nieoczywisty - dlaczego nie użyć VBA (dreszcz), czegoś lex + yacc zdolnego lub rzucić własnym językiem? Moc JS jako języka w połączeniu z bogatymi widżetami / frameworkami oznaczała, że ​​nie trzeba było pisać zbyt wiele kodu, więc gotowe rozwiązanie było atrakcyjne, ponieważ można było włożyć więcej wysiłku w resztę produktu.

Ponieważ język zyskał na sile i szybkości, stawka na JS opłaciła się. Dzięki większej liczbie programistów zdolnych do korzystania z JS, zatrudnianie jest również łatwiejsze.

JBRWilkinson
źródło