Quetzacotl napisał(a):
Tu się nie zgodze. JS był mocno wzorowany na SmallTalk,
A nie
przypadkiem Scheme? Chociaz ile razy widze taka argumentacje, to jej nie rozumiem, bo od JS do Lispa droga daleeeeka. Te dwa jezyki maja mniej wiecej tyle ze soba wspolnego co C# i Haskell, a jednak jednego z drugim sie raczej nie laczy.
Quetzacotl napisał(a):
a to z pewnością nie jest język z przypadku. Fakt jest taki, że JS daje masę możliwości i początkującym programistom wychodzi to bokiem. Jest nawet taki cytat "JS pros: you can do anything. cons: you will".
Stworzenie specyfikacji jezyka w 10 dni (!) raczej nie nastraja optymizmem jesli chodzi o jego 'przemyslenie'. Co do mozliwosci - byc moze i tak, ja widze tyle samo ile w wiekszosci innych jezykach programowania
Quetzacotl napisał(a):
Jak ktoś próbuje pisać klasy z dziedziczeniem w JS to nie ma co ukrywać, że skończy się to syfem. JS ma lexical scope i first class functions, co jest jego wielkim atutem. Trzeba go po prostu umieć używać, zresztą jak każdy język. Jak nie znasz podstaw (SOLID, low coupling, high cohesion, GRASP, DRY itd.) to w każdym języku zrobisz burdel.
Ogolnie sie zgadzam, tyle ze:
- First-class functions to zaden rarytas w dzisiejszych czasach
- Jezyk jest praktycznie unitypowany, a brak konkretnego systemu typow utrudnia duzo, duzo rzeczy - w tym w duzej mierze utrzymanie istniejacego kodu, bo kompilator odwala duzo murzynskiej roboty. Im mocniejszy system typow, tym wiecej, oczywiscie w granicach rozsadku. No i pomaga to przy toolingu i wsparciu IDE.
Chociaz oczywiscie nie ma tu podzialu na podejscie 'poprawne' i 'niepoprawne' bo to zbyt subiektywne. Niektorzy uwielbiaja JS, czesto z powodow dla mnie zupelnie niezrozumialych