Dlaczego?

0

Dlaczego wszyscy hejtują Javascript? :)

0

Hejty prawdopodobnie płyną od osób, które kochają języki silnie typowane.
JavaScript jest dość mocno chaotycznym językiem i bardzo ciężko zapanować nad większą aplikacją. Nie trzymając się żadnych zasad nie napiszesz aplikacji, która jest możliwa do dalszego rozwoju. Poprzez brak silnego typowania możesz na końcu pisania aplikacji uświadomić sobie, że cała struktura jest zła i przydałby się refactor, który zajmie więcej czasu niż napisanie aplikacji od nowa znając dobre praktyki. Sam założyłem dzisiaj temat jak kierunkować się w JS, żeby stać się dobrym programistą, a nie klepaczem kodu.

JS jest dość młodym językiem, nie jest rozwinięty tak, jak C#, czy PHP. Te dwa języki, które wymieniłem, są już na tyle dorosłe, że pisanie kodu jest dla programistów po prostu przyjemne (ale nie pytaj programisty PHP dlaczego język C# jest tak dobry i na odwrót, bo możesz się mocno zdziwić).

Ja wyznaję zasadę, że piszesz kod w tym, w czym czujesz się dobrze. Ja lubię JS i jego wady, w nim się czuję dobrze i w nim codziennie mam chęć zrobienia czegoś nowego i nauczenia się , czegoś nowego. Dlatego w nim piszę. Nie mam zamiaru ubliżać nikomu piszącemu w innym języku, bo język to jedynie narzędzie, a każdy korzysta z najlepszego dla niego.

To jest myślę tylko jakaś część uzasadnienia dlaczego JS jest hejtowany. Dorzucić mogę od siebie jeszcze brak możliwości wprowadzenia SOLID do kodu, czyli jednych z najlepszych, o ile nie najlepszych praktyk pisania kodu. JavaScript nie posiada Interface'ów, czyli jednej z zasad SOL"I"D. Umożliwia nam to TypeScript, ale TypeScript to twór Microsoftu, czyli twórców C#, a nie twórców JavaScript.

Myślę, że chociaż trochę przybliżyłem temat. Jeżeli się w czymś mylę, bardzo proszę o poprawienie mnie.

0

Sam zaczynałem od js więc nie jestem hejterem ale po latach stwierdzam żę ten język to wolna amerykanka . Jeżęli już javaScript to tylko z typeScriptem . Hejtuje js (czystego chociaż w tym przypadku który pokaże typescript też nie pomaga) deklarujesz** let x = [1,2,3] ** a następnie możesz zrobić x.tralala = 'płąkałem jak debagowałęm'

1
NikolaPolov napisał(a):

Sam zaczynałem od js więc nie jestem hejterem ale po latach stwierdzam żę ten język to wolna amerykanka . Jeżęli już javaScript to tylko z typeScriptem . Hejtuje js (czystego chociaż w tym przypadku który pokaże typescript też nie pomaga) deklarujesz** let x = [1,2,3] ** a następnie możesz zrobić x.tralala = 'płąkałem jak debagowałęm'

Dlatego jak już korzystasz z TS to dopisujesz sobie interface:

export interface SomeInterface {
   x: number[]
}

x: SomeInterface;
x.tralalala => throws an error
0

Dioen uprzedzaj może ze jestes chory(zatoki jak pisales w swoim poscie o dalszym rozwoju). Pewnie zarażasz a ja nie moge pozwolic sobie teraz na chorowanie :( zdrowiej bracie i dzięki za wyczerpującą odpowiedź.
Pozdrawiam.

3
NikolaPolov napisał(a):

Sam zaczynałem od js więc nie jestem hejterem ale po latach stwierdzam żę ten język to wolna amerykanka . Jeżęli już javaScript to tylko z typeScriptem . Hejtuje js (czystego chociaż w tym przypadku który pokaże typescript też nie pomaga) deklarujesz** let x = [1,2,3] ** a następnie możesz zrobić x.tralala = 'płąkałem jak debagowałęm'

Jak używasz porządnego edytora to Ci to wyłapie - w VS Code wystarczy włączyć opcję: "javascript.implicitProjectConfig.checkJs": true (lub dla pojedynczego pliku dać // @tscheck na początku).

dioen napisał(a):

Hejty prawdopodobnie płyną od osób, które kochają języki silnie typowane.

E, nie - ludzie którzy piszą w Ruby, Python, PHP, Elixir, Clojure itp też narzekają. Zresztą typy to nie problem skoro istnieje TS / Flow.

Nie trzymając się żadnych zasad nie napiszesz aplikacji, która jest możliwa do dalszego rozwoju.

Jak w każdym innym języku.

JS jest dość młodym językiem, nie jest rozwinięty tak, jak C#, czy PHP.

JS powstał w 1995 roku - jest tak samo stary jak PHP i starszy o 5 lat od C#.

Te dwa języki, które wymieniłem, są już na tyle dorosłe, że pisanie kodu jest dla programistów po prostu przyjemne (ale nie pytaj programisty PHP dlaczego język C# jest tak dobry i na odwrót, bo możesz się mocno zdziwić).

:D

Dorzucić mogę od siebie jeszcze brak możliwości wprowadzenia SOLID do kodu, czyli jednych z najlepszych, o ile nie najlepszych praktyk pisania kodu. JavaScript nie posiada Interface'ów, czyli jednej z zasad SOL"I"D.

Interfejsy nie są jedną z zasad SOLID, interface segregation principle (pośrednio) mówi o tym jak obchodzić się z interfejsami gdy je masz w języku - prawdziwa treść zasady brzmi no client should be forced to depend on methods it does not use. Z racji, że JS jest kaczo-typowany to nie ma po prostu czego segregować, ale ogólną zasadę dalej można stosować. Jawne interfejsy mają oczywiście zalety, ale nijak ma się to do "niemożliwości stosowania SOLID w JSie".

1 użytkowników online, w tym zalogowanych: 0, gości: 1