Re: Guis, Processes, Threads, Simplicity - A Personal Manifesto

Mathieu Bouchard <matju-i8w/[email protected]> Mon, 4 May 2009 14:37:53 -0400 (EDT)
Newsgroups gmane.comp.programming.language-of-the-year
Message-ID <[email protected]>
On Mon, 4 May 2009, Jeroen Wenting wrote:

>> Do you know what the first wheels looked like? They sucked. Somewhere
>> along the line, there are people who really do reinvent wheels and it
>> makes better wheels that you are using every day.
> Sure. But how round can you get them?
> At some point it no longer matter whether the wheel is just a tiny bit
> more perfect.

It's not always just a matter of how round or more perfect. It's a matter 
of adapting the concept to have wheels in the situations where existing 
wheels wouldn't work well or wouldn't work at all. Cogs were invented 
because there was a need for a lot of grip. Tires were invented. Tires 
have been adapted to rail systems in order to reduce noise and shaking (in 
some subways). Brakes have been integrated into wheels. And so on.

> And for most purposes the standard library routines will indeed trump 
> anything you (or most people alone) can come up with in a reasonable 
> amount of time.

Usually, yes, but there are plenty of special cases that don't fit. And 
the more you automate things and make common problems easy to solve, the 
more the unusual parts of the problems will stand out as being 
significant.

>> do it just because they feel like it... NIH vanity, or a manner to 
>> self-train, or just a sense of adventure, or... yes, some people 
>> reinvent wheels simply because they don't want to look for a wheel in 
>> the first place.
> Vanity mostly.

That's because you concentrate on vanity. Perhaps you see it in places 
where they had other factors instead. Perhaps most often it occurs 
combined with a bunch of other factors at once. Honestly, I wouldn't be 
able to tell which factors are most important in practice, because of a 
lack of a way to measure it.

When you compare the trouble of making your own library compared to the 
trouble of using someone else's library, the DIY mentality will tend to 
estimate DIY as less trouble, whereas there are people who will go to 
great lengths to find components that they can use even if there is so 
much adaptation that needs to be done that it ends up being more work than 
making a component "from scratch". There is no reference point of 
normality and neutrality between the two. We just have a vague sense of 
two extremes and of some axis between the two, and we can always argue 
that something is "overinvented" vs "underinvented" and how the other 
party is "biased". A lot of it might be that people have developed 
different amounts of reinvention skills vs reuse skills and are making 
judgements relative to their own skills (and the amount of customisation 
they expect to eventually need, etc).

> Or lack of familiarity with what's available in the standard libraries.

Yeah, that would be part of the reuse skills... and of the expectations of 
finding something that does the job.

> If you don't know it's there are are of the mindset that documentation 
> is for loosers,

Sorry, I don't understand this part and I can't guess what it was supposed 
to be.

  _ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec