Discussions

News: In Defense of Erlang

  1. In Defense of Erlang (18 messages)

    Did someone say something bad about Erlang? Perhaps that its syntax is too complicated, or that its set of libraries and APIs are garbage? Or that its lousy attempt at object oriented design makes it a lousy choice for developing large scale production applications? Yes, it's certainly enough to get any young computer scientist to skip the 'present opening ceremonies' on Christmas Day and head straight to they keyboard.

    Erlang isn't Overhyped

    Here's the original article that's being refuted:

    Erlang IS Overhyped

    And here are a few more articles that just might get JLouis to stay in on New Years Eve writing up more defense pleas for the jury:

    What Sucks About Erlang

    How to Crash Erlang

    Erlang Hate

    OMG Erlang Really Does Suck

    Erlang Garbage - Okay, this one is actually just about garbage collection, but still, the title is sufficiently inflamatory.

    Threaded Messages (18)

  2. In Defense of Erlang[ Go to top ]

    "Erlang Garbage - Okay, this one is actually just about garbage collection, but still, the title is sufficiently inflamatory."

     

    Huh? The title is "Garbage Coilection in Erlang".

    Anyhoo... worthy a comment, since I'm the only one commenting on TSS.

  3. Quality[ Go to top ]

    Couldn't we go for a higher quality in journalism? I mean, I seriously consider dropping my RSS subscription if someone writes such stuff... 

    Disclaimer: I'm not using erlang, personally I find its syntax uncomfortable, but it's turing complete, just like java, scala, c, c++,  c#, haskell, python, javascript, php...

    And it's not just about this article, but the Chrome OS article was also under any measurement of quality.

    (Messing up a web-browser oriented OS with linux.. this takes a lot of... abstraction...)

     

  4. No Mess Up[ Go to top ]

    No Mess Up. Chrome OS is based on Linux. Where's the confusion?

  5. No Mess Up[ Go to top ]

    That its concept isn't.

    The Chrome OS is a kiosk OS: it runs only one single program, a web browser, on a "custom" hardware. It doesn't really matter what is the underlying OS, since there's no way from an application developer - or user - perspective to actually reach it. If any day they'd change to BSD, or even a largely customized Windows, you wouldn't be able to notice it, it's only that a Linux license is considerably cheaper than a Windows license.

    Therefore, saying that the Chrome OS is trying to sell the same linux desktop concept (what?? You cannot reach any part of the linux userland in it) is simply messing up the linux desktop/platform (with its gnu-based userland) with the linux kernel (which actually runs on a lot of devices, including TVs)

    The same goes for the Android btw, as it's basically running a single program: a mobile JVM called Dalvik - compared to other true linux phones, like the Nokia Maemo series, the Meego, the Openmoko project, or even the iOS,which is basically a mobile BSD platform (you can actually compile most of your "linux" (so, UNIX) programs to iOS, or Maemo, but not to the Android).

    I know that officially, the kernel is the operation system itself, but it simply isn't true in a platform sense.

    But again, we were talking about the quality of journalism here, and such little mistakes, like the Erlang Garbage link above.

    The Chrome OS article was just an illustration that messing up concepts wasn't only in this article.

     

  6. Sarcasm...[ Go to top ]

    I am disappointed that the postings have resulted in your loss of faith in TSS and my editorial work. That wasn't the intention. The post on "Erland Garbage" was intended as a humorous, tongue-in-cheek jest, and I thought the remark after the link made that clear. 

    >>Erlang Garbage - Okay, this one is actually just about garbage collection, but still, the title is sufficiently inflamatory.

    It's tough gaging what the TSS audience wants to hear. Any post that doesn't talk about Servlets and JSPs gets killed with remarks about 'what does this have to do with enterprise Java?' Any sarcasm or wit is met with demands that TSS be more professional, and every serious report gets met with calls that TSS is boring and we need to return to the edgy way it was when Joe was at the helm.

    They say a good court settlement is one that makes nobody happy. Too bad that doesn't apply to TSS.

  7. Sarcasm...[ Go to top ]

    In all fairness, it's more edgy now than it was then - I got flamed a good bit for being too dull. And then, when I turned up the wit (and stopped caring so much what people thought I should post, but posted what *I* thought I should post) I got flamed for not being dull enough.

    You can't win; don't satisfy the complainers. Satisfy everyone else instead.

  8. Don't worry[ Go to top ]

    Don't mix me up with the TSS crowd - the hardest part for me is usually trying not to laugh into the face of java engineers, when they're speaking about the efficiency / speed / etc of their technology :) Being a technical architect with a strong dynamic language background, it's hard to live together with those guys... 

    I read TSS mainly to know what is happening on the java side of the world so they won't notice I don't use such technologies like... JSP... when speaking to each other.

    Because "if you're not into java, you can't be an architect for real".

    There are a lot of short-sightedness in the java community, and over-emphasizing this short-sightedness simply doesn't make any good. Nearly none of the java engineers know 3-4 other platforms deep enough, and I don't think bashing Erlang helps on that.

    But if I'd start to bash java even with the slightest kind of sarcasm - hey, even PHP is more scalable than that, you don't need to use Erlang - (facebook, flickr, hyves, most of yahoo stuff is php) it wouldn't even touch the editorial line I believe.

  9. Don't worry[ Go to top ]

    You're funny.

    You throw out Yahoo! and Facebook as evidence that PHP is "more" scalable, but it's unknown how much of Yahoo! is written in PHP (as opposed to their original scripting language, called "Y," or Lisp).  Facebook didn't find the standard PHP runtime scalable enough, so they developed the HipHop compiler.

    Amazon, e-Bay, and Twitter scale on the JVM.  Is that evidence that the JVM is more scalable than PHP?  No, it isn't.  I present it as evidence of the folly of your lopsided point of view.

     

     

  10. Don't worry[ Go to top ]

    As I said, Javas don't stand sarcasm :)

    In reality, every turing-complete language is the same, since they're turing complete.

    You can scale even a web application written in visual basic if you wish so.

    What was PHP's value here, that some scaling - namely: each request state is totally separate - is built into the architecture design. You can write such in java of course, you just have to put some explicit measures. In PHP this is implicit: you shall make explicit steps to go outside the request scope.

    (Actually, this is a design choice of java web containers which makes them able to hide such errors from simple regular expressions and other easy code analysis tools, and not the language design itself)

    Facebook started the HipHop project around, like, half a billion visitors a month, when they were already the second most-visited website on earth after google (written in c++); when it was introduced as a technical concept this spring, facebook had already more visitors than most companies could only dream of.

    So, I want to thank you for acting as the perfect example that the java community is short-sighted, and does not have the slightest understanding of the "complete" part in turing-completeness (as in: every NP-complete problem is equal)

    So, with this perfect illustration, I beg TSS editors not to go away too much from the java topic, as seemingly fishes don't stand things out of the water.

    I really hope, that one day, in order to be considered a serious architect, it won't really matter to know all the bells and whistles of the current mainstream language, as we will all recognize that architectural patterns aren't just a set of jar files.

     

     

     

  11. Don't worry[ Go to top ]

    See, the thing is that you say you're being sarcastic.  Given the general arrogance and condescension ("the hardest part for me is usually trying not to laugh in the face of the Java engineers") of your messages and evenmoreso your response, I think it's reasonable to take it as fake sarcasm.

    For example, here's some real sarcasm...  I guess Facebook wasn't having a problem with server farm sprawl that caused them to seek a way to keep the (real) productivity benefits of PHP without requiring a data center the size of Houston and their own personal power plant.  I guess they had two years of extra time on their hands and just wanted to see what they could do, for no particular reason.

    You might try treating people with respect.

  12. Re: "real" sarcasm[ Go to top ]

    Why, renaming an article with the title "Erlang's Garbage Collection" to "Erlang Garbage" is real sarcasm?:)

    I tend to be arrogant with the java community a bit, yes; they tend to be arrogant with the outside world. 

    I wholly believe that Java is not the best language in the world, and that widespread java solutions fall behind wide-spread other solutions for really common problems (like, web-based information systems) in a lot of perspectives.

    (I'm terrified when people say that Spring MVC is in pair with Symfony or Rails or Django in _small_ scale application development also)

    I also believe that not anticipating as a community en large that other platforms have better solution for these problems is a kind of arrogance, and that this kind of arrogance is actually the reason why java solutions do fall behind in those circumstances.

    I also believe that the clients of our industry are suffering of such an attitude from this, I do believe people get worse value/money ratio when they are forced to use solutions, which are inferior in certain situatons, inferior to certain order of preference (like, development time, maintainability, compile time, anything). 

    I also believe that people who are advocate of alternative solutions do suffer from such attitude; no matter how well-known architect you are, no matter that your systems do scale well within the given boundaries, no matter that your team outperforms the other teams, you aren't considered seriously.

    Actually, if you're a dynamic language engineer, you have to work at least twice as hard to achieve the same positions as java engineers do within a company. In the meanwhile, you're obliged to know all the bells and whistles of java, and it won't matter that javas won't know anything about any other platform but rumors.

    I've seen fortune 500 companies switching from PHP to Java, just because "it's java, our consultants told us it's better".

    (I've seen it with Java to Ruby also, wasn't always better)

    I could not talk on conferences about our architectural and design patterns, because, well, they aren't to work with Java. 

    So, again: I understand that the current situation is, that we have a bunch of arrogant people, who think that anything but java is inferior, who think that there aren't preference systems - like that of facebook - where anything other could be a better solutions.

    I also understand that such people are on highly respected places in university education, and in enterprises, or enterprise consulting companies.

    With such an understanding, I understand that I have to know Java, and also the most widespread java (and nowadays, with scala: jvm) based technologies, if I want to be taken seriously, and any design pattern or architectural pattern I create, I have to translate into java-like solutions and integrate them with wide-spread java-based libraries in order for them to be recognized as professional achievements.

    What I wish however, that in java centric communities, please DO NOT TALK ABOUT ANYTHING OTHER THAN JAVA, because it just makes me angry seeing such people calling me arrogant for not supporting their point of view.

    (And also I wholly protest against bashing other technologies with such a quality that is gross and disgusting considering the past 300 years of journalism etiquette.)

  13. Re: "real" sarcasm[ Go to top ]

    With such an understanding, I understand that I have to know Java, and also the most widespread java (and nowadays, with scala: jvm) based technologies, if I want to be taken seriously, and any design pattern or architectural pattern I create, I have to translate into java-like solutions and integrate them with wide-spread java-based libraries in order for them to be recognized as professional achievements.

    What I wish however, that in java centric communities, please DO NOT TALK ABOUT ANYTHING OTHER THAN JAVA, because it just makes me angry seeing such people calling me arrogant for not supporting their point of view.

    (And also I wholly protest against bashing other technologies with such a quality that is gross and disgusting considering the past 300 years of journalism etiquette.)

    Hmm, odd.

    Again, speaking as TSS' editor in the past... it always annoyed me how Java-focused TSS was, not because Java isn't a primary focus but because Java isn't even able to exist in isolation. Ruby, Erlang, Clojure, Scala, Haskell, Go, Python, C, C++, C#, VB, COBOL - all exist in various ways and in various proximities with Java.

    Focusing on a pure-java POV just seems silly - few people design applications that way, or at least they shouldn't.

    You're funny, in a good way (unless you don't mean it?) - you say "stop trying to keep me down, man," while trying to keep the community down and limited.

    To me, the site's doing something it's supposed to do, albeit slowly: it's saying "Look, there are other things out there," and it's doing so from a Java perspective, which allows the Java community to expand at its own pacing, rather than being forced to inhale a brave, new world in one stroke.

    Meanwhile, you protest and whine - again, I think it's funny and well done, and I really hope it's intentional.

    To Cameron: good job. I should have done more of this.

  14. Re: "real" sarcasm[ Go to top ]

    I don't think he means to be funny here.  I think he makes a fair point, however.  An architect in search of credibility should have an understanding of what else is out there other than their preferred technology, but it doesn't necessarily need to be deep.

  15. Re: "real" sarcasm[ Go to top ]

    I don't think he means to be funny here.  I think he makes a fair point, however.  An architect in search of credibility should have an understanding of what else is out there other than their preferred technology, but it doesn't necessarily need to be deep.

    Well, if he doesn't mean to be funny, it becomes really rather sad. My first reaction was to laugh out loud - which I really don't appreciate, it gets me funny looks from my kids and then I have to explain the context. Then I appreciated the humor, even while suspecting it might not be meant that way - but I wanted to assume the best.

    As far as architects understanding technologies - I think it does have to be deep. Otherwise, why do they prefer the technology they prefer? Momentum? That's a lousy reason to like something.

  16. Don't worry[ Go to top ]

    The comment felt like "The wrath from the anti-java religious guys".

    The article is about Erlang and what I hate to see most is a completely off topic discussion fired up due to

    some religious biasness (+ or -) on some other specific technologies.

    Whether bashing Erlang helps Java or not is NOT the purpose of the article itself. So if you want to criticize Java,

    feel free to write up your own article with specific points, disadvantages etc. and let the discussion continue there.

    I am sure you will be famous very quickly (for a short time).

    Personally, I think C# is a nice language (being a professional Java developer) and it has its places, but that doesn't mean

    Java is good or bad because it also has its places and so does Erlang.

  17. No Mess Up[ Go to top ]

    The same goes for the Android btw, as it's basically running a single program: a mobile JVM called Dalvik - compared to other true linux phones, like the Nokia Maemo series, the Meego, the Openmoko project, or even the iOS,which is basically a mobile BSD platform (you can actually compile most of your "linux" (so, UNIX) programs to iOS, or Maemo, but not to the Android).

    That's not true. Android has substantial user-space components. It just uses them in a novel way. But you certainly can compile 'normal' Linux programs and use them on Android. For example, Cyanogen mod has busybox in its default installation.

  18. Sometimes I think about Erlang as a successfull form of Lisp within the context of distributed computing (according to the actor model).

    Or to say things differently, if someone asks me about a Lisp flavor within the context of distributed computing, I would tell him/her to take a look at Erlang.

    Then, IMHO, that's the reason why I think Lisp have had definitely success in (strong) industrial contexts.

    Dominique

    http://www.jroller.com/dmdevito

     

  19. It's a joke![ Go to top ]

    I hope by now everyone has realized this was more or less a joke by Cameron. Most of the articles he linked to are actually in favor of Erlang, just nitpicking on some of its flaws. I think none of the authors actually claim that Erlang sucks.