Podczas moich lat tworzenia stron internetowych z JavaScript, doszedłem do wniosku, że jest to niesamowicie potężny język i możesz robić z nim niesamowite rzeczy.
Oferuje bogaty zestaw funkcji, takich jak:
- Pisanie dynamiczne
- Funkcje pierwszej klasy
- Funkcje zagnieżdżone
- Domknięcia
- Funkcje jako metody
- Funkcje konstruktorów obiektów
- Na bazie prototypów
- Oparte na obiektach (prawie wszystko jest przedmiotem)
- Regex
- Literały tablicowe i obiektowe
Wydaje mi się, że prawie wszystko można osiągnąć za pomocą tego rodzaju języka, można również emulować programowanie OO, ponieważ zapewnia ono dużą swobodę i wiele różnych stylów kodowania.
Dzięki bardziej zorientowanym programowo niestandardowym funkcjom (I / O, FileSystem, urządzenia wejściowe itp.) Myślę, że wspaniale byłoby tworzyć aplikacje.
Chociaż, o ile mi wiadomo, jest on używany tylko w tworzeniu stron internetowych lub w istniejącym oprogramowaniu tylko jako język skryptowy.
Dopiero niedawno, być może dzięki silnikowi V8, był on częściej wykorzystywany do innych zadań (patrz na przykład node.js).
Dlaczego do tej pory sprowadza się tylko do tworzenia stron internetowych? Co powstrzymuje go od rozwoju oprogramowania?
Odpowiedzi:
Ostatnio node.js przyspieszył rozwój po stronie serwera. Tak więc teraz można napisać JavaScript do programowania.
To prawda. W historii nie był używany jako język programowania. Ale, hej, nawet tworzenie skryptów w środowisku klienta (User Agents) jest rodzajem rozwoju. Czyż nie
Głównym powodem, który słyszałem i czytałem na wielu blogach, jest to, że ludzie nie wiedzieli o jego mocy i wyjątkowości aż do ostatnich lat . Sprawiło to, że inne języki wykonały swoją pracę wystarczająco dobrze i nikt nigdy nie myślał o zrobieniu czegoś równoległego.
źródło
Od tutaj :
źródło
Dlaczego?
JavaScript najbardziej niezrozumiany język
Byliśmy w średniowieczu i nadal jesteśmy w stanie zaakceptować fakt, że JavaScript jest potężnym i wszechstronnym językiem. To po prostu nie jest główny nurt.
Jedynym niedawnym postępem jest to, że node.js stał się męczący i ludzie zaczynają akceptować, że javascript ma inne zastosowania.
Miałem oko na rozwój JS i HTML5 dla Windows 8, a reakcja społeczności .NET brzmiała: „Dobry Boże, dlaczego?”.
Jest to po prostu fakt, że większość stron internetowych wciąż widzi JavaScript jako język zabawek, którego używasz do przewijania menu w przeglądarkach.
Trzeba przyznać, że JavaScript nie jest zgodny z „nowoczesnymi praktykami programistycznymi”. Dla mnie JavaScript jest wciąż językiem hakerskim, którego używam z vimem, a internet to moja dokumentacja. Nie ma IDE, nie ma narzędzi programistycznych, nie ma autouzupełniania ani „inteligencji”, nie ma graficznych interfejsów klikania i przeciągania.
W świecie programistów Java i .NET są oni przywiązani do GUI i IDE i nie byliby w stanie programować w vimie.
źródło
Twoja lista nie zawiera niczego na temat zapisywania plików w systemie, co stanowi ogromną część rozwoju oprogramowania.
Ludzie nie pomyśleliby o użyciu JS do budowy aplikacji, ponieważ jest to de facto język skryptowy dla sieci, a ty zawsze używałbyś odpowiedniego narzędzia do tego zadania.
Po co pisać akry JS, aby wypisać plik, gdy jest to trywialna operacja w Javie / .NET / C / C ++?
Biorąc to pod uwagę, jak wspomnieli inni, node.js i jego biblioteki sprawiły, że operacje po stronie serwera stały się trywialne, a wraz z popularyzacją node.js nauka tego stanie się umiejętnością CV, ponieważ będziesz w stanie utrzymać / rozszerzyć / zbudować aplikacje z tym.
źródło
Writing files to the file system has been replaced with HTTP POST.
Nie, jeśli piszesz interfejsy API obsługujące posty.Większość powszechnie używanych języków jest mocniejsza i lepiej zaprojektowana niż JavaScript. Wszystkie wymienione funkcje są obsługiwane przez inne dynamiczne języki, takie jak Python lub Ruby, które są ogólnie lepiej zaprojektowane. Niektóre z wymienionych przez Ciebie funkcji i tak niekoniecznie są pożądane - wiele osób uważa, że pisanie statyczne z wnioskowaniem typu jest lepsze niż pisanie dynamiczne, jeśli masz wybór.
Nie mówię tego o diss JavaScript. Bardzo lubię pracować z JS przy tworzeniu stron internetowych. Ale patrząc na to obiektywnie, JS ma wiele wad w porównaniu do innych języków:
Jedyną cechą, która tak naprawdę odróżnia JavaScript od innych współczesnych języków, jest dziedziczenie prototypowe (w przeciwieństwie do klasowego), a zaletą tego modelu jest wątpliwe, ponieważ wszyscy po prostu używają go do emulacji dziedziczenia klasowego.
Po prostu nie ma powodu, aby wybierać JavaScript, jeśli masz możliwość wyboru innego nowoczesnego języka. Jedynym powodem byłoby, gdyby był to jedyny język, który znasz.
źródło