Live data from Hacker News

What can I only do in Erlang?

erlang.org

111–120 of 173 posts

Re: What can I only do in Erlang?

#111
post #92
post #25

Earlier quoted context omitted.

I would take a look at akka instead. Distributed actor concurrency and local STM.. Oh my.

All built on the JVM which has its own set of issues compared to BEAM or natively compiled Go or Rust.

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 go with Erlang.

Re: What can I only do in Erlang?

#112

I got the sense that Erlang overlaps somewhat with node.js in terms of what one might use it for. Could anyone familiar with both compare them?

I have experience with both Erlang and Node.js so I feel it's acceptable if I answer this question.

I would use Erlang for anything I would have used Node.js for and I haven't touched Node.js since I've learned Erlang (and Elixir).

- Erlang allows both CPU and IO concurrency.

- Like Node.js, all I/O in Erlang is non-blocking. The difference is that in Erlang your code looks synchronous. There is no callback/promise/whatever sewage all over your codebase, the Erlang VM and its schedulers take care of that for you.

- Messaging is built directly into Erlang, so communicating across OS processes, and within processes, is trivial. In Node.js you have to implement this yourself and will screw it up.

- Node.js doesn't give you any tools for fault-tolerance or distribution, Erlang is best in class for this.

- Erlang has pattern matching and tail recursion. This helps you create much more concise programs than JavaScript does.

- Because Erlang is CPU concurrent and Node.js only offers I/O concurrency, Erlang programs are incredibly consistent in their response times. In Node.js, as your programs grow and take up more CPU time (thus blocking the event loop) you will notice your 99th percentile response times are way above the average.

Re: What can I only do in Erlang?

#113
post #111
post #92

Earlier quoted context omitted.

All built on the JVM which has its own set of issues compared to BEAM or natively compiled Go or Rust.

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.

Re: What can I only do in Erlang?

#114
post #87
post #69

Earlier quoted context omitted.

Down vote = I don't agree with your statement normally here. Not that it might be a starting point on a conversation?

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…

Downvoting is for however the user wants to use it.

https://news.ycombinator.com/item?id=117171

> pg 2455 days ago | link | parent | flag > I think it's ok to use the up and down arrows to express agreement. Obviously the uparrows aren't only for applauding politeness, so it seems reasonable that the downarrows aren't only for booing rudeness.

> It only becomes abuse when people resort to karma bombing: downvoting a lot of comments by one user without reading them in order to subtract maximum karma. Fortunately we now have several levels of software to protect against that.

Re: What can I only do in Erlang?

#115
post #87
post #69

Earlier quoted context omitted.

Down vote = I don't agree with your statement normally here. Not that it might be a starting point on a conversation?

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…

I also did not down vote the poster; however I don't see anywhere in the guidelines that says down voting is not for disagreeing. Interestingly though the guidelines do explicitly state, "Resist complaining about being downmodded. It never does any good, and it makes boring reading."

For anyone looking for the citation you can see the full (and quite short) guidelines here.

https://news.ycombinator.com/newsguidelines.html

Re: What can I only do in Erlang?

#116

Some people have already been mentioning this but I wish to clarify some things. When Erlang was designed/invented the goal was never to make a new language, the goal was to design a way of building systems with a set of specific characteristics, massive concurrency, fault tolerance, scalability, etc. One part of this was the language, Erlang. But at the same time we were developing the language we were also looking…

I wonder how is going the Lisp Favored Erlang project, http://lfe.io. As someone that enjoys lisp and prolog I find erlang a very nice language. Two feature I find handy: One is the ability to modify code while running, the other is OTP. Joe's thesis, available online, was for me an excellent resource to learn Erlang. I think that a good use case for Erlang is when a lot of actors are needed each one doing a little work with little resources (no big library, regular expression, atlas, or the like used).

