<div dir="ltr"><div class="im" style="font-family:arial,sans-serif;font-size:13px"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="color:rgb(34,34,34)">Why not learn instead of sell?</span></blockquote><div><br></div><div>Because the bank wont take "I learned Erlang this month" in lie of my car payment or mortgage. Because innovations are rarely created for the purposes of "learn, not sell." Erlang itself was created to Sell, be under no misunderstanding. If Ericson couldn't make a case to the "sellers" then the language wouldn't have powered their switch. Because capitalism and libertarianism work and communism and socialism eventually run out of other people's money. And because I don't want to be someone living on someone else's dime. I like to create, innovate, invent and get paid for it. That lets me provide a better life for my family. </div>
</div></div><div class="gmail_extra"><br clear="all"><div><div dir="ltr"><div style="font-family:arial;font-size:small"><b>Robert Simmons Jr. MSc. - Lead Java Architect @ EA</b></div><div style="font-family:arial;font-size:small">
<i>Author of: Hardcore Java (2003) and Maintainable Java (2012)</i></div><div><i style="font-family:arial;font-size:small">LinkedIn: </i><font face="arial"><i><a href="http://www.linkedin.com/pub/robert-simmons/40/852/a39" target="_blank">http://www.linkedin.com/pub/robert-simmons/40/852/a39</a></i></font></div>
</div></div>
<br><br><div class="gmail_quote">On Thu, Feb 13, 2014 at 12:22 PM, John Kemp <span dir="ltr"><<a href="mailto:john@jkemp.net" target="_blank">john@jkemp.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="">On 02/13/2014 11:44 AM, kraythe . wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Cant agree with you John.<br>
</blockquote>
<br></div>
That's fine :)<div class=""><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
In an organization you cant simply do what you<br>
want and shrug.<br>
If I tried that in any of the big organizations i have<br>
been involved with my optimal case is being fired.<br>
</blockquote>
<br></div>
If I need to "convince" someone about the tech I want to use then I either wouldn't use that tech and would use what they wanted instead, or I would quit.<br>
<br>
It's absolutely the case that if you are driven by "social context" (by that I mean, roughly, "other people's concerns") alone, you won't choose Erlang.<br>
<br>
Although I would often choose Erlang for myself, I would often choose another language if I had a programmer of that language to work with, and a tight deadline.<br>
<br>
In my opinion, professional software developers should choose the best tool for the job -- and the job often includes more than the problem at hand, true. I like to make satisfied customers.<div class=""><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Perhaps if you own<br>
the company you can. But then that relegates Erlang to niche. Makes the<br>
old timers feel pretty superior<br>
</blockquote>
<br></div>
As I've said, you can *choose* whatever language you like, and barring the edge cases, you'll be able to build a workable, relatively scalable solution.<div class=""><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
but is a horrible waste of what appears<br>
to me to be a very useful language. Also if you go that tact there is no<br>
more point of arguing Erlang vs Scala or vs any language anymore. Erlang<br>
will become like Smalltalk. Useful and cool for the old timers but<br>
virtually IRRELEVANT in the IT industry.<br>
</blockquote>
<br></div>
Erlang makes efficient use of computing resources, specifically in distributed environments. It does several other clever things. It's also hard to learn (for some programmers) and doesn't come with a ready "market" of/for proficient software developers. But those who learn it tend to understand the problems which Erlang is good at solving. And they understand why the language choices made in Erlang might be made, in which case, they will often understand other languages better than average devlopers too.<div class="">
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Furthermore, if you argue you don't care about adoption then the<br>
discussion is moot with you. What<br>
</blockquote>
<br></div>
I will continue to explain what I have observed about the advantages of Erlang to those who will listen :)<div class=""><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
it will mean is whomever is on your<br>
development staff writing Erlang you better be open to paying them<br>
whatever they want and letting them get away with about anything because<br>
replacing them would be nearly impossible.<br>
</blockquote>
<br></div>
Unfortunately, I usually work with people who are not in position to understand why one might use Erlang.<br>
<br>
Imagine that you have been initiated into a secret group of people who will help give you an advantage in your software projects that so few have. How could you use those skills?<div class=""><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Often many tech people cant<br>
see past "oooh list comprehensions !!!!!!" to the actual business behind<br>
it and without the business none of us get paid. That is not something<br>
you can take to management and sell.<br>
</blockquote>
<br></div>
Why not learn instead of sell?<br>
<br>
- johnk<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
*Robert Simmons Jr. MSc. - Lead Java Architect @ EA*<br>
/Author of: Hardcore Java (2003) and Maintainable Java (2012)/<br>
/LinkedIn: //<a href="http://www.linkedin.com/pub/robert-simmons/40/852/a39/" target="_blank">http://www.linkedin.com/pub/<u></u>robert-simmons/40/852/a39/</a><div class=""><br>
<br>
<br>
On Thu, Feb 13, 2014 at 10:33 AM, John Kemp <<a href="mailto:john@jkemp.net" target="_blank">john@jkemp.net</a><br></div><div class="">
<mailto:<a href="mailto:john@jkemp.net" target="_blank">john@jkemp.net</a>>> wrote:<br>
<br>
    On Feb 13, 2014, at 11:20 AM, kraythe . <<a href="mailto:kraythe@gmail.com" target="_blank">kraythe@gmail.com</a><br></div>
    <mailto:<a href="mailto:kraythe@gmail.com" target="_blank">kraythe@gmail.com</a>>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            /Java as a language is big and complex, because it has a<br>
            lot of concepts directly inside the language./<div><div class="h5"><br>
