News for hackers. Stuff that matters.
Re:Stuff Goes Bad: Erlang in Anger by jacquesm on Sunday February 01, 2015 @07:04AM (#8979698)
Erlang has the steepest learning curve of any programming language I've ever studied and Frank Hebert does an excellent job of grading that curve to the point where mere mortals can walk upwards. I'm tremendously grateful for all the work he's put into his books if you're going to spend time on Erlang start with 'Learn you some Erlang' and work your way into the libraries from there.
Re:Stuff Goes Bad: Erlang in Anger by therockhead on Sunday February 01, 2015 @08:59AM (#8979877)
Do you mean the overall platform (OTP etc) ? While different, the Erlang language is small and much simpler than most programming languages IMHO.
Re:Stuff Goes Bad: Erlang in Anger by jacquesm on Sunday February 01, 2015 @09:19AM (#8979916)
OTP makes good sense to me because I built something along the same lines (in C, blasphemy) two years ago.

Erlang the language has me tearing my hair out on occasion. That's not Erlangs fault, it's clearly mine, I grew up with 'BASIC' and moved on Assembler and from there to 'C' and a whole bunch of other imperative languages besides so functional languages are always harder for me to learn.

That said I'm making good progress and Freds book was instrumental in that.

Re:Stuff Goes Bad: Erlang in Anger by klibertp on Sunday February 01, 2015 @10:07AM (#8980080)
Have you tried learning Prolog sometime? From experience: after a week or two with Prolog jumping back to Erlang was such a joy and relief that I picked it up very quickly :)
Re:Stuff Goes Bad: Erlang in Anger by jacquesm on Sunday February 01, 2015 @11:29AM (#8980494)
That sounds like stomping on your foot to make your headache go away.
Re:Stuff Goes Bad: Erlang in Anger by klibertp on Sunday February 01, 2015 @04:08PM (#8981676)
Well, it's not that bad - the side-effect from learning Prolog is knowing a bit of Prolog, which is definitely much more useful than being hurt in the foot...

No, seriously: Erlang shares some features with Prolog and learning Prolog lets you learn those features in isolation, without unnecessary distractions (like, say, processes and sending messages, or gen_server/gen_fsm/supervisors or rebar, applications, releases...). For example "=" not being an assignment, and pattern matching in general, starts making a lot of sense. Looping via tail-recursion (only), single assignment variables, and even some of Erlang syntax stops seeming intimidating quickly.

I think the best metaphor for this would be learning to swim via jumping into a deep water, nearly drowning but learning the most important parts (like don't try to breathe underwater) and then going to shallow water to leisurely practice swimming there. It's certainly not for everyone, but for me it sped up the Erlang learning process by many weeks, if not months. (And also, I learned a bit of Prolog along the way.)

Re:Stuff Goes Bad: Erlang in Anger by jacquesm on Sunday February 01, 2015 @04:52PM (#8981809)
Ok. Thanks for all the tips!
Re:Stuff Goes Bad: Erlang in Anger by jrlocke on Sunday February 01, 2015 @12:00PM (#8980655)
I believe you mean Fred Hebert.
Re:Stuff Goes Bad: Erlang in Anger by jacquesm on Sunday February 01, 2015 @12:04PM (#8980665)
Too late to edit, you're absolutely right.
Re:Stuff Goes Bad: Erlang in Anger by kristoffer on Sunday February 01, 2015 @11:55AM (#8980637)
I hate the misuse of the term "steep learning curve". If something has a steep learning curve it actually means you are learning it fast.
Re:Stuff Goes Bad: Erlang in Anger by jacquesm on Sunday February 01, 2015 @12:04PM (#8980668)
If you're a driver then you know that steep curves are taken slowly. (Unless you're going downhill, and in that case it's probably a sign that your brakes have failed...)
Re:Stuff Goes Bad: Erlang in Anger by kurige on Sunday February 01, 2015 @01:32PM (#8981042)
From the Wikipedia page[1]:

The term is often used in common English with the meaning of a difficult initial learning process. Nevertheless, the Oxford English Dictionary, The American Heritage Dictionary of the English Language, and Merriam-Webster’s Collegiate Dictionary define a learning curve as the rate at which skill is acquired, so a steep increase would mean a quick increment of skill.

Arguably, the common English use is due to metaphorical interpretation of the curve as a hill to climb.

[1]: http://en.wikipedia.org/wiki/Learning_curve#.22Steep_learnin...

Re:Stuff Goes Bad: Erlang in Anger by kristoffer on Sunday February 01, 2015 @12:18PM (#8980728)
A learning curve is something specific. It is the level of knowledge over time.

It has nothing to do with driving..

Re:Stuff Goes Bad: Erlang in Anger by grndn on Sunday February 01, 2015 @12:56PM (#8980886)
Too late, I'm afraid. That horse has literally* bolted. The world has decided on what "steep" means now.

* http://www.salon.com/2013/08/22/according_to_the_dictionary_...

Re:Stuff Goes Bad: Erlang in Anger by jacquesm on Sunday February 01, 2015 @12:49PM (#8980856)
Ok, so let me make it graphical for you: If the 'Y' axis of the graph is expenditure of energy or time and the 'X' axis is progress in understanding then a steep curve indicates a lot of expenditure for relatively little progress.

That's the 'informal use', as in, everyday communications such as, but not limited to comments in online communities.

Re:Stuff Goes Bad: Erlang in Anger by kristoffer on Sunday February 01, 2015 @01:05PM (#8980922)
That is not a learning curve though...

The "informal" usage stems from people not knowing what they are talking about. No need to perpetuate it if you know better.

Re:Stuff Goes Bad: Erlang in Anger by axiomabsolute on Sunday February 01, 2015 @02:46PM (#8981351)
Doesn't this presume the x axis is time. What if the x axis is progress towards completion and the y axis is effort?