Live data from Hacker News

"I couldn't really learn Erlang, 'cos it didn't exist, so I invented it"

erlang.org

131–140 of 183 posts

Re: "I couldn't really learn Erlang, 'cos it didn't exist, so I invented it"

#131
These are opinions to be taken with a grain of salt. Especially IDE bashing. A good IDE is more than just a "clicky thing" and you know what, it helps delve into the hundreds of thousands of shitty lines of code that this author or others have written over the years. As far as a universal language for communication? How many have tried and failed? XML, JSON, YML, WTF?

No one is immune from bad code. As far as teaching technique, that's debatable. I think JS is a great starting place as its build/runtime is already (I would hope) familiar to the learner. Then from there, go up, down, and in the middle. C for low-level. Python might be a decent choice.

You don't have to spend a couple of years in each. In fact, since the field is so big, it really is impossible to catch up to 20 years of experience with 7 languages in 2 years. Focus on something you LOVE and go into that domain. If it's web, do PHP/JS (or whatever stack), for iOS/OSX do Objective C. For performant native apps, probably C, Python, or C++. Kernel, C. Etc. Or perhaps, a functional language like Erlang might be more suitable to your field.

It is possible to get 20 years of experience in about 5-7 nowadays with the tools available if one focuses and spends time developing one's career and isn't afraid to read code with or without help from IDEs (because most code is shitty). This post is total bullshit.

Re: "I couldn't really learn Erlang, 'cos it didn't exist, so I invented it"

#132
post #65
post #14

Earlier quoted context omitted.

Javascript is a very different language from Python. It is in some ways more flexible and less prescriptive. You point out one of the non-overlapping use cases. Javascript performance has seen really intensive efforts. Javascript has grown a rather nice async ecosystem that Python just doesn't have. It's also exciting for people from the standpoint that everything feels newer and more up for grabs. Python is a rather…

"Javascript has grown a rather nice async ecosystem that Python just doesn't have." Python has Twisted, and it also has a radically better async ecosystem in gevent. Javascript's async story is far worse than Python's.

Javascript's async story is far worse than Python's.

Yes and no. Python may have an great async core with Twisted and gevents, but it doesn't have an great async ecosystem. Most tools and libraries aren't written with async in mind and you end up having to roll your own in many places where Node either gives it to you out of the box or with well supported third-party libraries. After having written quite a bit of Twisted code I have to say I find writing async code in Node a lot quicker and easier, despite being a much more experienced python programmer.

Re: "I couldn't really learn Erlang, 'cos it didn't exist, so I invented it"

#133
post #12

Just for a moment, consider who this man is and what he has done. We would all do well to take a step back and consider his manner of response. Notice that he continued learning new languages after creating Erlang (instead of just evangelizing it at the one true language). He did not immediately say "choose these three languages" as if they were the only ones you could possibly learn. Does it really help our professi…

"If we stopped bickering so much about what is the "right language", "right framework", "right library" and instead encouraged particular protocols and documentation standards we'd all be better off for it."

Yes, then we'd stop architecting projects and start the by writing code before even understanding the problem. The OP might be a "legend," but this is only his way of thinking and honestly, it won't work for most out there.

I agree as far as segregating languages, but I have yet to meet someone who could master more than 2-3 languages at a time. I mean master, not have "some proficiency in." They do exit, and they are rare, like the OP. These are the type of people that create languages. And that's awesome.

The rest of us can disagree with him all we want. There are no gods in software development, only lesser failures. Everyone writes shitty code.

Re: "I couldn't really learn Erlang, 'cos it didn't exist, so I invented it"

#134
post #12

Just for a moment, consider who this man is and what he has done. We would all do well to take a step back and consider his manner of response. Notice that he continued learning new languages after creating Erlang (instead of just evangelizing it at the one true language). He did not immediately say "choose these three languages" as if they were the only ones you could possibly learn. Does it really help our professi…

Ironically, he takes a swipe at PHP. And the swipe is a bit silly since PHP does have a strlen function.

His point is that "Learn X in 10 minute" type books are so superficial as to miss even basic string functions.

Re: "I couldn't really learn Erlang, 'cos it didn't exist, so I invented it"

#135
post #12

