Zdaję sobie sprawę, że są to różne bestie używane do rozwiązywania różnych problemów, ale chciałbym poprosić o listę wymienionych zalet Erlanga nad node.js (i na odwrót). Kiedy używałbyś jednego nad drugim?Zalety programu Erlang over (something like) node.js?
Odpowiedz
Erlang jest językiem i runtime. Zakładam, że chcesz porównanie wykonywania erlang z node.js
Najpierw będę notować podobieństwa:
- Oba nadają się do programowania sterowany zdarzeniami.
- Obie koncentrują się na programowaniu wysoce asynchronicznym.
I wtedy to ma zalety Erlang:
- wiadomość Erlangs przechodząc abstrahuje różnice między procesami podejmowania lokalnych i rozproszonych programowania rozproszonego łatwiejsze.
- Ładowanie kodu gorącego Erlangs umożliwia wprowadzanie wersji na bieżących usługach bez zakłócania bieżącej aktywności.
- Erlang ma doskonałe narzędzia do pakowania i wdrażania.
- Nadzór Erlangs i beholdory gen_server zapewniają doskonałą strukturę do budowy wyjątkowo wytrzymałych i odpornych na uszkodzenia systemów.
Erlang ma 20 lat i był wielokrotnie testowany w walce. Wykorzystuje wszystkie rdzenie w swoich systemach i ułatwia tworzenie klastrów.
node.js jest wciąż bardzo młody, użyje tylko jednego rdzenia na czas pracy.
Wszystko, co mówi Jeremy Wall.
co teraz, teraz 5 lat, powiedz mi, który powinienem użyć. –
Nadal jestem wielkim fanem Erlanga, a dzięki Elixir w krajobrazie, VM ma teraz język, który może stać się dość popularny. Phoenix Framework jest fantastyczny, a ejabberd może wbudować moduły Elixir natywnie w dość elegancki sposób. – cstar
Nie chciałbym w ogóle odbierać tego komentarza i nie mam zbyt wielu doświadczeń z erlangiem. Warto jednak wspomnieć, że całkiem małe biblioteki rdzeniowe nodejs są młodymi (strumieniami itp.), Ale o wiele "większą" częścią jest V8, silnik javascript google. Tak więc biblioteki przeszły przez masę iteracji i są w tym momencie uważane za całkiem stabilne, ale główne aspekty są bardzo solidne, ponieważ V8 jest dużo starszy i znacznie bardziej przetestowany. – nahelm
Nie należy obniżać mocy dopasowania wzoru Erlang. Tak bardzo, jak lubię JavaScript, ta uzależniająca funkcja językowa po prostu nie jest zapiekana. Wydaje się, że społeczność JS niezbyt docenia brak paradygmatu współdzielonego. Wreszcie, wiele instancji do korzystania z wielu rdzeni wydaje mi się wstecz.
+1 dla stanu "brak stanu współdzielonego". –
- 1. Something like cron (timer) in gevent
- 2. Fragment kodu Erlang, który pokazuje swoje zalety?
- 3. Jakie są zalety używania Ruby NArray over Array?
- 4. Zalety i wady korzystania z programu Storyboarding?
- 5. Escape $ {something} w łańcuchu Kotlina
- 6. Jak wykonać `tail -f logfile.txt`-like processing in node.js?
- 7. Python: zalety i niepowodzenia programu _mysql vs MySQLdb?
- 8. Z jakiego narzędzia korzystasz podczas tworzenia programu Erlang?
- 9. Erlang VM: informacje o czasie pracy programu planującego
- 10. Biblioteka jszip programu Node.js do wypakowania
- 11. Korzyści z używania podmodulatorów Bower over Git
- 12. isset PHP isset ($ _ GET ["coś"])? $ _GET ['something']: ''
- 13. Websockets over HTTPS 403 Forbidden
- 14. Jakie są zalety używania zastrzeżenia?
- 15. ERLANG - Timing Applications
- 16. C++ over wątku
- 17. Egistential Quantification over Values
- 18. MIDI Over Bluetooth
- 19. Błąd Redis Over
- 20. Mojolicious over HTTPS
- 21. Przycisk Facebook Like Like bez JavaScript?
- 22. Jak uruchomić aplikację Erlang wewnątrz powłoki Erlang
- 23. Błąd połączenia w websocket over amazon ELB
- 24. Zalety atmega32
- 25. Zalety stałych
- 26. Zalety Clojure
- 27. NHibernate.Linq LIKE
- 28. Erlang pytania
- 29. Konwertuj terminy erlang na ciąg lub dekoduj binarny kod erlang
- 30. Uruchamianie łącznie za pomocą klauzuli over
Afaik node.js zmusza Cię do napisania kodu sterowanego zdarzeniami, w którym erlang daje tylko opcję, więc możesz w razie potrzeby powrócić do innego stylu kodu. – ZeissS
Ładowanie na gorąco jest gorącym tematem w społeczności węzłów i możemy to niedługo zobaczyć. Istnieją sposoby, aby to zrobić, używając istniejącego API V8, najczęściej chodzi o to, jak zrobić to płynnie. –
Co każdy z nich oferuje, że coś takiego jak Common Lisp nie robi i nie może zrobić? – MadPhysicist