I think Yegge clarified in a follow-up post that what he really meant
to say was "say yes to USERS", not "say yes to FEATURES", but in his
typical off-the-cuff ranty writing style, he had accidentally
conflated the two.

As far as saying yes to every feature, I think that is obviously not a
great idea. It is easy to make the argument that one of the reasons
Java became successful are the features that it said no to: No to
pointers, no to multiple inheritance, no to operator overloading.

As far as saying yes to USERS. I think Yegge brings up a really
important point about a critical problem that plagues not just clojure
but all open source communities in general. Basically the blowhard who
thinks he is smarter than the average person and who enjoys letting
other people know it. We all have some element of self-interest in our
hearts. When you get paid to write software the reward is obvious.
When you are contributing to open source what is the motivation? If
you have the soul of an artist maybe you just want to create something
beautiful. But there are a lot of others for whom contributing to open
source is an ego trip. They haven't gotten the recognition that they
feel they deserve in other parts of their life, so they decided that
by writing something cool and putting it on the internet then they
will be cool too.

When you are getting paid for software you have a direct incentive to
make your software as user friendly as possible. If it "just works"
for the users and they like it and they can happily use it without
ever looking at a manual, then you get more users and more money.
People in open source want more users too but they don't necessarily
want it to be user friendly. In fact often I feel there is this huge
incentive to NOT be user friendly. It is like hazing. You get to say
things like "That is not the functional way, I know the right way but
you don't, I am better than you." or "Why would anyone want to do
that? The problem you are stumped on has such an obvious solution to
me that I can't even understand why you have a problem, I am better
than you." There is this attitude of "I figured how to write my
own .emacs all by myself, from reading the forums and the
documentation, because I was too socially maladjusted to ask anyone
for help. Why can't you?"

This poisonous attitude is perfectly exemplified in this thread by
James Keats. I think it's important to recognize that we are all human
beings, which means that we are herd animals, which means that we all
have genetically hardwired responses to desire to be part of a
hierarchy and we desire to place ourselves higher up on that
hierarchy. This is why we have bullies in kindergarten. But just
because you were bullied in kindergarten does not make it okay for you
to bully newbies over the internet now. Back then it was not okay for
the bigger kids to pick on the smaller kids and right now just because
you are smarter than someone does not make you a better person. We are
herd animals but we are also civilized human beings, we can rise above
our base animal desires to put other people down, we don't have to
give in to our desire to feel like we are part of a special club.

I think the clojure community has in general been much better about
this than some other open source communities, but as clojure gets more
popular, the ego trippers are starting to join the party, the guys who
want to say "I use clojure, clojure is the best language of all, I am
better than you!" The guys who don't care about the pragmatic beauty
of clojure and just want to be a big man in a new tribe. I think it
would be good to not pay too much attention to such people and say yes
to the users. Say yes to the newbies, yes to the object oriented
people not by making clojure more object oriented, but by not shutting
them out of the discourse and laughing them off as just "object
oriented people". As someone whose name I can't remember right now
once said, "There are no bad students, only bad teachers."



-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to