Alternative la Node.js

I “love” the Node.js hype insa ce altceva mai folositi pentru RESTful APIs?

@tachyean mai sunt si alte limbaje: Haskell, Scala, Erlang, Clojure, Rust, Elixir, Nim heck even C++ :smile:

Nici macar nu le-ai enumerat pe cele mai evidente pentru un posibil Api ci doar ce iti place tie si cu toate astea nu inteleg deloc directia raspunsului tau.

@tachyean dude. chill :smile: Am enumerat ceea ce se foloseste curent in productie world wide so to speak. Exista aplicatii huge scrise in Erlang, Scala, Clojure comerciale, la fel si pentru restul mai noi deja sunt oameni care le folosesc in productie.

Sincer am pomenit de golang pentru ca am citit despre site-uri mari care l-au folosit pentru a castiga performanta. Si chiar unele dintre ele au renuntat la node si au trecut pe go.

Legat de Go, no issue there insa commentul a sunat gen “just use Go and close this topic”.

Directia post-ului este daca cineva de aici a folosit si altceva pentru anumite cazuri unde unul din limbajele respective s-ar preta.

Am scris cateva service-uri in Go, nu ceva foarte complex, nu mi-au placut in mod deosebit conventiile, e ca citatul:

Simplitatea limbajului Go este admirabilă, e sublimă, putem zice, dar lipseşte cu desăvârşire.

Elixir am incercat recent si e destul de captivant, este creat pe VM-ul de la Erlang, mai stabil decat node.js, cred ca e o alternativa destul de buna.

Rust am in plan sa invat, dar e prea low level pt. REST services, ma intereseaza ca alternativa la C pt. hardware automation (as a hobby).

1 Like

@navaru ai folosit Phoenix cu Elixir? m-am jucat long time ago cu el si desi mi-am batut un pic capul sa integrez Ecto (no docs for it at that time) was quite fun.

Am folosit doar Elixir, am vrut sa invat sintaxa limbajului, Pheonix fiind un framework vine by default cu un set de conventii. Cand invat un limbaj incerc sa ma feresc sa invat un stil anume de programare in limbaj.

Am vazut o prezentare a lui Torben Hoffmann (CTO Erlang Solutions) mai demult in care facea misto de Java intr-un mod obiectiv, apoi a vorbit pe scurt despre Elixir si m-a facut curios, ulterior am vazut:

1 Like

Eu am scris un REST-ish API în Scala, peste Scalatra. L-am început acum 3 ani, iar azi n-aș mai face aceeași alegere în privința framework-ului. Acum aș merge fie cu Play framework (cu care am făcut câteva microservices), fie cu ceva de la Twitter (Finagle sau Finch, dar peste astea nu m-am uitat așa mult).

De ce am ales Scala? Suportă destul de bine paradigma funcțională și are un sistem de tipuri destul de capabil. În plus rulează peste JVM, iar vechiul codebase era în Java.

Principala problemă la Scala sunt timpii relativ mari de compilare. O altă problemă, de care te lovești pe destul de multe platforme, o reprezintă conflictele de versiuni între dependențe tranzitive. Aici sunt invidios pe Go sau Rust. Acolo scoți un binar linkat static și n-ai probleme. Și node.js stă mai bine la capitolul ăsta, că fiecare dependență are propriul ei node_modules.

2 Likes

A bit of Go praise:

http://go-talks.appspot.com/github.com/davecheney/presentations/performance-without-the-event-loop.slide

si in general pentru orice limbaj care poate genera light processes on the fly to saturate all the cores.

2 Likes