<br>
    Ahh but here you are wrong. Java itself is analogous to Erlang<br>
    without OTP. you don't HAVE to use the JDK libraries beyond<br>
    java.lang. You would be a bit crazy reproducing the wheel if you<br>
    did so but it is not a requirement of writing java. In fact many<br>
    Java controlled micro devices only allow a very small subset of<br>
    the JDK to be used. So there is essentially no difference.<br>
<br>
    So Elang is to Java as the Java Development Kit is to the Open<br>
    Telecom Platform. And there is where we have the "marketing"<br>
    disconnect. Its not about changing functionality or a triviality<br>
    to be scoffed over. If we start with the premise that we want more<br>
    developers to learn and use Erlang then we have to consider how<br>
    the language and its nomenclature comes across to our audience.<br>
    You don't name a language the Scalable High Integration Technology<br>
    because the impression it leaves with adopters is ... unfortunate.<br>
</div></div></blockquote><div><div class="h5">
<br>
    Why start with that premise instead of starting with the premise<br>
    that developers should try to understand what is useful to them?<br>
    That has nothing to do with marketing, and everything to do with<br>
    software developers understanding their craft better.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
    So if you DON'T care about people adopting the language, then the<br>
    discussion is academic and simply, as one reply put it, a waste of<br>
    time. Of course if you don't care about adoption then you are<br>
    wasting your time here because you wont be able to staff a<br>
    development crew, replace developers that leave or push the<br>
    language into an organization which isn't currently using it.<br>
</blockquote>
<br>
    Who is “you” in this case? Does the “Erlang community” want to get<br>
    the language adopted more? Perhaps. Why would that matter to the<br>
    Erlang community - how do they benefit? Why should those who already<br>
    know and benefit from Erlang not simply continue to do so?<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
    If you DO care about people adopting the language you have to<br>
    consider its marketing. If I many were to take Erlang to<br>
    management and propose it for a product the management would see<br>
    "Open Telecom Platform", object that the company isn't a telecom<br>
    company and that Erlang is mainly for telecom and that would be<br>
    the end of that.  In fact, if you really care about adoption you<br>
    are better off renaming it "Fred" than leaving it as "Open Telecom<br>
    Platform”.<br>
</blockquote>
<br>
    People reject languages for all kinds of strange reasons. And it’s<br>
    the case that in many cases you can simply choose “a language you<br>
    like” and then *make* it work for what you want to do. After all,<br>
    computers have particular resources available to them, and a<br>
    language well-adapted to its environment should support adequate<br>
    performance for most applications. The distinction between threading<br>
    in Ruby and “event-driven” in Node is largely meaningless, for<br>
    example. The real questions are things like “how well does your<br>
    VM/compiler exploit computer hardware resources on the platform<br>
    you’re using”. Most developers don’t understand this, so they argue<br>
    about threads vs. processes vs. events without understanding what<br>
    might actually be the critical differences regarding the performance<br>
    they say they want.<br>
<br>
    Naming won’t fix that. And management will never get that. You need<br>
    people to understand what they are doing. Or not. After all, you can<br>
    largely do what you like and apart from at the edges, it will likely<br>
    work.<br>
<br>
    - johnk<br>
<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
<br>
    Naming matters and it is also pretty easy to fix.<br>
<br></div></div>
    *Robert Simmons Jr. MSc. - Lead Java Architect @ EA*<br>
    /Author of: Hardcore Java (2003) and Maintainable Java (2012)/<br>
    /LinkedIn: //<a href="http://www.linkedin.com/pub/robert-simmons/40/852/a39/" target="_blank">http://www.linkedin.com/pub/<u></u>robert-simmons/40/852/a39/</a><div class=""><br>
<br>
<br>
    On Thu, Feb 13, 2014 at 9:03 AM, Anthony Ramine <<a href="mailto:n.oxyde@gmail.com" target="_blank">n.oxyde@gmail.com</a><br></div><div class="">
    <mailto:<a href="mailto:n.oxyde@gmail.com" target="_blank">n.oxyde@gmail.com</a>>> wrote:<br>
