Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ruby i JavaScript taki zły?
Forum PHP.pl > Inne > Hydepark
run
Witam, ostatnio zauważyłem na różnych forach, że wielu programistów zawodowych nie lubi Ruby i JavaScript. Wręcz je wyśmiewa i szydzi. Czy mają dużo w tym racji?
https://www.destroyallsoftware.com/talks/wat
pyro
Jeżeli chodzi o JavaScript to niestety tak. Jednocześnie jest to jeden z najpopularniejszych języków. Wynika to z prostego powodu - przeglądarki mają na niego monopol. A że każdy człowiek z dostępem do internetu używa przeglądarki i odwiedza strony... no właśnie. Wróżę jego szybki upadek jak tylko WebAssembly będzie używalny we wszystkich przeglądarkach i trzymać go przy życiu będą jeszcze tylko wielkie systemy napisane w JS, które są zbyt drogie do przepisania.

Dlaczego jest to źle skonstruowany język i o wszystkich jego wadach nie ma co się rozpisywać - temat wałkowany po tysiąckroć bardzo łatwo znajdowalny w Google. Poza wylistowaniem konkretów zapodam jeszcze linka:
https://hackernoon.com/the-javascript-pheno...is-57adebb09359

O Ruby się nie wypowiadam, bo miałem z nim do czynienia tylko na wypróbowanie.
Comandeer
Cytat
Wróżę jego szybki upadek jak tylko WebAssembly będzie używalny we wszystkich przeglądarkach i trzymać go przy życiu będą jeszcze tylko wielkie systemy napisane w JS, które są zbyt drogie do przepisania.

asm.js jest na rynku od lat i jakoś nikt się nie rzucił do przepisywania aplikacji. O WebAssembly słyszy się też od lat i jakoś jedyne, co powstało, to remake'i starych klasyków (Open Lara, Quake, Doom itd.). WebGL jest też od dawna i jakoś nie słyszałem o super mega projektach.

WASM nie umie w DOM, więc całkowite wejście w WASM to odrzucenie wszystkiego, co przez lata wypracowały przeglądarki. A tego nikt nie zrobi, bo 20 lat doskonalenia pewnych technologii robi swoje. Przy WASM-ie wszystko zaczynalibyśmy od nowa. Po co? Miejsce WASM-a widzę tam, gdzie jest obecnie wykorzystywany: gry, skomplikowane obliczenia graficzne itd. Ale cała Sieć na tym? Wątpię.

Co do artykułu na Hacker Noon: istnieją setki lepszych artykułów na temat tego, czemu JS nie jest najlepszym z języków, ale ten jest po prostu śmiechowy i odnosi się wrażenie, że napisał go jakiś rozhisteryzowany hejter. Równie dobrze można by podstawić zamiast JS-a PHP lub Javę i wszystko by dalej pasowało… Sorry, jak chcemy się zabierać za rzeczową krytykę, to róbmy to jako rzeczową krytykę, a nie głośne krzyczenie fajnych frazesów.

A co do monopolu przeglądarek na JS: Google miał NaCl i Darta – obydwa open source, obydwa z VM w przeglądarkach. Tylko jakoś reszta pokazała im środkowy palec, więc jest JS ¯\_(ツ)_/¯
pyro
@Comandeer, ale warto przeczytać posta, zanim się na niego odpowie i napisze to samo wink.gif

Podobnie jak Ty napisałem, że "istnieją setki lepszych artykułów na temat tego, czemu JS nie jest najlepszym z języków". Podany artykuł to tylko dodatek.

Jeżeli chodzi o WASM, to nie jest on jeszcze gotowy, nawet na stronie głównej jest napisane: "WebAssembly is currently being designed as an open standard by a W3C Community Group that includes representatives from all major browsers. ". Nie mniej zgodzę się, że w sumie ze względu na obecną popularność JS raczej niewiele osób do niego przyzwyczajonych będzie chciało teraz zmieniać nawyki.

Co do Darta to nie wiem o czym mowa - żeby obecnie zadziałał w popularnej przeglądarce musi być skompilowany do JS = dalej jest JS'em, podobnie jak wiele języków kompilowanych do JS, sam używam CoffeScript.
Comandeer
Nawet dodatek powinien być sensowny tongue.gif

