<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">On Feb 13, 2014, at 11:20 AM, kraythe . <<a href="mailto:kraythe@gmail.com">kraythe@gmail.com</a>> wrote:<br><div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><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">
<i>Java as a language is big and complex, because it has a lot of concepts directly inside the language.</i></blockquote><div> </div></blockquote>Ahh but here you are wrong. Java itself is analogous to Erlang without OTP. you don't HAVE to use the JDK libraries beyond java.lang. You would be a bit crazy reproducing the wheel if you did so but it is not a requirement of writing java. In fact many Java controlled micro devices only allow a very small subset of the JDK to be used. So there is essentially no difference. <div>
<br></div><div>So Elang is to Java as the Java Development Kit is to the Open Telecom Platform. And there is where we have the "marketing" disconnect. Its not about changing functionality or a triviality to be scoffed over. If we start with the premise that we want more developers to learn and use Erlang then we have to consider how the language and its nomenclature comes across to our audience. You don't name a language the Scalable High Integration Technology because the impression it leaves with adopters is ... unfortunate. </div></div></blockquote><div><br></div>Why start with that premise instead of starting with the premise that developers should try to understand what is useful to them? That has nothing to do with marketing, and everything to do with software developers understanding their craft better.</div><div> <br><blockquote type="cite"><div dir="ltr">
<div><br></div><div>So if you DON'T care about people adopting the language, then the discussion is academic and simply, as one reply put it, a waste of time. Of course if you don't care about adoption then you are wasting your time here because you wont be able to staff a development crew, replace developers that leave or push the language into an organization which isn't currently using it. </div></div></blockquote><div><br></div>Who is “you” in this case? Does the “Erlang community” want to get the language adopted more? Perhaps. Why would that matter to the Erlang community - how do they benefit? Why should those who already know and benefit from Erlang not simply continue to do so?</div><div><br><blockquote type="cite"><div dir="ltr">
<div><br></div><div>If you DO care about people adopting the language you have to consider its marketing. If I many were to take Erlang to management and propose it for a product the management would see "Open Telecom Platform", object that the company isn't a telecom company and that Erlang is mainly for telecom and that would be the end of that. In fact, if you really care about adoption you are better off renaming it "Fred" than leaving it as "Open Telecom Platform”.<br></div></div></blockquote><div><br></div>People reject languages for all kinds of strange reasons. And it’s the case that in many cases you can simply choose “a language you like” and then *make* it work for what you want to do. After all, computers have particular resources available to them, and a language well-adapted to its environment should support adequate performance for most applications. The distinction between threading in Ruby and “event-driven” in Node is largely meaningless, for example. The real questions are things like “how well does your VM/compiler exploit computer hardware resources on the platform you’re using”. Most developers don’t understand this, so they argue about threads vs. processes vs. events without understanding what might actually be the critical differences regarding the performance they say they want. </div><div><br></div><div>Naming won’t fix that. And management will never get that. You need people to understand what they are doing. Or not. After all, you can largely do what you like and apart from at the edges, it will likely work. </div><div><br></div><div>- johnk</div><div><br><blockquote type="cite"><div dir="ltr"><div>
</div><div><br></div><div>Naming matters and it is also pretty easy to fix.</div><div><br></div><div class="gmail_extra"><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 9:03 AM, Anthony Ramine <span dir="ltr"><<a href="mailto:n.oxyde@gmail.com" target="_blank">n.oxyde@gmail.com</a>></span> wrote:<br><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">
That’s a *HUGE* difference. Erlang as a language is very small; OTP is a very complex piece of software, as is BEAM. The three shouldn’t be conflated.<br>
<br>
Java as a language is big and complex, because it has a lot of concepts directly inside the language.<br>
<span class=""><font color="#888888"><br>
--<br>
Anthony Ramine<br>
<br>
Le 13 févr. 2014 à 15:59, Vlad Dumitrescu <<a href="mailto:vladdu55@gmail.com">vladdu55@gmail.com</a>> a écrit :<br>
</font></span><div class=""><div class="h5"><br>
> On Thu, Feb 13, 2014 at 3:46 PM, Anthony Ramine <<a href="mailto:n.oxyde@gmail.com">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 library and<br>
> doesn't have dedicated language syntax. I make difference 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 the JDK.<br>
><br>
> /Vlad<br>
><br>
>> --<br>
>> Anthony Ramine<br>
>><br>
>> Le 13 févr. 2014 à 15:21, Vlad Dumitrescu <<a href="mailto:vladdu55@gmail.com">vladdu55@gmail.com</a>> a écrit :<br>
>><br>
>>> On Thu, Feb 13, 2014 at 2:09 PM, Benoit Chesneau <<a href="mailto:bchesneau@gmail.com">bchesneau@gmail.com</a>> wrote:<br>
>>>> I also say Erlang/OTP and often I add to the one that ask that OTP is<br>
>>>> a framework, but then people are more puzzled than they were before.<br>
>>>> Maybe rust did the right things by clearly separating 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 can write<br>
>>> Java programs that are not object-oriented, but why choose Java for<br>
>>> that in the first place?<br>
>>><br>
>>> OTP is in my opinion a design philosophy that guides us when it comes<br>
>>> to structuring and developing distributed fault-tolerant systems. It<br>
>>> comes with library support that is intimately tied to the Erlang<br>
>>> libraries: the most basic Erlang apps (kernel and stdlib) are also the<br>
>>> ones that implement the OTP concepts. Even more, Erlang code is<br>
>>> structured as applications, and an "application" is an OTP concept!<br>
>>><br>
>>> I can only see meaning in trying to separate the language from OTP<br>
>>> either as an academic exercise or in order to implement a different<br>
>>> language on the beam runtime and the new concepts would collide<br>
>>> implementation-wise with OTP. Or one wants to create OTP 2.0 without<br>
>>> interference with 1.0.<br>
>>><br>
>>> regards,<br>
>>> Vlad<br>
>>> _______________________________________________<br>
>>> erlang-questions mailing list<br>
>>> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
>>> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
>><br>
<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br></div></div>
_______________________________________________<br>erlang-questions mailing list<br><a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>http://erlang.org/mailman/listinfo/erlang-questions<br></blockquote></div><br></body></html>