Just for a moment, consider who this man is and what he has done. We would all do well to take a step back and consider his manner of response. Notice that he continued learning new languages after creating Erlang (instead of just evangelizing it at the one true language). He did not immediately say "choose these three languages" as if they were the only ones you could possibly learn. Does it really help our professi…

There's a reason engineering students flunk out in high numbers: if they don't know their stuff they'll build buildings that kill people.

We should be encouraging people to learn stuff before they attempt building it.

Re: "I couldn't really learn Erlang, 'cos it didn't exist, so I invented it"

#137
post #79
post #12

Just for a moment, consider who this man is and what he has done. We would all do well to take a step back and consider his manner of response. Notice that he continued learning new languages after creating Erlang (instead of just evangelizing it at the one true language). He did not immediately say "choose these three languages" as if they were the only ones you could possibly learn. Does it really help our professi…

I found it revealing that he appeared to not only like Javascript, but liked it better than Python and Ruby. Interesting. I personally have grown to love coding in Javascript, but I'm a dumbass who doesn't know Lua, Erlang, Haskell, etc. It would be interesting to hear his perspective on JS.

just a note: Lua is basically a very cleaned up version of Javascript. if their APIs were the same you could practically do a literal transcription between them and most programs would run with little alteration. that includes things like object literals (lua tables).

example:

  (function(a, b) { return a * b; })(1) //valid javascript (NaN)
  (function(a, b) return a * b end)(1) //valid lua (runtime error)

Re: "I couldn't really learn Erlang, 'cos it didn't exist, so I invented it"

#138

What would I recommend learning? - C - Prolog - Erlang (I'm biased) - Smalltalk - Javascript - Hakell / ML /OCaml - LISP/Scheme/Clojure A couple of years should be enough (PER LANGUAGE). A 'beginner' should start by spending 14 years (minimum) learning 7 languages? I was starting to agree with him when he mentioned the paradox of choice that programming beginners face today, but that recommendation is beyond ignorant…

This is a general problem with asking masters in some discipline about the best way to learn - they almost always tend to recommend simply doing what they did, but they do not say "I did x, y and z", but "x, y and z are the best way to learn" and what is worse some people actually take those recommendations seriously.

The problem with this is twofold: first, the times are always changing and yesterdays path is seldom adequate today anymore and second, progress is made by the younger generations not having to repeat the mistakes of the older ones. So, if you want good recommendations for learning, ask the people who actually teach others on a daily basis. I think 2-3 good courses in programming languages can compress a lot of the knowledge you would gain following this recommendation in a much shorter period - "Structure and Interpretation of Computer Programs", "Concepts, Techniques and Models of Computer Programming" and "Programming Language Pragmatics" are three excellent textbooks that go in this direction.

But then, if you strive for mastery, and I think that's what Dr. Joe Armstrong is interested in, it is nothing exceptional to spent 15 years learning.

Re: "I couldn't really learn Erlang, 'cos it didn't exist, so I invented it"

#139
post #132
post #65

Earlier quoted context omitted.

"Javascript has grown a rather nice async ecosystem that Python just doesn't have." Python has Twisted, and it also has a radically better async ecosystem in gevent. Javascript's async story is far worse than Python's.

Javascript's async story is far worse than Python's. Yes and no. Python may have an great async core with Twisted and gevents, but it doesn't have an great async ecosystem. Most tools and libraries aren't written with async in mind and you end up having to roll your own in many places where Node either gives it to you out of the box or with well supported third-party libraries. After having written quite a bit of Twi…

Then try gevent. The monkeypatching they do means that most pure Python network code just works with it. For instance, I used the XML-RPC library that ships with the core with no further modifications beyond what gevent does.

It's less good than using a language with first-class support for continuation-style programming, but it's better than using a language that makes you be the compiler and chop up and manage the event handlers yourself.

Re: "I couldn't really learn Erlang, 'cos it didn't exist, so I invented it"

#140

Earlier quoted context omitted.

I've yet to see anyone who 'slut-shames' based on language produce anything of value. The wanna-be makers project their own failings more readily.

Either you don't consider linux to be 'anything of value' or you haven't read Linus Torvalds' take on c++ http://harmful.cat-v.org/software/c++/linus

Finding one edge case doesn't refute the original point. Most /r/programming-esque lingual slut-shaming is by people who seem to be very good at being Right On The Internet, and not much else.

And that's a woefully terrible thing to be good at.

Post reply on HN