Live data from Hacker News

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

erlang.org

141–150 of 183 posts

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

#141

To me, this list is great except for one small thing. - C - Prolog - Erlang - Smalltalk - Javascript - Hakell / ML /OCaml - LISP/Scheme/Clojure Javascript?! Over Ruby or Python or Lua? What is it with people liking Javascript. I really don't get it. What can I do that is so beautiful or mindbending that I can't do in python? From my experience there is only two reasons to learn Javascript: to be able to build web app…

Argh. How could you read this post and still miss the point so badly? It is not about languages, it is about ideas . And the fact that you need years to master each of these languages because of ideas they are built upon, not because of such trivial things as syntax. I strongly suspect that Joe would be equally comfortable with this list was C substituted with Go, Smalltalk substituted with Io or JavaScript substitut…

> trivial things as syntax.

Syntax is not trivial. You stare at something 10 ours a day, you want it to be a good user interface.

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

#142

In many ways, SQL is the protocol by which we combine programs together.

SQL is not a protocol in the sense that Armstrong is using, which is (approximately, at least) a specification for the acceptable messages (including state transitions that change the acceptable messages) over a communications channel between two processes.

Well, it's not thought of as a "channel between two processes". Maybe more like a hub, except it actually stores data (which is similar to an async protocol that buffers/queues messages).

But that's all kind of irrelevant. The purpose that a database serves is a good replacement for other kinds of IPC. It imparts meaning to data and allows applications to communicate in a common way.

Think about it this way: every language has a different way of representing some missing value -- null, nil, undef, Nothing, None -- and all are slightly different. But the application is probably influenced by SQL NULL semantics more than any of those. (EDIT: reworded this paragraph)

Databases pretty much own everything, which is something I think that language people should spend more time focusing on. Maybe the reason that cool new language isn't 2X as productive as python is because you are still using the same database. Language designers need to focus on informed innovation in the database space if they really want to make an impact.

"including state transitions that change the acceptable messages"

That sounds an awful lot like DDL to me.

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

#144

Earlier quoted context omitted.

What's the difference between pipes and chaining functions? I can't really see much difference between grep | sed |awk somestuff.txt and (awk(sed(grep(somestuff.txt))). Or are you suggesting that function composition is not the right approach? In which case, I disagree, but I would like some more insight into your thought process on this.

My issue largely about the scalability of pipes. They're ok for basic tasks, but not great for complicated routines: 1) You've only got one send and one return. (well, arguably more if you include stderr and exit codes, but they have their own limitations in addition to the aforementioned) 2) They're too insular from each other; different files dotted about that needs to be loaded into the memory then executed. It ad…

I'm not really sure if that answers your question though

I think GP was confused about the difference between the concept of piping and the concept of function composition. As noted by GGGP above, the concept of piping/composition is not only Unix pipes, but you keep arguing about that particular case of it instead of the general concept.

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

#145
The crazy think is we still are extremely bad at fitting things together - still the best way of fitting things together is the unix pipe

This is something that resonates with me. I'm never been a 'nix person but this is a very attractive pitch for getting stuff done. It is, after all, how we build things with LEGO.

I went to a Java school so my OO indoctrination was strong by the time I graduated. Now I'm really starting to crave a development paradigm by composition rather than inheritance. My job title is no longer that of a programmer but I write utilities and library daily to help me with my 'real' job. It helps me get stuff done.

So my question - since I primarily work in the MS world, does PowerShell offer the same flexibility and utility of the Unix pipe? I'd never thought of taking the time to learn it until reading this post.

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

#146

In many ways, SQL is the protocol by which we combine programs together.

It's true that it happens, but it's the antipattern of our age.

When you have seven applications written against a single database (plus a load of complex SQL that operators use for support), it becomes impractical to refactor the schema. Now your business is evolving around rotting data structures.

Companies like Oracle make their money by convincing people that they should adopt this misdesign, and then licensing expensive training, staff and technology to help manage it.

Even putting aside the management issues, databases+SQL is a synchronous communications model, so you can't stream data effectively.

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

#147
"In the beginning I looked around and couldn't find the car I dreamed of. So I decided to build it myself."

("Am Anfang schaute ich mich um, konnte den Wagen von dem ich träumte, nicht finden. Also beschloss ich ihn mir selbst zu bauen.")

-- Ferdinand "Ferry" Porsche on inventing the 356

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

#148
post #25
post #20

Earlier quoted context omitted.

> Even on Hacker News I've seen vitriol directed at [...] To be fair, the author himself is pretty vitriolic about C++: "I saw C++ coming and read the book - or at least tried to read the book - there's a dent in the wall behind my piano, where the book hit the wall - Improvements to C should make things easier not more complicated, I thought"

You are absolutely correct, of course. But he was sharing his personal frustrations with C++, not engaging in the programming equivalent of "slut-shaming" someone for using C++. That's an important distinction that I think has been lost with the HN community. Without criticism, nothing would get better, but if you criticize someone for making something or making a choice, you might just encourage them to stop being a…

not being a girl myself, I suspect that a girl who has been "slut shamed" would probably take offense at someone referring to our circle jerks about one's favorite tool(s) to be considered "slut shaming". Lets keep things in perspective here.

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

#149
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.

I know quite a few languages, and I like Javascript. It has a nice mix of functional, procedural, and object oriented aspects. Once upon a time, it was a horrible language to work in (with browser differences making it infinitely worse); but now, I find I like it.

Now, that said, given the choice, I'd choose coffescript. It gives many of the same benefits in a more concise format. It has its warts as well, though, reflecting its desire to stay as close to a concise-javascript as possible.

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

#150
post #125
post #59

Earlier quoted context omitted.

I don't think it's anywhere near that complicated. People argue about languages because languages become part of their identity: It's common to think of oneself as for example a "Lisp Programmer". And if a language is part of your identity than people saying less than amazing things about that language feels like an attack on you personally, and very quickly the discussion devolves into an argument that has nothing i…

But why do programming languages become part of people's identity so readily, whereas many other things do not? (What do programming languages, operating systems, and text editors all have in common? They're big parts of people's identities...)

I think it's because we invest so much time and energy working with them. Most humans can't do that without becoming attached.

Once you identify with something it becomes difficult to be objective about it. So discourse about technical tools is mostly emotion, however rational it pretends to be. That's why the core debates never end.

By the way, you can add version control systems to your list.

Post reply on HN