Funny, I recall some surprise in the community because Joe was asking some easy question about C for some glue code. It's been 5 years since I touched Erlang, only for learning, but is message passing style and the way you create functions like in prolog (or in Shen or picolisp) is unique and a great virtue. I know that tcl has secure interpreters, I wonder if there is such a think in erlang.

Re: What can I only do in Erlang?

#117

Some people have already been mentioning this but I wish to clarify some things. When Erlang was designed/invented the goal was never to make a new language, the goal was to design a way of building systems with a set of specific characteristics, massive concurrency, fault tolerance, scalability, etc. One part of this was the language, Erlang. But at the same time we were developing the language we were also looking…

I wonder how is going the Lisp Favored Erlang project, http://lfe.io . As someone that enjoys lisp and prolog I find erlang a very nice language. Two feature I find handy: One is the ability to modify code while running, the other is OTP. Joe's thesis, available online, was for me an excellent resource to learn Erlang. I think that a good use case for Erlang is when a lot of actors are needed each one doing a little…

LFE (Lisp Flavoured Erlang) is very much alive with a whole bunch of new stuff now released on the master branch. For example you can now easily write LFE shell scripts and run them, much in them way as with sh. There is also a good webpage, the http://lfe.io/ you mention, and a growing set of libraries which have been done by me.

There is also a mailing list at https://groups.google.com/forum/?hl=en#!forum/lisp-flavoured... and an IRC chat at #erlang-lisp.

P.S. I also have a prolog running on erlang as well.

Re: What can I only do in Erlang?

#118

Earlier quoted context omitted.

"Only" is an adverb in this case, and can be placed anywhere in the sentence for stylistic reasons. In all spoken language (as well as computer language), context is king, so we all knew what the title meant, your sandpaper notwithstanding. If the author was trying to ask "What does Erlang force me to do?" then he would have written that.

Thank you for your reply - it's very useful to me to see the viewpoints of others. It's becoming clearer all the time that my use of and views on language are very much in the minority. However, to respond ... > "Only" is an adverb in this case, > and can be placed anywhere in the > sentence for stylistic reasons. That doesn't seem right to me. Only what can I do in Erlang? What can only I do in Erlang? What can I on…

OK, maybe "anywhere in the sentence" goes too far.

But the need for style in writing is super-important.

If I was telling you about how to beat the 2nd level of Legend of Zelda, I might say

  You can only get to the final boss by taking the door on the right.
Or I might say

  You can get to the final boss only by taking the door on the right.
Which phrase has more impact in your opinion?

Also note that in neither of these cases am I implying

  You can only take the door on the right.

Re: What can I only do in Erlang?

#119

Some people have already been mentioning this but I wish to clarify some things. When Erlang was designed/invented the goal was never to make a new language, the goal was to design a way of building systems with a set of specific characteristics, massive concurrency, fault tolerance, scalability, etc. One part of this was the language, Erlang. But at the same time we were developing the language we were also looking…

I wonder how is going the Lisp Favored Erlang project, http://lfe.io . As someone that enjoys lisp and prolog I find erlang a very nice language. Two feature I find handy: One is the ability to modify code while running, the other is OTP. Joe's thesis, available online, was for me an excellent resource to learn Erlang. I think that a good use case for Erlang is when a lot of actors are needed each one doing a little…

That about Joe is not strange actually as he has never been a C-programmer. Before coming to the lab he was a fortran programmer.

Re: What can I only do in Erlang?

#120

Earlier quoted context omitted.

Scale covers lots of things, including statefull v. stateless and (appropriate to this discussion) asynchronous comms and the ability to queue requests. Scale in that sense is facilitated by retrying a remote call that failed - possibly because the server is at capacity. That implies store/forward, which is what the "queue" part of message queuing does. You can definitely use tools like ZeroMQ, MQ Series, MSMQ or WCF…

Examples can be found here http://zeromq.org/docs:labs AFAIK Twitter storm uses ZMQ under the hood.

Not seeing anything that invalidates what I said.
Post reply on HN