Before I address Ovid's points, I'd like to touch on a few of Jaron Lanier's. Indulge me. The article annoyed me.

First off, software rocks.

Hardware can point to a relatively sunny track record because it's relatively simple. Stunningly complex, yes, measured along a certain dimension, but far, far simpler than software. Software encompasses operating systems, communication protocols, programming languages, hardware definition languages, text interfaces, graphical interfaces, browsers, games, Bob the Annoying Paperclip, you name it. Hardware provides the canvas. This is as it should be. We figured out a long time ago that it was most efficient to design a line of watches with identical hardware, and differentiate them with software. Over the years, a larger and larger share of the complexity we're dealing with has been pushed onto the software side.

Further, whenever there's a sense of urgency in an undertaking, gaining the ability to do something is always going to precede the ability to do it really well. Our core software (like Unix and Perl) is darned good, and our less solid stuff can do a heck of a lot.

Well, that is, Unix is darned good if you rate it as a tool which has been useful in conquering vast complexity. But if you're very much used to the way people may cater to you, it's easy to be miffed when the world doesn't. I have little admiration for the fatuous complaints of people who expect the cutting edge to bend over backwards for them, or who seem to regard the ascent of language over cave-drawings to have been mankind's biggest setback.

Ok, that's out of my system. Ovid's remarks are much more agreeable. :-)

I see very few companies concerning themselves with exploiting the potential of hardware. The mere fact that "Java" ever became a buzz-word is, I think, an indicator that the general drift of things is quite different indeed.

I think that educated programmers are becomming more common, but that programmers in general are becoming more common at a much faster pace. This distinction notwithstanding, better education is needed. As I see it, programmers generally start out in one of two ways: they learn the theory, and then how to get things done, or they learn how to get things done, and then learn the theory. Hopefully. The second type (of which I am one) is becoming more common at a faster rate than the former, as the lucrative wages draw people in from other fields... and the danger with these folks is that they will never find their way to learning the theory.

So yes, quite right, Ovid. But it's noteworthy that nobody seems to be trying very hard to teach the theory either. Plenty of books and sites out there helping you master Perl or C++ in a half an hour, but (with a few notable exceptions) virtually no tutorials on algorithms or data structures. The assumption seems to be that such things are interest only to serious programmers and computer scientists, and so your average English-major-turned-programmer muddles about in ad hoc scripts, ignorant or despairing of anything better. Maybe someone around here should help fill the gap.

Anyway, them's my $0.02. One good spew deserves another. :-)


In reply to Re: Why, not How by Petruchio
in thread Why, not How by Ovid

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.