
Bumblebee software - Emacs succeeds despite "poor design" - ColinWright
http://www.johndcook.com/blog/2011/05/16/bumblebee-software/
======
sunir
If I may take the conversation up to an academic level here, I always like
Conway's Law:

"organizations which design systems ... are constrained to produce designs
which are copies of the communication structures of these organizations." (cf.
<http://en.wikipedia.org/wiki/Conways_Law>)

Most software is built in institutional organizations (banks, universities) or
by commercial software vendors or otherwise hierarchical, departmental
organizations. Therefore, almost all investment in software practice result in
software designs and control structures that support hierarchical,
departmental organizations.

Emacs and TeX are very different human organizations. Decentralized, ad hoc,
stigmergic [1], meritocratic. Very few projects are organized this way and so
very few people look at software design patterns that support these kinds of
projects.

[1] Stigmergy is self-organized coordination and collaboration managed
indirectly through the object being worked on. cf
<http://en.wikipedia.org/wiki/Stigmergy>

The most popular discussions of this I've seen are Eric Raymond's Cathedral
and the Bazaar ([http://www.catb.org/~esr/writings/homesteading/cathedral-
baz...](http://www.catb.org/~esr/writings/homesteading/cathedral-bazaar/)) and
Coase's Penguin (<http://www.benkler.org/CoasesPenguin.html>).

------
ColinWright
I'm intrigued. As it stands, two people have claimed that this doesn't belong
here:

<http://news.ycombinator.com/item?id=2552857>

<http://news.ycombinator.com/item?id=2552812>

One even flouts the guidelines to tell us they've flagged the item. And to be
honest, I'm rather glad they have, because now I can see a different
perspective than mine, and I have the chance to learn something.

I don't understand _why_ these people think this doesn't belong here. It's
about software design, and the suggestion that modern opinions, dogma, even,
might not be as definitely true as we claim. If Emacs can survive, even
thrive, without being designed in a "modern" way, doesn't that give cause for
pause?

    
    
        ... because the software is so light on
        bureaucracy, it is easy to customize and
        to contribute to.
    

Would someone care to refute this? More than once I've attempted to contribute
to a project, knowing that I can improve some aspect, and been thwarted by the
sheer magnitude of the task in coming up to speed with all the nuances of the
existing design.

Rather than simply saying that it doesn't belong, can you actually refute the
claims? I'd like to see a reasoned discussion - that's why I thought it was
interesting.

~~~
gwern
OP isn't much but a 'emacs is successful despite being bad software
engineering in these ways', which isn't all that interesting. What would be
more interesting is a discussion why those ways aren't bad for emacs or how
emacs overcomes those handicaps.

For example, in an earlier Cook post on Unix philosophy, I linked
[http://www.johndcook.com/blog/2010/06/30/where-the-unix-
phil...](http://www.johndcook.com/blog/2010/06/30/where-the-unix-philosophy-
breaks-down/#comment-71525) to ESR's discussion of Emacs
[http://www.catb.org/~esr/writings/taoup/html/ch13s03.html#id...](http://www.catb.org/~esr/writings/taoup/html/ch13s03.html#id2967765)
and the followup discussion about the interesting idea of contexts/frameworks
<http://www.catb.org/~esr/writings/taoup/html/ch13s04.html>

That could be more than a blog post, it could be a real contribution.

~~~
ColinWright
But even though the OP doesn't have that, I was hoping the discussion here
could, in effect, "crowd-source" such a contribution. So often in the past on
HN I've seen relatively content-poor posts lead to serious discussions that
pull together expertise and experience from a wide range of people, and the
discussion has been a great reference.

EDIT: Don't mind the down-vote(s) - don't really care about karma - but I'd
love to know why people disagree with my comment. Thx in advance.

------
philjackson
I really like that analogy. I think emacs succeeds because of three things
mainly:

* It's so vitally important to people for their day to day work that it simply can't fail. I would far sooner trawl through, and modify, the worst elisp in the project than switch editors - I expect I'm not the only one.

* A (relatively) big, chatty and friendly community of smart hackers.

* It's simply fun to hack.

------
fakeempire
Colin, please don't pose this kind of stuff. I love emacs but this is article
doesn't deserver to be here.

------
calloc
I've flagged this post, mainly because the entire "article" contains
absolutely nothing of substance. It is a fluff blog post that doesn't have
anything new to say, doesn't provide anything for hackers to think about.

~~~
gnosis
From the guidelines:

 _"Please don't submit comments complaining that a submission is inappropriate
for the site. If you think something is spam or offtopic, flag it by going to
its page and clicking on the "flag" link. (Not all users will see this; there
is a karma threshold.) If you flag something, please don't also comment that
you did."_

<http://ycombinator.com/newsguidelines.html>

