JavaScript is eating the world

JavaScript is eating the world
Co sądzicie?
- Prawda
44%
44% [11]
- Zwykły hype, który minie
56%
56% [14]
Franiu
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 8 lat
  • Postów:83
0

Do wszystkiego to raczej nie. Ale za oceanem juz widac wyrazny trend, ze JS zjada rynek opanowany dotychczas przez PHP, Ruby, Python.
Biorac pod uwage ile dzieje sie teraz w ecosystemie JS (ficzery jakie daje es6/es7, frameworki jak Sails.js) spodziewam sie, ze w najblizej dekadzie proces ten bedzie postepowal w tempie wykladniczym.

edytowany 2x, ostatnio: Franiu
2

Mi w ogole nie podoba sie, ze danego jezyka probuje sie uzywac do wszystkiego.

Jak z narzedziami, do malowania domu lepiej użyć różnych, a nie tylko pędzla...

0

zamiast malowania mialo byc -> budowania :P

LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:minuta
  • Postów:8414
2

Biorac pod uwage ile dzieje sie teraz w ecosystemie JS (ficzery jakie daje es6/es7, frameworki jak Sails.js) spodziewam sie, ze w najblizej dekadzie proces ten bedzie postepowal w tempie wykladniczym.

Pytanie tylko czy przy takim szybkim postępie języka/transpilatorów to za 2-3 lata w ogóle kod w jakimś 2019 będzie przypominał ten, w którym obecnie piszemy. Czy to może już bedzie jakiś zupełnie inny język, tylko nazwany tak samo...

Ew. czy nie powstanie jak w Lispie tysiące dialektów JavaScripta z dodatkami, różniące się składnią, ale wszystkie transpilowane do "standardowego JavaScriptu".


2

świecie JSa co chwila cos zjada innego cosia :P
https://www.quora.com/Is-React-killing-Angular

tocw86
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 8 lat
  • Postów:32
Franiu
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 8 lat
  • Postów:83
2
LukeJL napisał(a):

Pytanie tylko czy przy takim szybkim postępie języka/transpilatorów to za 2-3 lata w ogóle kod w jakimś 2019 będzie przypominał ten, w którym obecnie piszemy. Czy to może już bedzie jakiś zupełnie inny język, tylko nazwany tak samo...

A czy kod PHP (code !=syntax) w roku 2000 przyponial chociaz malym ulamku to, jak on wyglada obecnie? Z cala pewnoscia nie. A w porownaniu do tempa w jakim rozwija sie Javascript, to rozwoj PHP byl tragicznie powolny w CALEJ jego historii.

LukeJL napisał(a):

Ew. czy nie powstanie jak w Lispie tysiące dialektów JavaScripta z dodatkami, różniące się składnią, ale wszystkie transpilowane do "standardowego JavaScriptu".

Jest to prawdpobodobne, ale historia uczy, ze w tym biznesie to tak nie dziala. Standaryzacja jezyka, wokol ktorego powstaja narzedzia, framwortki i caly tzn 'ecosystem' to bardzo istotna kwestia. Dzieki temu biznes ma dostep do szerszych zasobow (ludzkich), ktore moze zaangazowac do komercyjnych projektow.
Przypominam, dla tych ktorzy juz zapomieli : Ta brazna ograniczona jest TYLKO I WYLACZE przez deficyt ludzi do pracy!
Nie przez to, ze obecne technologie sie za slabe, ani tym bardzej przez to ze sa one zbyt malo "trendy".

Przyklady CoffeScripa i Darta pokazuja, ze raczej nie tedy droga. Osobiscie uwazam, ze to jednak "czysty JS" bedzie ewoulowal coraz szybciej. Szczegolnie, ze teraz ma byc wygodnym i produktywnym jezykiem backendowym, nie tylko w 'przegladarkowym'. To dodatkowa presja na EMCAscript, zeby jezyk rozwijac.

edytowany 5x, ostatnio: Franiu
LukeJL
pierwszy cytat pisał @Franiu, nie ja.
Franiu
dzieki LukeJL, juz poprawiam.
LukeJL
dzieki, choc teraz przekreciles mi nick w komentarzu ;)
LukeJL
ok, teraz moze byc :)
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:minuta
  • Postów:8414
1

Standaryzacja to bardzo istotna kwestia, dzieki temu istanieje wieksze zasoby (ludzkie) nadajace sie do komercyjnych projektow

Gdyby liczyła się tylko standaryzacja, to Angular połączyłby się z Reactem (jako 2 największe frameworki), a Vue, Ember czy Knockout w ogóle by przestały istnieć.

Tu działają 2 siły - pragnienie standaryzacji i entropia polegająca na tym, że ciągle powstaje w ciul frameworków, toolów, pluginów (które robią w wiekszosci to samo, ale kazdy programista musi czasem zrobić własny plugin do czegoś czy własny framework, żeby pokazać światu, że on też umie).

Dlatego nie sądzę, żeby się ustandaryzowało to w pełni, mimo że zmęczenie JavaScriptem woła o pomstę do nieba w tej kwestii i coraz więcej ludzi zauważa, że w JS jest za duża różnorodność wszystkiego, a za mało poszanowania zasady KISS i pewnej przewidywalności.

