Hacker News new | past | comments | ask | show | jobs | submit login

Things Ryan Dahl hates:







volatile variables

prototypal inheritance






zombie processes

bash tab completion

dynamic linking

static linking


the details of programming languages

formatting source code

configuring window managers

configuring editors


directory hierarchies

As he should. These things are all stupid. They're monstrously stupid minutiae that you shouldn't have to know about unless the abstraction somehow leaks.

What he's saying is, "Where are better abstraction mechanisms?" And that's a tremendously important question (whether you get it or not).

So let's take the first example on the list, dbus.


Should no programmers have to know about inter-process communication? Is dbus a bad IPC mechanism? Is IPC itself a flawed concept?

Those are interesting questions, because we can ask why and look for alternatives. Ryan's post and your response, not as interesting.

Application messaging is a great idea. Desktop buses are useful.

DBus as an implementation of messaging largely sucks. It uses an ad hoc protocol, there's little security, the C library implementation of it is a big mess, the socket interferes with remote X, introspection doesn't really work, and it uses far too much XML.

It may be a good question, but asking it and then ignoring it by not throwing out ideas for discussion is almost as useless as not asking it at all. e.g. regarding volatile: http://www.bluebytesoftware.com/blog/2010/12/04/SayonaraVola...

I really agree with this.

There are better abstraction mechanisms.

He lost me at tab completion

Don't forget node.js -- "Node is fucked too. I am also one of these people adding needless complexity."

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact