Hacker News new | past | comments | ask | show | jobs | submit login

Honest question: As someone who does web development and is looking to learn a new programming language in 2018, would you recommend F# over Elixir (and why)?



This has been previously mentioned but F# gets all of the goodies that come with being a .NET language. Elixir comes from Ruby land and thus has a framework called Phoenix(?) which also has its fans.

The big difference is that F# is a statically typed functional language, while Elixir is a dynamically typed functional language. Comparison of static vs dynamic types -> https://hackernoon.com/statically-typed-vs-dynamically-typed...

I personally opted for F# because of the domain modelling tools and the offloading of various caveats and edge cases onto the compiler's stack rather than the meatspace stack, but Elixir has many fans for a good reason no doubt, but I'll defer to someone with more experience working with it to weigh in.


Did you mean to say Elixir comes from Ruby? Surely you mean Erlang?


I think the poster got Crystal and Elixir confused. I do sometimes tbh


Elixir obviously is Erlang under the hood, but its syntax was inspired by Ruby's simplicity. José Valim, the creator, was also a Ruby contributor IIRC.


I'd suggest try both.

The Elixir web world gets a lot more love than the F# one. F# always touts the advantage of living in the .NET world, but it means most things are built with C# in mind, not F#. There are F# frameworks, and they are nice, but the community is quite small. But the advantage is the .NET world has a vast amount of libraries for doing most things.

OTP and Elixir is a better story than F# equivalents. There are no lightweight isolated processes in .NET

Elixir also has macros ( a very sharp double edged sword ) which can make frameworks nice to use.

F# is stronger typing which is nice and often has the trait if it compiles, it works. Though the normal downsides of dynamic typing in Elixir are not so bad.

But the best thing is to try both and make up your own mind


F# async and mailbox provide a decent actor model.

Writing an F# wrapper on c# libraries is usually very easy. You can also call c# code directly and it doesn’t look too bad.

Computation expressions can fulfil the needs of macros in many cases in a controlled way.


I'm a C# and Typescript guy, and recently spent a day with each of Elixir and F#.

I loved them both!

Elixir has a great 'getting started' site, which was really well put together, and similarly the 'F# for Fun and Profit' site was great too, so I feel like I had equally good resources to introduce me to them both.

I'd love to spend more time with both of them, but in general I'm more comfortable with static typing, so if I progress further with either, it'll be F#.

I only wish that Microsoft would start treating F# as a first-class citizen alongside C# :/




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: