Do we just follow the hype?
Most of my experiences are about working with old and crappy systems
Hard to follow / resonate about code. Older the system, worse it is.
We more and more need to talk with different APIs to find the best result for the customer.
It's really hard to do it in a safe and concurrent way.
Database available everywhere
+ concurrency
+ speed
Wasn't convinced at all. It was really fast but all the rest: code, community mindset, Go principles didn't match with me
- code readability
- lack of generics
+ concurrency
+ speed
+ immutability
Was totally convinced but I tried to read some book and no way to understand how it really worked / how to use it
- syntax
- learning curve
+ concurrency
+ speed
+ immutability
Was really convinced but was a bit worried about the fact it was really young.
+ syntax
± learning curve
± really young
-module(fact).
-export([fac/1]).
fac(0) -> 1;
fac(N) when N > 0, is_integer(N) -> N * fac(N-1).
S1
S2
S3
S4
S5
P1
P2
P3
P4
Erlang syntax was one of the tedious part for most of the developers .
Elixir brings a more conventional syntax, looking a lot like Ruby
defmodule Fact do
def fact(0), do: 1
def fact(n) when n > 0 and is_integer(n) do
n * fact(n - 1)
end
end