
ElixirConf 2015 Keynote by José Valim [video] - clessg
https://www.youtube.com/watch?v=9RB1JCKe3GY
======
mrmondo
As someone who's primarily worked in ops engineering I've mostly worked with
scripting languages and DSLs (bash, puppet, etc) and cobbled together
ruby/Python as required but my strength has never been in programming. I
picked up someone's tutorial on Elixir thinking it would be as mind bendingly
mathematical as when I looked at Haskell but I was quite taken back - it
seemed to make sense to my fickle mind and I found I could quite enjoyably
read most basic examples / tutorials with no experience or documentation (also
within reason). For me it had the humanised beauty(?) of ruby and logical
power of Python without as many 'wtf does that do?' moments. I don't have a
lot of use for Elixir in my job (yet), but I am tempted to learn a little.

Am I ignorant because I don't have a programming mindset or 'real' language
experience?

~~~
aaron-lebo
No, I think your lack of language experience makes sense. Elixir, being
functional as it is doesn't get caught up in the difference between
functions/methods, and you don't have the mental overheard of grokking classes
(which imo make sense once you get them, but take awhile to really get).

Elixir distils down to pretty basic concepts of functions returning values and
pattern matching and processes. If you can wrap your heard around those you've
really got the language.

------
fuzzythinker
All other videos on
[http://confreaks.tv/events/elixirconf2015](http://confreaks.tv/events/elixirconf2015)

~~~
lectrick
I really liked the Elm talk as well as Garth Hitchens' talk on Embedded
Elixir, which was a pretty effin' sweet demo if I say so myself

------
aaron-lebo
Seems unreal how in command Valim is both of himself and the project at his
age.

With some of the other language designers reaching maturity (GvR, Matz, Wall),
it should be interesting to see where he and Elixir are at in 20 years time.

~~~
kaiwen1
I hired Jose in 2007 when he was an unknown college student and have since
watched his career unfold. José's productivity borders on the supernatural. On
top of that, he's very humble, gracious and helpful. Betting Elixir is betting
on José. That's good bet.

------
lukev
I've been learning Elixir and liking it very much.

One question I have, though, coming from Clojure, is how to quantify the cost
of sending large data structures between processes. I'm so used to shared-
memory concurrency that it isn't clear to me how to efficiently write an
Elixir/Erlang program in which multiple processes need to have (read-only)
access to the same data.

Are there any good practices for that, or ways of thinking about how much it
will cost to copy the data between processes?

~~~
vezzy-fnord
ETS?

~~~
ryeguy
ETS still gives you a copy of the data when you retrieve it, so it doesn't
really help there.

------
adambrod
Elixir has really changed the way I code in other languages for the better...
even in JS. Now I tend to think of programming as a series of transformations
and heavily use the underscore chain/pipe feature to mimic Elixir's pipes,
trivial ex:

[https://gist.github.com/AdamBrodzinski/fff116fb8c5dc20aa0db](https://gist.github.com/AdamBrodzinski/fff116fb8c5dc20aa0db)

~~~
fuzzythinker
You can use many of the functional programming constructs like piping, (pretty
limited) pattern matching, function composition, etc. with livescript [1]. Its
translated js code is as readable as one coffeescript produces.

Or, if you really like elixir and don't mind its alpha status, you can look
into elixirscript [2]. He gave a talk [3] in the conf.

Elm [4] is another alternative, but it wants to not just replace js, but html
as well, with its very unique and useful "time travel" feature. Alan gave a
talk in usage with Phoenix [5].

[1] [http://livescript.net](http://livescript.net)

[2]
[https://github.com/bryanjos/elixirscript/blob/master/FAQ.md](https://github.com/bryanjos/elixirscript/blob/master/FAQ.md)

[3] [http://confreaks.tv/videos/elixirconf2015-elixir-in-the-
brow...](http://confreaks.tv/videos/elixirconf2015-elixir-in-the-browser)

[4] [http://elm-lang.org/](http://elm-lang.org/)

[5] [http://confreaks.tv/videos/elixirconf2015-phoenix-with-
elm](http://confreaks.tv/videos/elixirconf2015-phoenix-with-elm)

~~~
adambrod
Oh wow Livescript snuck past me. However I don't care for the bracket-less
syntax. For some reason, it's always hard to read quickly. I think this is why
I never could get behind Elm.

ElixirScript looks like it will be nice in time, although seems a bit awkward
to use with JS libs. Can't wait to see how that matures!

I've been tinkering with an old language project RedScript to make it more
functional (Elixir like). Just a toy though:

[https://github.com/AdamBrodzinski/redscript](https://github.com/AdamBrodzinski/redscript)

~~~
cpursley
The RedScript syntax looks really great.

Also, +1 for LiveScript.

It's a powerful little language when combined with prelude:

[http://learnxinyminutes.com/docs/livescript/](http://learnxinyminutes.com/docs/livescript/)

[http://livescript.net/blog/10-things-you-didnt-know-
livescri...](http://livescript.net/blog/10-things-you-didnt-know-livescript-
can-do.html)

~~~
adambrod
Thanks! I'll check those out.

------
binaryapparatus
I did smaller projects in Haskell before, then some tests with elixir month
ago. Amazing language, simple to grasp even for somebody knowing only
imperative languages. Probably the hottest tech around this days, at least
from my point of view. Phoenix framework on top of it is most probably next
rails. Hot.

------
zensavona
I am rooting hard for José and Elixir.

I picked the language up about a month ago after hearing Chris McCord talk
about his web framework, Phoenix, which is seriously great, but Elixir as a
whole is the most fun I've had programming in a long time.

Also, it's quite something when you post a question on the mailing list and
usually receive an answer from the creater of the language in a matter of
hours. He seems like a really smart and kind guy, and I love working with
Elixir, so I hope they both go far.

------
sgt
So is Elixir the future?

~~~
adambrod
I think more cores is the future. Elixir makes it easy (and pragmatic) to
utilize all cores. You can write it without parallelism and add it back in
later when needed.

~~~
lectrick
As a person who once struggled to parallelize a test suite when the entire
thing was not written with parallelization in mind (until its runtime became
onerous)... I would highly, highly recommend using some parallelization
framework from the get-go to uncover any concurrency issues _immediately_.

In Elixir this is literally as simple as adding "async: true" to your test
modules.

It will also force you to write tests that can run concurrently... which has a
few nice side effects for your code design generally.

~~~
dave_ops
LWPs and OTP patterns are a "parallelization framework". You have to try
pretty hard to design an OTP application that can't be trivially parallelized,
and that includes parallelization across machines, not just cores.

