2010-10-08 6 views

Odpowiedz

15

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.
+2

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

+1

Ł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. –

+0

Co każdy z nich oferuje, że coś takiego jak Common Lisp nie robi i nie może zrobić? – MadPhysicist

11

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.

+0

co teraz, teraz 5 lat, powiedz mi, który powinienem użyć. –

+0

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

+0

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

4

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.

+0

+1 dla stanu "brak stanu współdzielonego". –