Live data from Hacker News

What can I only do in Erlang?

erlang.org

141–150 of 173 posts

Re: What can I only do in Erlang?

#141
post #87

Earlier quoted context omitted.

Down voting is not for disagreeing, read the guidelines for HN. If you disagree, provide a comment as to why. Down voting is for completely irrelevant comments, inappropriate comments, etc... [EDIT] To be clear, I did not downvote you and I disagree with the down votes on your comment here, even though it's off-topic it's important to acculturate people that are accustomed to "downvoting for disagreeing". Which is wh…

>Down voting is not for disagreeing, read the guidelines for HN. (citation needed)

To be clearer (I guess.) There are no guidelines that say this that I am aware of, that I can locate, or have been cited by anyone. The guidelines only mention downvoting in the context of bitching about downvoting.

Re: What can I only do in Erlang?

#142

ZeroMQ gives you the same but better: messaging in any language. That means you can interface to any component you want written in any language you want. Also hiding native sockets, which means networking is not 1:1 but based on scalability patterns. At some point people will realize what a big deal that is.

HN is just mean and boring for downvoting this. Gotta leave this place.

Re: What can I only do in Erlang?

#144
post #47
post #20

Earlier quoted context omitted.

Agree, and to look at it from a different angle - to me writing Erlang felt like I was writing config txt files to some underlying system. The system performs good following your "config" but all the hardcore feel is lost for you.

Huh? "Hardcore feel" is definitely there and the language is anything but "writing config txt files to some underlying system". I've built applications in the > 10k SLOC range that use a consensus algorithm for distributed computing and it was hard but made tremendously easier because of Erlang's built in primitives. No hardcore feel was lost at all and neither was it writing a config txt file... [EDIT] I would love…

Could possibly be that your comment comes across a bit harsh. Even if not the intention, my inner dialogue read it as someone speaking with anger.

Re: What can I only do in Erlang?

#145
post #96
post #49

Earlier quoted context omitted.

> and Erlang is perhaps the most commercially successful functional language. Out of interest, what makes you say that? Looking at the TIOBE rankings (not that this is definitive), Erlang doesn't even make the top 20 languages, when F# and R do: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.... Is there a reason you think it's more successful in the commercial world? (btw, I'm a fan of Erlang - unfortun…

Erlang is used in infrastructure projects. A few I know of: Rabbitmq -- probably the most popular messaging system Riak -- distributed, fault tolerant database WhatsApp -- managed to route billions of messages a day with only a handful of engineers and servers. Ericsson -- pretty much got the market for cell base nodes cornered. Chances are about 50% if you use internet on your smartphone, that Erlang will be involve…

Also the Heroku routing layer.

Re: What can I only do in Erlang?

#146
post #111

Earlier quoted context omitted.

Yeah, both Java and (currently) Scala are imperfect host languages as well. Global GC is not ideal. Everything's not golden, and it's not better than Erlang in general, but Scala+akka is really awesome for a lot of tasks. For most people looking at Erlang, Scala+akka will be more suitable, I think. Still, if I were to write something powering some really reliability-heavy stuff (like telecom stuff) I would probably g…

Scala+akka may be easier for Java programmers looking at Erlang, and perhaps enough so to make it "more suitable" when you look at net cost/benefit. OTOH, coming from other directions -- particularly dynamic languages -- Erlang may be easier, as well as its other advantages.

It's about 10 times faster, the language has way more modern syntax and constructs. It is not constricted to the actor model only. Erlang has perfected a subset of Scala+akka at slower speed.

Re: What can I only do in Erlang?

#147
post #144
post #47

Earlier quoted context omitted.

Huh? "Hardcore feel" is definitely there and the language is anything but "writing config txt files to some underlying system". I've built applications in the > 10k SLOC range that use a consensus algorithm for distributed computing and it was hard but made tremendously easier because of Erlang's built in primitives. No hardcore feel was lost at all and neither was it writing a config txt file... [EDIT] I would love…

Could possibly be that your comment comes across a bit harsh. Even if not the intention, my inner dialogue read it as someone speaking with anger.

Strange. My inner dialogue read it as someone speaking matter-of-fact-ly about their experiences with the language.

Maybe I assume good faith on the part of the speaker in a wider range of situations than many folks.

Re: What can I only do in Erlang?

#148
post #34

Erlang looks interesting. However, the only problem I have with starting in Erlang is that on the great computer language shootout, it shows that Erlang is about 10x slower than C++ on most examples. And about 3x slower than Go [1] I know that the problems on this website are not specifically "concurrent" problems, but still, even a distributed web-server must do some non-concurrent stuff at times :) Are my concerns…

>Edit: even Haskell seems to be about 7x faster than Erlang (according to [1]). Suddenly, Haskell looks like a good candidate for writing a distributed server :) Can somebody comment on this?

One of the best kept secrets of Haskell, it can be very fast, supports multiple concurrency/parallelism options. The Yesod team does interesting performance work on the Warp server:

http://www.yesodweb.com/blog/2014/02/new-warp

That said, Erlang is really fast at things it was designed for. Try downloading Zotonic or some other Erlang app, get it running, and compare to others like Rails. Sharp, responsive, fast.

Re: What can I only do in Erlang?

#149

Technically in turing-complete languages, there is nothing that one language can do that another is incapable of, correct?

Not really, the runtime system plays a huge role into what a language can conceivably do. Think Ruby and Python and their global interpreter lock or all languages with mandatory garbage collection and no pointer types.

Re: What can I only do in Erlang?

#150

Earlier quoted context omitted.

For people coming from dynamic languages, especially Ruby, it's worth looking at Elixir. Elixir runs on the Beam VM (same as Erlang) and is fully Erlang compatible while fixing many of Erlang's warts, including offering a Ruby-inspired syntax and macros. Here's a fun introduction: http://howistart.org/posts/elixir/1

I agree that its worth looking at (and I need to find time to take another swing at it), but I have to admit that when I came into it from Ruby (having also had some experience with Erlang, but not need), I found the Ruby-like syntax with very different semantics an obstacle rather than a help -- it had a kind of "uncanny valley" effect.

That's been my defense of Erlang's syntax ever since I learned it. Having it be unlike anything I'd experienced before meant it was easy to learn, because I wasn't trying to shoehorn my own expectations upon it. And I'd wager it's why the if statement strikes so many people as being completely weird and 'broken' in Erlang.
Post reply on HN