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.
What can I only do in Erlang?
111–120 of 173 posts
Re: What can I only do in Erlang?
#112I 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 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?
#113Earlier 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…
Re: What can I only do in Erlang?
#114Earlier 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…
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?
#115Earlier 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…
For anyone looking for the citation you can see the full (and quite short) guidelines here.
Re: What can I only do in Erlang?
#116Some 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…
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?
#117Some 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…
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?
#118Earlier 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…
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?
#119Some 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…
Re: What can I only do in Erlang?
#120Earlier 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.