ASM, Clancy & Harvey, and Agile (Re: vintage computers in active use)
swiftgriggs at gmail.com
Fri May 27 09:59:55 CDT 2016
On Thu, 26 May 2016, Fred Cisin wrote:
> I had words with Clancy and Harvey. While need may be diminshed, there
> is never a complete elimination of the need to pay attention to, and
> optimize near, the level of hardware.
I'm going to loudly agree here. While I find assembly coding somewhat
tedious, I wonder what kind of Jedi mind trick "Clancy and Harvey" used to
make themselves believe that asm was not only dead but also no longer
useful. *eye roll* Whatever, geniuses. Maybe I'm misunderstanding the
quote? Are they serious? Is this out of context and I'm just not "getting"
what they really meant?
There are all kinds of seemingly instinctual reactions that some folks
have to questions of programming style and efficiency. My *least*
1. The "GUI programming" or "natural language" folks who think that
programming really isn't that hard, the problem is that we haven't given
folks Fischer-Price icons for control structures, or allowed people
"simply tell the computer what to do." I simply call BS.
2. Languages that are supposed to "enlighten" students to some incredible
new programming paradigm, or bolt-ons that to older languages with the
same claims. They almost always start their pitch by telling you how some
irritating or tedious aspect of coding in other languages can be
eliminated or minimized. I'm more and more skeptical of this claim all the
time. It rarely works out and generally making things "safer" or "easier"
runs a big risk of neutering their usefulness, too.
Those languages who successfully walk the line between power and ease of
use are the ones that survive and thrive (and sometimes it's just
chance/luck as Dennis Ritchie said about C).
The bottom line is that coding is work. It takes creativity, analytical
and critical thinking ability, and probably most important of all:
practice. IMHO, there aren't any shortcuts. You work and you get results.
As tedious as it is, I can think of several contexts were ASM is downright
required. Folks who think there is a magic bullet or shortcut seem to fall
into the same mistakes while calling them something new. Folks who resent
the work & sweat that others do to get those skills are generally the ones
who are screaming the loudest about how programming is really easy, but
it's the geeks who are just overcomplicating things and are making it "so
Then they or folks with the same mindset generally start talking about
Agile, XP, or some "methodology" that's going to somehow free them from
the basic fact that good experienced coders write the best code and
deliver. You can't simply iron on a methodology and turn a team full of
lazy or careless coders into something else. At best, you can catch more
of their errors and report on the ones that aren't being productive and
hope your management pays attention. I've worked under Agile and XP
regimes and I hate both with a passion. They were both a *huge*
productivity drag (ever actually tried "pair programming"?) and seemed to
me to be an effort to make business weasels feel more comfortable that
their coders were "communicating" and other social crapola they think is
important since most of what they do is sit around and run their mouths in
meetings all day. I'm sure some folks will disagree, but I've *actually
worked* under these schemes. In my experience (and the vast majority of my
co-workers) they were awful. It also seems to me that all the "greats"
(incredible coders) and software projects or companies I loved or
respected weren't "Agile". They simply hired the right people and got out
of the way. Give me the "wizard in a cave" methodology anyday over "1000
H1Bs writing Shakespeare using Agile". Results matter more than
mollycottled business majors and project manager feelings... uhh, IHMO.
Who would you want helping you finish your project, Dr. Jeff Sutherland or
John Carmack? Which do you think is going to get you there sooner and with
better results? I know how I'd answer...
This mentality I dislike is a bit like saying the only reason you can't
play violin is, not because you don't practice and are too lazy to work at
it.... noooo it's because the violin is poorly designed, the wrong brand,
and because you aren't practicing in the right order with your head turned
in the proper direction. Yeah. Right.
I'm not saying the state of the art can't be improved. I only assert that
there are some strategies for doing so that seem flawed from the start
because they start with unrealistic (or downright silly) founding
More information about the cctalk