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

Things Ryan Dahl hates:

dbus

/usr/lib

Boost

ioctls

SMF

signals

volatile variables

prototypal inheritance

C99

dpkg

autoconf

LD_LIBRARY_PATH

/usr

zombie processes

bash tab completion

dynamic linking

static linking

glib

the details of programming languages

formatting source code

configuring window managers

configuring editors

unicode

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.

http://www.freedesktop.org/wiki/Software/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 | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: