( TCH | 2020. 01. 05., v – 11:03 )

Hát eléggé más; én az oldworld procedural nyelvektől jövök, meg az ASM-től, így én pont a régi, egyértelmű változatot preferálom.

Na ja, ha rend van tartva és egyféle paradigma szerint kódolnak az emberek, akkor működhet a dolog, de ha mindenki kiválasztja a saját kedvencét, akkor abból akkora katyvasz lesz...senki nem tudja majd a másik kódját rendesen értelmezni.
Az nem baj, ha egy nyelv fejlődik, de kérdés, hogy hova és kérdés, hogy egyáltalán fejlődésnek lehet-e ezt nevezni. Nézzük a pipe operátort. Ez arra való, hogy - nomen est omen - csöveket kössünk össze vele. Namármost egy változó, vagy egy függvény minden csak nem cső. Eddiglen volt a nyelvnek egy logikája, hogy a függvényeknek paramétert adunk át és most ezt rúgjuk fel, hogy ad-hoc rá lehet irányítani valamit. (Tényleg, mit csinál ez egy több bemenetes fügvénynél? Errort dob? Vagy mit csinál, ha objektumot irányítok egy függvényre? Vagy egy változót egy objektumra? Függvényt egy objektumra?) Hovatovább, az adott példa

let url = "%21" |> decodeURI;

még unintuitív is, amennyiben "csövesen" gondolkodunk, hiszen a cső egyfelé megy, azaz itt az ember úgy gondolná, hogy a decodeURI cél és nincs tovább. Hiába van előtte egy értékadás; nem egyértelmű, hogy ez most mit akar csinálni; az url egyenlő lesz "%21"-el és ez megy tovább a decodeURI felé, vagy pedig a "%21" elmegy a decodeURI felé és utána megy vissza. Persze lehet mondani, hogy RTFM, mert leírják, hogy az utóbbi...de ha valakinek - aki ezzel még nem találkozott - szembejön egy ilyen kód, akkor nem biztos, hogy hirtelen érteni fogja és nem is csoda, mert itt egy shell-like pipe-operationt látunk, nem shell-like viselkedéssel. Ugyanez a felállás shell-ben ugyanis elküldi a célnak a cső bemenetére aggatott adatot, a változóba nem kerül semmi; ha ezt akarjuk, akkor azt jelezni kell: subshellbe kell rakni a kifejezést. Persze itt is be lehet zárójelezni és akkor rögtön egyértelmű lesz, de most zárójelezzük szénné az összes értékadást?
Én azt látom, hogy a JS folyton össze-nem-illő nyelvi elemeket és paradigmákat hány össze, aminek már számtalanszor megittuk a levét.