Wpis z mikrobloga

Wydaje mi się, że #nodejs ma dwie głowne zalety:
- ten sam język ( #javascript ) na "froncie" i "backendzie"
- asynchroniczność, a co za tym idzie wydajność
Zastanawiam się nad przyszłością #nodejs. Owszem zyskuje on na popularności, ale nie wiem właściwie dlaczego. Przecież np. takie Pythonowe Tornado też całkiem nieźle sobie radzi z asynchronicznością, tak jak i Javowe Netty. Czy zaleta posiadania "full stack developers" i jednego "webowego" języka ogrywa aż tak wielką rolę?

Liczę na ciekawą dyskusje.
#programowanie
  • 59
  • Odpowiedz
@lukasz1985m: rozumiem, ale stos wywołań zwrotnych to nie wywołanie zwrotne. Funkcje setImmediate, czy process.nextTick właśnie utrzymują asynchroniczność, wrzucając funkcje na omawiany wyżej stos. Nie są one od razu wykonywane, tylko w pewnych obskokach eventloopa, co przedstawione jest na infografice wyżej (mimo, że node już sporo ewoluował, to te rdzenne koncepcje zmianie pewnie nie uległy. Promisy są asynchroniczne, bo podobnie jak wspomniałeś, rejestruje handler do wykonania później. Spójrz na ten kod
  • Odpowiedz
@lukasz1985m:

W sumie w ogóle jak patrze co napisałeś w świelte tego jak przedstawia się działanie promises w Node to już w ogóle odechciewa mi się dyskutować - robienie kodu asynchronicznego z czegoś co może działać synchronicznie. Przecież to żałosne jest.

To co pokazałem to przykład tego, że handler promisów wykonywany jest asynchronicznie… :D Nie musisz już tak odwracać kota ogonem, nikt nie każe stosować Ci obiecanek wszędzie. Sam uważam,
  • Odpowiedz
@lukasz1985m: wiem, że pisałeś o workersach, o nich w sumie nie mam zdania, bo w sumie rzadko kiedy się za nie łapie, tak jak już wspomniałem, stanowią tylko protezę wielowątkowości - nie mam porównania do tego, jak to wygląda np. w javie, a o goroutines w Go wiem za mało, żeby cokolwiek mówić. :P
  • Odpowiedz
@ufik78: Ja programowałem troszkę w PHP, delikatnie w Pythonie(djagno) i ostatnio od ~0.5 roku katuje node.js. I powiem szczerze że dla mnie jest petarda, wydajnościowo, jakościowo i wogóle jest po prostu idealnym narzędziem dla mnie. Im więcej JS poznasz, tym lepiej Ci się w nim piszę, ja teraz z bólem serca wracam do legacy projectów opartych na php.
  • Odpowiedz
@lukasz1985m: z tym, że frameworki i zmieniające się często trendy to wina tylko i wyłącznie #!$%@? społeczności JS. Przykład - facebook, który na swoje potrzeby zrobił react.js, po czym okazało się, że jest zbyt pamięciożerny i zaczęli używać alternatywnego frameworka, który się zwie vue.js… ( ) Ale nie zmienia to faktu, że sam język nie jest jakoś mocno głupi, trzeba zaakceptować po prostu niektóre ciemne
  • Odpowiedz
@jwiorian: heroku, openshift
@aryjskizyd: no tak, w sumie racja
@casx: też mi się tak wydaje.
@lukasz1985m: wydaje mi się (to tylko moje przypuszczenia i proszę nie bierze tego do siebie), że kiedyś zacząłeś przygodę z node.js, zgubiłeś się w callbackach i poszedłeś w stronę Javy.
@larvaexotech: Ja od pół roku pracuje w node.js zawodowo a prywatnie troszkę dłużej. Mnie tłumaczyć tego nie
  • Odpowiedz
Java jest tu prosta - Spring, Hibernate


@Ginden: zajebiście prosta, ciężkie frameworki, masa koncepcji: AOP, DI, IoC, ORM z masą kruczków i zachowań kompletnie niezrozumiałych dla początkującego programisty.
Sam pamiętam jak to wyglądało u mnie na studiach: nawet ludzie bezproblemowo programujący w JS, C++ czy PHP nie dawali rady nawet skonfigurować projektu.
Jak poszła fama że @lerner can into spring to byłem bardziej oblegany niż fotomodelka na konwencie anime.
  • Odpowiedz