Re: Interesting article by Joel Spolsky: The Perils of JavaSchools




On Thu, 12 Jan 2006, Gerry Quinn wrote:

ajo@xxxxxxxxxxxxxxxxxxxxx says...
On Tue, 10 Jan 2006, Gerry Quinn wrote:
when those who consider themselves as members of an intellectual elite
get worried that their inferiors are achieving much the same things as
they can, without having bothered with the elaborate membership
initiations.  "They must be stopped", they wail.  "How can the sacred
work be left in the hands of ignorami?".

Not at all. That is, I think you've hit the nail on the head with respect to the elite's attitude, but somehow you've come to the bizarre conclusion that "inferior" programmers are indeed achieving "much the same things" as the good, smart programmers. Would you disagree that most of the software produced today is extremely poor in quality? I can't blame Spolsky for making a connection between

Software today is more powerful than that produced in the past. By some metrics it may be of poorer quality - by others it clearly isn't. And I don't know how you make a metric for 'most software is of extremely poor quality' without some such comparison, as I can't see any obvious metric.

User annoyance. :)

   A) many college graduates don't display knowledge of basic software
      concepts

If that's the case you have serious problems. We used to have things called examinations which helped.

I don't dispute that most college curricula have serious problems. That was another of Spolsky's points, IIRC. (BTW, as you probably know, I'm a college student right now, so I /do/ speak from experience. Pulling the "In myyy day, we had to..." routine is only going to elicit one of two responses from me: either your memories are tainted by nostalgia, or else you really /did/ get a better education than the average U.S. grad today. Neither interpretation is inconsistent with what I'm saying.)


I think there are sufficient concepts accessible by way of Java to
gauge a programmer's capability.  (Indeed, given that Java is a general
purpose language, this is an argument that is inescapable in pure logic
terms.)

Spolsky thinks there /aren't/ sufficient etc. etc. (He, and certainly
I, dismiss the "purely logical" argument about Turing-completeness as a
red herring. Surely you wouldn't try to gauge a programmer's advanced knowledge if all he knew was Visual Basic or Brainf**k, would you? Languages are /not/ all created equal.)



   This is a point you (Gerry) have been stubbornly ignoring through
this whole thread --- students are lazy. If they can write Visual Basic
code in Java, they will. This is how so many students come to the
200-level courses, even at CMU, unable to write 'atoi'.

An ASCII to integer function can easily be done in VB or Java. Why not set it as an assignment?

(A) Because we already have six labs to get through this semester, and the TAs can't grade fast enough. (B) Because it's provided by the standard library, anyway, so who cares? and you'd have to make up special constraints to confound the smart alecks who turn in "return I.toString();". (C) Because it's completely worked out in the textbook, so it would be more profitable to copy that code for an A than work it out yourself, make a dumb mistake, and get a B. (D) Because there are subtle issues with integer overflow that make a completely correct implementation beyond the capabilities of the average student. We can't teach them <limits.h> (or Java's equivalent static members) --- we need the whole semester to teach a basic grasp of the /important/ stuff. (E) Because the instructor and TAs aren't trained in debugging, so they can't tell a correct implementation from one that only works for positive numbers less than 1000. (And don't even suggest that they read the code! Code is hard to read, and we're behind schedule by a week already.)

  ...Are you satisfied yet? I can give you more examples, taken from
real life.


   Right --- because /supporting/ recursion is a far cry from /encouraging/
recursion. The average student will never learn to fish by being put
out on a lake that /supports/ fishing; they need firm guidance. (And
no, you can't entirely blame the teachers. A lot of teachers are bad,
but it's better that a bad teacher teach Lisp than a bad teacher teach
Java, and there appears to be a shortage of good teachers at the moment.)

I don't see any real evidence for this assertion. The 'New Math' was based on the same sort of concept ('they'll learn bad habits if they start with arithmetic'), and that didn't work out too well.

Okay, maybe a bad teacher teaching Lisp /would/ be worse than a bad teacher teaching Java. I'll let that one go.



[1] - Also consider that Spolsky, as one of the "elite," isn't necessarily
thinking of future application-software drones. His argument applies even
more forcefully to future visionaries --- the ones who are going to make
your life easier with totally original paradigms, whether it be a new
language, a new operating system, a new compression or network protocol,
or a new kind of computer altogether.

Those will likely be proficient in more than one language by the time they come to college.

Part of the "American Dream" is the naive idea that we can teach anyone to be a visionary, even those bright youngsters who spent their high-school years in the Big Blue Room with Poor Climate Control instead of hunkered in front of a computer screen, like me. ;) Not everyone learns several languages before college --- so college ought to be the place where they /do/ learn them.

  You know, I think we agree on all the major points; you just don't
like Spolsky's and my Java-bashing, and I don't like your lack of
cynicism regarding the U.S. educational system. :)

-Arthur
.



Relevant Pages

  • Re: Guitar should be Taught in High School
    ... Prepping a kid for college SHOULD concentrate ... The most critical is the getting the student to understand ... the ranks and become college teachers but they really don't ... If they apply to med school (or vet school ...
    (alt.guitar.beginner)
  • Re: Wakeman Or Emerson?
    ... > hesitation I can easily think of twice that many *bad* teachers. ... The best teachers I've had, with maybe three exceptions, were in college. ... what can any student really learn in a 45 minute time segment? ... >Somebody teaching tenth-grade biology is doing it because she wants to help ...
    (rec.music.progressive)
  • Re: Tenors, Bass & Baritones and ICM
    ... I strongly agree with your observation that very few teachers teach ... whether an ICM musician intends to ... dedicated student of this music for over 20 years. ... So a Guru becomes crucial in mentoring. ...
    (rec.music.indian.classical)
  • Re: Sinfest (12/07) "Govern like its 1933"?
    ... except that all kids take the same test. ... easily will shovel your merit pay into the pockets of teachers who had ... NCLB to use the SATs to measure yearly progress in student ... administrators that can bea larger part of the problem. ...
    (rec.arts.comics.strips)
  • Re: lousy High School education
    ... college, according to a new study of last year's high school graduates ... I think math teachers, for example, should be able to answer any math ... I think high school math has boundaries. ...
    (rec.sport.football.college)