Live data from Hacker News

What can I only do in Erlang?

erlang.org

41–50 of 173 posts

Re: What can I only do in Erlang?

#41
post #40

Earlier quoted context omitted.

Sorry, I may be assuming incorrectly. The person is in their 50s, and they're the most experienced developer I know (and can pick stuff up very quickly), so I assumed they'd have 30+ years of Erlang experience. It only dawned on me later that Erlang was only created in the 80s, so I must have misspoken, but yeah, my friend is one of the best developers I've had the pleasure of working with regardless.

And why isn't your friend finding a job with such a huge experience? I don't want to offend you, just plain curiosity.

He generally has steady work, he's just starting to look again. I figured a thread about Erlang would be pertinent to this.

Re: What can I only do in Erlang?

#42

Not sure I agree with the conclusions: 1. Binaries: this isn't really an issue. We ship the JVM with anything that we do in Java. Unzip, run, done. Go is probably ideal there but it doesn't support embedded resources without some hideous hacks so you're still going to be deploying more than just a single binary in a lot of cases. CLR is pretty good at this as well. 2. Sockets: 0MQ/WCF/JMS/any stream abstraction wired…

Besides the various mis-interpretations in your comment you are comparing features, but instead you should be comparing systems. Erlang is not a language, it is better thought of as an operating system with a very large amount of work and experience thrown behind two goals: reliability and scalability.

The difference between having such goals stated during the design phase and then keeping sight of them during all future development and say you forcing a thread to crash in the JVM is that in Erlang this is the way to do it, in Java you're going to have to re-implement your supervisor and clean-up yourself. And you'll probably get it subtly wrong.

Erlang is not a bunch of features that you can get elsewhere, it's an integrated whole on a very solid foundation with decades of proof of reliability behind it.

Re: What can I only do in Erlang?

#43
post #27

Op's work environment is exceptional in many ways. It's a quintessential hacker work place. Unbelievable flexibility. I am sure a place like that attracts people who can make any technical edge, however miniscule, into a real felt advantage. I want to learn about their management, hiring and culture-building practices more than their actual hacking triumphs.

[deleted]

Re: What can I only do in Erlang?

#44
post #27

Op's work environment is exceptional in many ways. It's a quintessential hacker work place. Unbelievable flexibility. I am sure a place like that attracts people who can make any technical edge, however miniscule, into a real felt advantage. I want to learn about their management, hiring and culture-building practices more than their actual hacking triumphs.

Is the name of this company mentioned anywhere? I can't seem to find it.

Re: What can I only do in Erlang?

#46
I love Erlang (and it's younger sibling Elixir). I love reading about it. I enjoy following tutorials about it. I love its simplicity.

But when I try to come up with scenarios/ideas where Erlang might be a good fit, I realize I'm not smart/motivated enough (yet?) to tackle such problems.

Erlang isn't difficult. It's the problems it was designed to solve that are difficult.

Re: What can I only do in Erlang?

#47
post #20
post #9

In 2005, I worked in software development for 6 months before abandoning it for another field. In my new job, I was given the task of writing a server for a messaging application - which would allow users to send a "hand-drawn" message from our own proprietary handheld device to Windows phones. I was told to learn Erlang and get it done - the company was barely 30 people and had no formal training programs. While I h…

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 to know why the downvoter disagrees with me, unless you're being a downvote kiddie.

Re: What can I only do in Erlang?

#48
post #37
post #35

Earlier quoted context omitted.

You wouldn't use Erlang for number crunching: you'd write some C code and communicate with that. Same as you'd likely do with Ruby or PHP or whatever.

Okay. But let's take the example of the C++ webserver framework written by Facebook employees, which was discussed here a few days ago, [1]. This project contains lots of protocol-handling logic for HTTP/1.1 and SPDY, and beneath that TLS. Are you saying that such projects are better written in a combination of Erlang and C/C++? [1] https://news.ycombinator.com/item?id=8563199

It's a matter of economics. If you have the resources to throw at a problem and write it in C++, it'll probably be faster, in the end. However, it might also take longer and be less flexible. And with networked stuff, you want to be really careful, too.

Facebook has the money to throw at something like that with no problems. Not everyone does.

Re: What can I only do in Erlang?

#49
post #36
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…

When you say Erlang is slower than C++, You are right. It is also slower than Go. Ruby is also slower than C++ & Go, But Ruby on Rails is not only popular but a very productive web framework which can help you build your app with a productivity that C++ or Go can't match. When you write a high quality, fault tolerate system, the raw speed comes at the end. Erlang shines when you write a concurrent system plus its des…

> 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 - unfortunately I don't get to use it on a regular basis; other than products built on it: RabbitMQ mainly)

Re: What can I only do in Erlang?

#50
Added in edit: Seeing that this is getting down-votes suggests either that I've not been sufficiently clear in the point I'm trying to make, or that you think I've phrased it in an unacceptable way. Either way, sorry you don't think this fits here, but I'll leave it for others to down-vote, correct, reply to, or support, as they see fit.

Another edit: Getting more down-votes, but not learning anything. Do you think this is the wrong place to say this? Or do you think I'm just wrong to worry about this level of precision in "normal" speech? Reply! Engage! Tell me why I'm wrong.

========

I'm going to be "that guy" ... warning: Rant ahead.

The wording of this question is like sandpaper on my brain - for me, the "only" is misplaced. Assuming he is asking:

    What is there that I can do in Erlang,
    but cannot do (or is significantly more
    difficult to do) in other languages?
With that reading, I feel the question should be:

    What can I do only in Erlang?
The question as phrased, to me, admits the alternate interpretation of:

    What does Erlang force me to do?
English, and natural languages in general, are weird things. To quote the great Terry Pratchett:

    It's very hard to talk quantum using a language
    originally designed to tell other monkeys where
    the ripe fruit is. -- (Night Watch, 2002)
I'm sure I've seen it before, but Google searches are just turning up places where I've re-quoted it, but:

    When using plain language is it difficult
    to construct a sentence that a determined
    adversary cannot misconstrue.
You may argue that in this case it doesn't matter, but I would suggest that practising precision in language is important, and helps to avoid sloppy thinking.

This comment is intended to be constructive, although I admit freely that it is off-topic for the submission. Even so, I think it's useful to think about these things. I wonder if Erlang makes it easier to be truly precise about something.

Post reply on HN