Why Elixir (2014)
I really am in awe of Elixir.  I think it&#x27;s an amazing language, and it introduced me to Erlang and OTP.  I&#x27;ve come from using scala actors, and I can do more in way less time, less memory, and similar performance if I use Elixir.<p>That said, there are some things that suck so hard about it.<p>The log messages suck.  If I want to use them in production and actually ship them to ELK or similar, the format really sucks.<p>Getting information on what happens at compile time vs run time is hard.<p>How do you handle operating system signals? like when your autoscale group decides to scala down and you get a SIGTERM with some time to handle it, what do you do? wrapper scripts suck.<p>Not many great design resources.. I mean I&#x27;ve got lots of books on OTP.  But if i&#x27;m building a daemon which reads off a queue and talks to some databases - where are some patterns I can follow? How do I handle config? What if I want to hotload it?<p>What command do I run? when do I run an app vs compiling it? What If I want command line args? Where&#x27;s a good example of writing an app, which is a daemon, and using an escript to reconfigure it at runtime?<p>The error messages. Holy hell.  What actually caused a pattern match to not work? what is it expecting? especially a few function calls deep - like interaction between tuples and arrays and keyword lists.<p>Flow &#x2F; Genstage and getting them into a supervision tree? what&#x27;s the best practices.<p>I want to introduce it to my workplace but without some of these common patterns easy to find, it&#x27;s kind of a risk to the business.