edit:

A czy kod PHP (code !=syntax) w roku 2000 przyponial chociaz malym ulamku to, jak on wyglada obecnie? A w porownaniu do tempa w jakim rozwija sie JS, rozwoj PHP byl tragicznie powolny w calej jego historii.

jest taki paradoks, statek tezeusza - https://pl.m.wikipedia.org/wiki/Statek_Tezeusza :)


edytowany 3x, ostatnio: LukeJL
3

Scala.js!

NG
  • Rejestracja:prawie 10 lat
  • Ostatnio:około 7 lat
  • Postów:278
2

Problem polega z JS na tym, że jest nie-scentalizowana i są różne standardy, różne paradygmaty, implementacje.
Im więcej przerabiam kodu JS, tym bardziej dochodzę do wniosku, że nie ma czegoś takiego jak "czysta JS", ale jest setki odmian, frameworków, bibliotek, dialektów.

Jakby narysować taki graf i pokazać co się z czym łączy a co się z czym wyklucza, która biblioteka od jakiej zależna, to okazałoby się, że pojęcie "JavaScript" dzisiaj nie ma sensu, bo jest za bardzo rozmyte.

edytowany 4x, ostatnio: NieGooglujMnie
0

Javascript moze byc spoko, ale mimo wszystko czy rozwazne jest to by wrzucac ten jezyk na server side? Raczej nie byl tworzony ku takim celom.

Franiu
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 8 lat
  • Postów:83
1

Moze i nie byl tworzony z takim zamyslem, ale z cala pewnoscia w te strone sie rozwija.
A PHP to niby w jakim celu byl stworzony - 'Personal HomePage' (pozniej 'Personal Hypertext Processor'), a zobacz jakie narzedzia dzis ma ten jezyk i jakie projekty sie w nim tworzy.
Ze niby JS w dobie es6/es7 mialby sie czuc gorszy od PHP? Ma calkiem inna filozofie - to fakt. Ale jego mozliwosci juz dzis sa znacznie wieksze, a przepasc ta bedzie sie jeszcze poglebiac. Sorry Gregory, lata 90' minely, raczej bezpowrotnie.

NG
  • Rejestracja:prawie 10 lat
  • Ostatnio:około 7 lat
  • Postów:278
1

z JS też taki mechanizm się pojawił:

  • google to bogata korporacja, z wieloma miliardami, najzdolniejszymi programistami, etc
  • google zrobiło sobie google chrome
  • google chrome został numer 1
  • przez czas dopracowania google chrome, google zauważyło, że we front-endzie rządzi java script
  • nie oszukujmy się: google chrome to aplikacja esencjalnie front-endowa
  • przy kolejnych implementacjach JS, Google zauważyło, że jest bałagan
  • "mamy kasę, mamy możliwości, mamy Google Chrome, mamy inżynierów - naprawmy to po swojemu!"
  • urodziły się AngularJS, NodeJS, kilka innych frameworków

Siła JS wynika z powiązania z Google (no i Mozilla). Jeżeli jednak Google stwierdzi, że czas JS minął i przestanie implementować nowe rozwiązania, to JS lada moment upadnie.
Natomiast jest jeszcze np. taki Facebook, który ma swoje technologie i JS wcale tam nie jest jakaś dominująca (ale np. jest sporo PHP).
Jeszcze jest Apple - nie wiem czy płonie jakąś wyjątkową miłością do JS.
Oracle i java - oni chyba nic prawie nie mają wspólnego z JS.
Red hat - kolejne korpo, które ma swoje rozwiązania back-endowe. Miłość do JS jest umiarkowana.

edytowany 6x, ostatnio: aurel
Franiu
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 8 lat
  • Postów:83
0

Sila JS wynika z tego, ze nie da sie go niczym zastapic. Po nieudanych probach lansowania Dart i Go, google stwierdzilo ze skoro nie da sie JS zastapic, to trzeba przynajmniej wplynac na jego rozwoj.

PS: JS byl standardem wsrod przegladarek zanim ktokolwiek jeszcze slyszal o Firefoxie czy Chrome.

NO
A na czym polega nieudana próba lansowania GO? zobaczy się za dobre kilka lat co z tego będzie.
Franiu
Technicznie jest to bardzo fajne narzedzie. Ale w 'przemysle' to on nawet nie zainstal i pewnie juz nigdy nie zaistnieje. To mialem na mysli.
0

Osobiście uważam, że lepiej mieć różne narzędzia, jedno dobre do frontu i drugie dobre do backendu.

Node.js spoko, ale dajcie temu pożyć dłużej i wspierajcie później 5 letni projekt. Ciekawe czy będzie tak przyjemnie.

I też już nie raz słyszałem o migracjach na backendzie z technologii dynamicznie typowane na te statyczne.
Np. z node.js w kiierunku np. Scala. Albo z pythona na Scale itp.

Języki JVMa to póki co dalej osobna potęga. Za to Java na froncie z wynalazkami jak JSP itp. to już jest jednak masakra.

0

@Franiu A co w ogole ma GO do JavaScriptu?
I jest już trochęnarzędzi napisanych w go...

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)