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



In article <Pine.LNX.4.60-041.0601101307450.2393
@unix40.andrew.cmu.edu>, ajo@xxxxxxxxxxxxxxxxxxxxx says...
> On Tue, 10 Jan 2006, Gerry Quinn wrote:
> > johnnyb@xxxxxxxxxx says...
> [Gerry Quinn, IIRC, wrote:]

> >>> And it's the same half-baked point that has been made for millennia,
> >>> 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.

> 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.

> and
> B) the software produced by many college graduates is low-quality
>
> He's saying --- and I agree --- that if you teach students to think
> about software in the right way, it will make it easier for them to
> write better software later in life.[1]

Well, we can probably all agree with that.

> >>> When they need to learn it, they will. Hopefully employers will choose
> >>> to hire staff capable of doing or learning to do what they need,
> >>> whether that includes the above things or not.
>
> (Silly. Spolsky's point is that if an interviewer is faced with a
> JavaSchool grad, he won't be able to judge the interviewee's capability,
> precisely because the interviewee won't be able to demonstrate any grasp
> of the concepts it take capability to understand. If Alice understands
> pointers and recursion, she'll be able to understand anything, and get
> hired. If Bob doesn't understand P&R, he may yet be able to understand
> anything, but he won't be able to demonstrate that capacity, and he won't
> get hired.)

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.)

As I said at the start, pointers and recursion are pretty trivial. Any
C hacker knows about them - he uses pointers to define insecure
strings, and recursion to blow the stack in a floodfill routine. They
are his basic toolset for making poor quality software! I certainly
don't think they can be the only way of telling the quality of a
graduate.

> 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?

> 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.

> [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.

- Gerry Quinn
.



Relevant Pages

  • Re: Interesting article by Joel Spolsky: The Perils of JavaSchools
    ... (BTW, as you probably know, I'm a college student right now, so I /do/ speak from experience. ... If they can write Visual Basic code in Java, ... 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. Because there are subtle issues with integer overflow that make a completely correct implementation beyond the capabilities of the average student. ... 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.) ...
    (comp.programming)
  • Re: Data compression in roguelikes
    ... Gerry Quinn wrote: ... think Breshenham circle drawing algorithm is simple too). ... perfectly onto a 2D array. ... It means that the quality of a game that uses 15% of CPU is almost ...
    (rec.games.roguelike.development)
  • Re: Data compression in roguelikes
    ... Gerry Quinn wrote: ... think Breshenham circle drawing algorithm is simple too). ... perfectly onto a 2D array. ... indistinguishable from the quality of a game that uses 5% of CPU. ...
    (rec.games.roguelike.development)
  • QStudio for Java Enterprise 2.0 released
    ... QA Systems has now released version 2.0 of QStudio for Java Enterprise. ... - Enterprise-level and role based control and reporting on quality ...
    (comp.lang.java.developer)
  • QStudio for Java Enterprise 2.0 released
    ... QA Systems has now released version 2.0 of QStudio for Java ... Enterprise Java Bean compliance, ... - Enterprise-level and role based control and reporting on quality ...
    (comp.lang.java.softwaretools)