[TheForge] Another Long rambley YAK
Andy Vida
[email protected]
Fri Nov 21 13:15:02 2003
Jerry Frost wrote:
> The fundamental difference in programming is it's additive.
In the sense you appear to use here, yes and no. That is,
yes in reality it tends to be additive in the way you say,
but it doesn't HAVE to be so. The main reason it is so is
not so much that people are too lazy to fix things correctly,
but that often the software is so immensely complex that to
fiddle with things the "right" way will be far more costly
than to just patch th hole. IN terms of complexity, even a
relatively trivial program such as my little hundredweight
converter is far and away more complex (implementationally
speaking) than any mechanical device ever built in the history
of the human race. We are arriving at a point where the
"machine" (structural) complexity of software is such that
single human beings are no longer able to comprehend all of
it, and in fact most can only become proficient in very narrow
bands of the technology in a manner that is commercially
effective.
Because of the reality of "release or die" in the software
biz, the patchwork method of bringing software minimally up
to snuff is de rigeur, and that is one reason that Microsoft
operating systems have the troubles that they do.
> Machining being
> subtractive, if you make a mistake you can't put it back. An additive
> process on the other hand means you can simply cover a mistake with more
> stuff call it a "patch".
The niec thing about software is that it is nothing more than
an arrangement of checkers in a pattern. You can add and remove
a piece at will and alter the pattern any way you wish, in
theory. In reality, once you breech a threshold of complexity,
this becomes increasingly less possible, at least until such
time that we will have truly automated software generation. The
configuration scripts and build systems we see today are nothing
of my definition of automated software generation, but mere and
truly pathetic hints at it, and yet even these are immensely
complex beyond the comprehension of most people walking the
planet, myself included.
> <grin> In the "good old days" when memory was
> limited software had to be well thought out and compact, now with virtually
> unlimited memory we get bloatware.
This is precisely true. But there are also practices that are
common, which are inexcusably poor. To wit, memory
management. Microsoft's .Net provides for true soup
to nuts memory management, yet virtually none of the
commerical software vendors use it. Their products
leak memory left and right and Microsoft gets the blame.
There is no justification for this and if the
buying public were to take them to task, which I do not see
happening any time soon, they would have to make a choice of
leaving their excuses behind or close their doors.
>
> All too often we see engineers design as an additive craft.
This is often a result of upper management policy: We
want it three days ago, now MOVE IT!!!!
>
> >
> > > My compensation on the other hand is visualization; I see mechanisms,
> > > structures, stress, etc. in my minds eye.
> I might argue for Archimedes. Recent archaeological finds include a copy of
> one of his fabled books and in it is found a pretty advanced form of
> calculus. Similar methods though.
Many true geniuses have walked this earth, though still
very rare in proportion to the oceans of souls.
> I haven't seen either set of plans so I may be blowing smoke. If so I
> appologize in advance. The impression I get is it's a bolt together design
> you can weld instead if you wish. This is not the same as a device designed
> to be welded from the start.
The original GH is machined, welded, bolted... all the
stuff you'd expect. This new GH is something else in
terms of intended manufacturing processes.
>
> I agree, in function the grasshopper appeals to me more than any other
> design. My opinion being only this: it can be simplified quite a bit without
> losing function nor flexibility.
True in the case of Bruce's prototype, but that was done
for the sake of allowing maximum adjustability to the
mechanism's geometry so he could determine where everything
should be located. This machine is a prototype in the
truest and best sense of the word.
-A