[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