getting faster for single-thread apps • Concurrency is the next major thing for development • NO MORE FREE LUNCH (2005): • Java5 • WindowsXP • RoR launching on December
computation and concurrency • Builds upon battle-tested Erlang • Enhances it with Metaprogramming and a arguably easier syntax • Created by the great VALINHO
Elixir programmers around (what a surprise!) • But increasingly number of people interested in it and coming from all kinds of background • No “competition” • The first one is the hardest (lol)
• plenty of editors: atom, vim, IntelliJ Emacs + Alchemist = <3 <3 <3 • Documentation is taken seriously • Quite easy to get acquainted to the language • OTP on the other hand….
best ideas from a lot of languages: • |> from F# • Protocols e Metaprog from Clojure • the whole OTP from Erlang • Umbrella Apps from .NET • Ecto query DSL from LINQ • Doctest from Python …..
• There is a compiler • Elixir is pragmatic • Performance is great. GC is per-process • Documentation & tooling are take seriously • Macros • The runtime & OTP are AWESOME. Every process is preempted. No bad neighbors.
really young • no usable ElasticSearch client • (at the time) no json-api library • (at the time) no good auth libs • nothing to handle images github.com/Xerpa/exmagick :)
not that common: Honeybadger officially supports it AppSignal in alpha testing • the BEAM is highly instrumentable • Great talk about it by Milhouse @ ElixirConf2016 https://confreaks.tv/events/elixirconf2016
language is hard • We had to figure out a lot of stuff ourselves • And we got it wrong a few times: • Trying to Haskellize Enums to use with Ecto • No good cassandra client (lacks a lot of features) • Not using Ecto.Type correctly from the start • Dates <o>
growing FAST • The community learns a lot from other languages • The community is helpful, open, inclusive and active • You have to be willing to deal with not-ready things and contribute yourself to the ecosystem • But even so, it’s highly recommended