[erlang-questions] Any Erlang Devs Contemplating Elixir?
Sat Feb 27 14:49:45 CET 2016
On 02/27/2016 01:14 PM, José Valim wrote:
> When Ruby developers look at Elixir they feel right at home. If you
> call yourself a Ruby developer, then you identify with certain
> values from Ruby, many of which can be found in Elixir. It's
> familiar. Again, we are on the irrational level here.
> You don't need to go to an irrational level to argue that. Elixir picks
> some of its values from Ruby, as well as Erlang and Clojure. I don't
> think anybody from the Elixir community is denying or fighting against that.
> In any case, the "Elixir is not Ruby" is a valid disclaimer. Otherwise
> you get people expecting it to be exactly like Ruby and have their
> expectations violated and also people that completely dismiss it because
> they think it will be exactly like Ruby.
It's a valid disclaimer, and nobody is saying Elixir is Ruby, nor
should. But it doesn't get you far. In fact it might have the opposite
effect for anyone who thinks of themselves as Ruby developers. A more
effective way to say it would be "inspired by Ruby" or "sharing many of
the values from Ruby". You want to make people come in because of their
similarities, not keep them out because of their differences.
> If you look at the most recent survey
> you can see that Ruby developers dominate. Other languages are
> little more than a statistical anomaly. Clearly you bring in a lot
> more Ruby developers than any other combined, and the reason for
> that is identity.
> The other languages *amount to 40% of the replies*. It is not a
> statistical anomaly. And I would be really careful to put all of the
> reasoning on the identity/irrational, although I agree it does play an
> important role. For example, we should also consider that my biggest
> sphere of influence before Elixir was the Ruby community. Those were the
> first developers I could reach to, which in turn brought more developers
> from the same community, and so on.
even listed three times). The first thing a statistician would do would
be to remove all statistically insignifiant answers (either completely
or by having an Other category). All the languages with a handful of
answers are irrelevant.
You also need to relativise these answers with the size of the
respective communities. Clearly you don't have much an impact on Java or
C developers, despite them being the largest numbers of developers. You
have a much bigger impact on Python, and yet nothing close to Ruby, in
Interpretation of raw data is rarely insightful.
> That's exactly why I would like to focus on other communities. We have
> already attracted many Ruby folks which are now doing the work of
> "spreading the word" more effectively than I ever would. Plus they have
> the whole identity thing going on for them. Actively investing in other
> communities is how we can bring more diversity into the language and
> ensure it grows beyond a web-centric community.
You need to have a common ground, though. Right now, as an *outsider
observer*, I can't think of Elixir being for anything other than Web stuff.
Before you start investing in other communities I would recommend
investing in diversifying the Elixir ecosystem. Python is a great
example of a diversified ecosystem, I can think of Python being used for
Web stuff, system tools and GUI applications. How that happened, I do
not know, but today I can think of Python being used in all three. It's
part of Python's identity, when I think of Python I think about these
use cases, about python2to3 and about significant whitespace.
I am guessing that before trying to bring people in, a large amount of
work was done to provide them with what they want. This is of course an
iterative process. But I believe you can't have Java people too
interested in Elixir unless you have the enterprisey stuff they need, to
give an example. And you need to make it clearly apparent. You need to
decide what to focus on and make it a part of Elixir's identity.
Author of The Erlanger Playbook,
A book about software development using Erlang
More information about the erlang-questions