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* favorites are: 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 hard". 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 principles. -Swift