Co do standardów W3C: gotowe jest to, co jest zaimplementowane. Dlatego coraz częściej standardy są żywymi standardami, bez określonych poziomów dojrzałości albo jest robiony system snapshotów (i tutaj mamy właśnie HTML5 czy ECMAScript). I z tego też powodu dla mnie WASM nie jest aż tak niedojrzały, jak być powinien wink.gif

Co do przejścia Sieci na WASM: akurat wcale nie mówiłem o JS-ie jako takim, a o HTML-u i DOM. Na chwilę obecną WASM nie ma żadnej możliwości, żeby z nimi się komunikować i z tego choćby powodu nie sądzę, żeby całe interfejsy aplikacji przepisywano na WASM. Niemniej już oczami wyobraźni widzę edytor filmów, który ma GUI w React/Vue, a całą edycję filmów robi uruchomiony obok ffmpeg przerobiony na WASM (wersja na asm.js już jest). I takie coś to bym sobie sam chętnie machnął i w takiej niszy widzę mega zastosowania do WASM-a. Zresztą podobnie widzą to jego twórcy. Z drugiej strony: bardzo ciekawie ogladać, jak większość tych rzeczy trafia do Web APIs, jak obsługa VR itd. Równocześnie warto też zauważyć, że trwają dyskusje nad uwaleniem standaryzacji SIMD w ramach ES właśnie z powodu tego, że rozwiązanie to nie będzie wydajnościowo konkurencyjne w stosunku do SIMD w WASM-ie.

Co do Darta: Dartium wink.gif Był pomysł, żeby Chromium miało dwie VM-ki: JS-a i Darta, ale z wiadomych przyczyn ostatecznie Dart stał się jedynie językiem kompilowanym do JS. Czy szkoda? Nie mnie oceniać.
pyro
Cytat(Comandeer @ 8.05.2017, 18:34:10 ) *
Co do Darta: Dartium wink.gif Był pomysł, żeby Chromium miało dwie VM-ki: JS-a i Darta, ale z wiadomych przyczyn ostatecznie Dart stał się jedynie językiem kompilowanym do JS. Czy szkoda? Nie mnie oceniać.


No to raczej dość oczywiste, że język, który by wymagał od użytkownika ściągnięcia specjalnie do niego przystosowanej przeglądarki żeby obejrzeć jakąś stronę nie ma najmniejszych szans na sukces tongue.gif
Comandeer
No tak, tylko dam se rękę uciąć, że przez pewien czas VM Darta była normalnie w Chromium – i to miało szansę się udać, ale ostry sprzeciw ze strony reszty, która odrzuciła najpierw NaCl, a potem Darta, położył temu kres. Dziwnym trafem jak Mozilla zaproponowała asm.js, a potem zrodził się z tego WASM, to wszyscy nagle uszami klaskali, jakie to dobre. Cusz, polityka wedrze się wszędzie…
pyro
Cytat(Comandeer @ 8.05.2017, 18:46:01 ) *
No tak, tylko dam se rękę uciąć, że przez pewien czas VM Darta była normalnie w Chromium ? i to miało szansę się udać, ale ostry sprzeciw ze strony reszty, która odrzuciła najpierw NaCl, a potem Darta, położył temu kres.


No nie wiem czego innego można się było spodziewać - że jakaś firma dobrowolnie odda władzę językowi innej stricte konkurencyjnej firmie tongue.gif ?
Comandeer
Bo przecież JS od początku było takie wolne i standaryzowane wink.gif NaCl i Dart też było open source, więc ten argument średnio przechodzi – zwłaszcza, że potem wszyscy łyknęli SPDY. Być może dzisiaj Google byłoby w stanie przeforsować Darta ze względu na swoją pozycję. Niemniej za dużo już zainwestowano w rozwój V8. Z jednej strony to dobrze, z drugiej – mamy sytuację, jaką mamy obecnie. Jedyny plus jest taki, że ES się dynamicznie rozwija.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.