Live data from Hacker News

Ask HN: Which functional language has the best ecosystem for a web backend?

news.ycombinator.com

11–20 of 80 posts

Re: Ask HN: Which functional language has the best ecosystem for a web backend?

#13
post #5

Earlier quoted context omitted.

I'd rather recommend TypeScript

Have they sorted the differences with async/await? I'd be using if it wasn't from the different implementation meaning you need to use typescript to babel.

Sorted already. Transpiles async/await natively.

Re: Ask HN: Which functional language has the best ecosystem for a web backend?

#15
Clojure! the thing I like most about a lot of the libraries is how they seem to blend so seamlessly. I don't know if it's an artefact of just being a lisp or just a lot of the developers sharing a mindset, but the whole experience feels less janky.

Re: Ask HN: Which functional language has the best ecosystem for a web backend?

#16
I've been using Clojure on the backend for about 5 years now and find it an absolute joy to work with, having come from a Java background. You get full access to the masses of Java libraries out there as it's on the JVM. Great community support, too.

As an addition, there's also ClojureScript for the front-end. It's come a long way recently, and I've been using it for the last couple of years in production (check out reagent and re-frame if you're interested).

Re: Ask HN: Which functional language has the best ecosystem for a web backend?

#17
post #9

Today I would say Java/Scala mostly because of jvm access to huge numbers of libraries. But also because of things like Akka. There may be other options depending on whether you consider JavaScript or Go to be a functional language.

Scala has a number of good HTTP frameworks, Play, spray/akka-http and Lift come to mind. Spring boot (Java) is also very decent, and Play and akka-http have both first-class Java and Scala API's. Kotlin has the same JVM advantage.

Another one for Scala. Between Play which is a full blown framework and bare bones akka-http you have every possible scenario covered. Also Slick for database access is a great library to make a full combo. Put on top of all that access to every imaginable library that exists in JVM ecosystem and you have a clear winner.

Re: Ask HN: Which functional language has the best ecosystem for a web backend?

#18
Some would say that Rust is a functional language.

http://science.raphael.poss.name/rust-for-functional-program...

Rust has an ecosystem for building web backends.

http://www.arewewebyet.org/

Does Rust have the best ecosystem for a web backend, though? I think that will depend on who you ask and what you are looking for specifically.

Re: Ask HN: Which functional language has the best ecosystem for a web backend?

#19
post #9

Today I would say Java/Scala mostly because of jvm access to huge numbers of libraries. But also because of things like Akka. There may be other options depending on whether you consider JavaScript or Go to be a functional language.

Scala has a number of good HTTP frameworks, Play, spray/akka-http and Lift come to mind. Spring boot (Java) is also very decent, and Play and akka-http have both first-class Java and Scala API's. Kotlin has the same JVM advantage.

The OP specifically asked for a functional language, though. Java and Kotlin have adopted some ideas from functional languages, but they aren't themselves functional languages, and their HTTP frameworks certainly aren't designed along functional lines.

Scala is, amongst other things, a functional language. How much to its HTTP frameworks embrace that?

Re: Ask HN: Which functional language has the best ecosystem for a web backend?

#20
post #15

Clojure! the thing I like most about a lot of the libraries is how they seem to blend so seamlessly. I don't know if it's an artefact of just being a lisp or just a lot of the developers sharing a mindset, but the whole experience feels less janky.

agree. Once I discovered Clojure, it's all kinds of fun to write in! The community is great. The ecosystem now has plenty of robust libraries to handle most any heavy-lifting task(s).

If you want to play around with getting up and running with a functional clojure backend, I put up this:

https://github.com/tuddman/moarweba

feedback welcome

Post reply on HN