Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??
Caution: The following article is very grumpy.

Ovid posted a node recently that had a link to this rancid article. The rancidity was not Ovid's fault of course, and I would like to thank him for pointing to it.

The article is about some super-genius named Jaron Lanier, who must be really k00l, because he hangs with Sean Lennon. Jaron has this to say for himself:

"The hardware side of computers keeps on getting better and cheaper at an exponential rate," writes Lanier. "[But] this breathtaking vista must be contrasted with the Great Shame of computer science, which is that we don't seem to be able to write software much better as computers get much faster."

Which is, uh, false.

OK, story time. Back in the 1970s, IBM assembled a big team of programmers to produce a new product. They spent millions of dollars and hundreds of programmer years. The outcome was the IBM Fortran H compiler. It was a really excellent compiler.

Back in the 1970's, that's how you wrote a compiler. That's how much it cost and that's how long it took.

These days, if you are nineteen years old and going to university to get a CS degree, you take a one-semester class called 'Compiler Design'. As your final project for that class, and maybe your midterm project also, you write a compiler. Total cost, zero. Total programmer-years, 0.67. It won't be a very good compiler, but a third-year CS student is not a very good programmer.

Jaron Lanier has the gall to say that we don't know how to write software any better than we did before, when every nineteen-year-old kid is now expected to do the work of a crack team of programmers in half the time.

Thirty years ago, Perl would have been completely unthinkable. There were 'list-processing languages' and 'string-processing languages'. Nowadays, if your language doesn't have list processing and string processing and a ton of other stuff, nobody will use it. People won't even bother to laugh at it. Thirty years ago recursion was a weird and difficult concept and most languages didn't support it.

Thirty years ago, there were no window systems. If anyone had had the idea to write a widget toolkit, they would have failed, because there was no OOP. Heck, forget OOP. Thirty years ago, there was hardly any structured programming.

Thirty years ago, regexes had just been invented and it was big news that you could use them for pattern matching. Thirty years ago hashes were a difficult concept.

Thirty years ago, nobody knew how to index 1300 million web pages and then instantly find the ones that people wanted. Nobody would have dared to try.

Thirty years ago, the idea of NP-completeness had not been invented. Nobody had the slightest idea that some problems were intrinsically hard. Nobody had even seriously thought that it might be possible for a problem to be intrinsically hard.

You may not believe how primitive was our understanding of network programming thirty years ago. Thirty years ago, the guys designing the telnet protocol for the ARPAnet (this was before the internet) were trying to figure out how the protocol should communicate the details of the line-wrapping discipline. Today if you tried to include line-wrapping in a remote login protocol, everyone would laugh at you. "Let the program on the remote end deal with it," they would say. They might add "Duh! Everyone knows that." They would be right. The ARPAnet guys eventually figured that out. Too bad Jaron Lanier wasn't around then; he could have saved them a lot of time.

Bah. Anyone who tells you that we haven't made progress in software is selling something that isn't worth buying.

"Great Shame of Computer Science," my butt.


In reply to Jaron Lanier is a Schmuck by Dominus

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!
  • 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, 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, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            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.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others drinking their drinks and smoking their pipes about the Monastery: (4)
    As of 2014-09-18 00:55 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      How do you remember the number of days in each month?











      Results (101 votes), past polls