<br>
        That’s a *HUGE* difference. Erlang as a language is very<br>
        small; OTP is a very complex piece of software, as is BEAM.<br>
        The three shouldn’t be conflated.<br>
<br>
        Java as a language is big and complex, because it has a lot of<br>
        concepts directly inside the language.<br>
<br>
        --<br>
        Anthony Ramine<br>
<br>
        Le 13 févr. 2014 à 15:59, Vlad Dumitrescu <<a href="mailto:vladdu55@gmail.com" target="_blank">vladdu55@gmail.com</a><br></div>
        <mailto:<a href="mailto:vladdu55@gmail.com" target="_blank">vladdu55@gmail.com</a>>> a écrit :<div class=""><br>
<br>
        > On Thu, Feb 13, 2014 at 3:46 PM, Anthony Ramine<br></div><div class="">
        <<a href="mailto:n.oxyde@gmail.com" target="_blank">n.oxyde@gmail.com</a> <mailto:<a href="mailto:n.oxyde@gmail.com" target="_blank">n.oxyde@gmail.com</a>>> wrote:<br>
        >> Java without OOP is a different language.<br>
        >> Erlang without OTP is still Erlang.<br>
        ><br>
        > IMHO the only difference is that OTP is implemented as a<br>
        library and<br>
        > doesn't have dedicated language syntax. I make difference<br>
        between OTP<br>
        > as design/system building guidelines and its implementation. The<br>
        > former is more like OOP for Java. The latter is more like<br>
        the JDK.<br>
        ><br>
        > /Vlad<br>
        ><br>
        >> --<br>
        >> Anthony Ramine<br>
        >><br>
        >> Le 13 févr. 2014 à 15:21, Vlad Dumitrescu<br></div>
        <<a href="mailto:vladdu55@gmail.com" target="_blank">vladdu55@gmail.com</a> <mailto:<a href="mailto:vladdu55@gmail.com" target="_blank">vladdu55@gmail.com</a>>> a écrit :<div class=""><br>
        >><br>
        >>> On Thu, Feb 13, 2014 at 2:09 PM, Benoit Chesneau<br></div><div><div class="h5">
        <<a href="mailto:bchesneau@gmail.com" target="_blank">bchesneau@gmail.com</a> <mailto:<a href="mailto:bchesneau@gmail.com" target="_blank">bchesneau@gmail.com</a>>> wrote:<br>
        >>>> I also say Erlang/OTP and often I add to the one that ask<br>
        that OTP is<br>
        >>>> a framework, but then people are more puzzled than they<br>
        were before.<br>
        >>>> Maybe rust did the right things by  clearly separating<br>
        the language<br>
        >>>> and the runtime from the standard library and other libs ?<br>
        >>><br>
        >>> I would say that OTP is to Erlang what OOP is to Java. You<br>
        can write<br>
        >>> Java programs that are not object-oriented, but why choose<br>
        Java for<br>
        >>> that in the first place?<br>
        >>><br>
        >>> OTP is in my opinion a design philosophy that guides us<br>
        when it comes<br>
        >>> to structuring and developing distributed fault-tolerant<br>
        systems. It<br>
        >>> comes with library support that is intimately tied to the<br>
        Erlang<br>
        >>> libraries: the most basic Erlang apps (kernel and stdlib)<br>
        are also the<br>
        >>> ones that implement the OTP concepts. Even more, Erlang<br>
        code is<br>
        >>> structured as applications, and an "application" is an OTP<br>
        concept!<br>
        >>><br>
        >>> I can only see meaning in trying to separate the language<br>
        from OTP<br>
        >>> either as an academic exercise or in order to implement a<br>
        different<br>
        >>> language on the beam runtime and the new concepts would<br>
        collide<br>
        >>> implementation-wise with OTP. Or one wants to create OTP<br>
        2.0 without<br>
        >>> interference with 1.0.<br>
        >>><br>
        >>> regards,<br>
        >>> Vlad<br>
        >>> ______________________________<u></u>_________________<br>
        >>> erlang-questions mailing list<br>
        >>> <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br></div></div>
        <mailto:<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@<u></u>erlang.org</a>><div class=""><br>
        >>> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-questions</a><br>
        >><br>
<br>
        ______________________________<u></u>_________________<br>
        erlang-questions mailing list<br></div>
        <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a> <mailto:<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@<u></u>erlang.org</a>><div class="">
<br>
        <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-questions</a><br>
<br>
<br>
    ______________________________<u></u>_________________<br>
    erlang-questions mailing list<br></div>
    <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a> <mailto:<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@<u></u>erlang.org</a>><br>
    <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-questions</a><br>
</blockquote><div class="">
<br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-questions</a><br>
<br>
</div></blockquote>
</blockquote></div><br></div>