[Python-Dev] Generally bored by installation

Oleg Broytman phd at phdru.name
Fri Nov 16 06:01:35 CET 2012

Hello, Christian!

On Fri, Nov 16, 2012 at 12:10:09AM +0100, Christian Tismer <tismer at stackless.com> wrote:
> I am bored of installing things. 
> Bored of things that happen to not work for some minor reasons. 
> Reasons that are not immediately obvious. 
> Things that don't work because some special case was not handled. 
[a hot rant skipped]

   Christian, I feel your pain. Everyone does, I am sure. Who among us
never cursed that dratted computers? Those dirty rotten things that
always hang due to bugs in drivers or whatnot, require constant
cleaning, mending, upgrading, repairing, debugging. Condemn that magical
mouse gestures, be cursed those magical incantations. Who in his normal
mind would ever think of writing things like

exec find . \( -type d \( -name CVS -o -name .svn -o -name .hg -o -name .git -o -path ./.mozilla/\*/Cache/\* -o -path ./tmp/\* \) -prune \) -o -type f -exec grep -I "$@" '{}' \+ 2>/dev/null


   Unfortunately, there is no escape. Remember that classical book "The
Mythical Man-Month"? Quoting Brooks, "There is no silver bullet". Things
are becoming better but will never be absolutely perfect.

> I would like to start a task force and some sprints about improving this
> situation. 
> My goal is some unbreakable system of building blocks that are self-contained with no dependencies, that have a defined interface to talk to, and that know themselves completely by introspection. 
> They should not work because they happen to work around all known defects, but by design and control. 
> Whoever is interested to work with me on this is hereby honestly welcomed!

   I am sorry to disappoint you but I don't believe this could work.
Many single developers and teams -- small teams and huge companies,
commercial and non-commercial -- have tried the approach and failed.
Sometimes things work fine, some small projects look perfect... in
isolation... But every now and then they failed, especially when
combined. Try to connect a perfect project that measures distances in
inches with another perfect project that that measures distances in
centimeters -- and poof! your perfect satellite failed and dropped off
of the sky.
   This will always happen. There is always pain for both users and
developers. And still people are not afraid to create bigger and more
complex projects -- and often they succeed.

   The only sane approach in my humble opinion is evolution. Similar to
biological evolution. And biological evolution means huge birth rate,
adapting and huge death rate.
   So write a lot of code, adapt it to your user's need and suffer a lot
of pain -- code death and all that. Try to lessen user's pain, but never
expect a piece of software to become perfect once, for all and forever.

     Oleg Broytman            http://phdru.name/            phd at phdru.name
           Programmers don't die, they just GOSUB without RETURN.

More information about the Python-Dev mailing list