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



In article <43c28850$1@xxxxxxxxxxxxxxxxxxxxx>, johnnyb@xxxxxxxxxx
says...
> > 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?".
>
> I think the problem isn't that people are looking for an intellectual
> elite (though some might), it's that they are looking for people who
> have an understanding of the whole picture. While a given feature may
> be useful for 90% of programming projects, how will you know when you
> have hit the 10% that you need another tool for, unless you know about
> such tools and where they are used?

As I said in another post, that's exactly what you are supposed to
learn in college. It's far more important than what language you are
familiar with.

> If you don't understand how program proofs work, how will you even know
> that you need to prove something?

The question of whether proofs are needed seems unrelated to the
question of how they work.

> If you don't understand how the underlying machine works, how will you
> be able to do anything but be at the mercy of tech support when
> something unexpected happens?

Certainly there's no harm understanding things, be they about the
hardware, or about the Java virtual machine.

> If you don't understand tail recursion, how will you know that you need
> it, or, having it, know that it changes the question of whether or not
> to use a recursive procedure?

That's a bit like the 'proof' question. What you need to know is what
it delivers in terms of time and space efficiency. Then if for some
problem you wanted to use recursion rather than iteration, you could
evaluate whether that was feasible.

> > 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.
>
> Which is exactly why Java is a bad language to use for teaching. It
> _doesn't_ teach them the skills they need to handle new situations.

Why not? Certainly there's no difficulty using recursion functions in
Java.

> > Though if their teachers haven't taught them the basics, I would blame
> > them rather than the language.
>
> Except that Java doesn't have the expressibility to do so.

There are some things that Java doesn't do, and some things that Lisp
doesn't do. If you learn either one and nothing else, you will have a
very limited understanding.

Ironically, the original argument was that by not supporting iteration
- in other words because of their limited expressiveness - certain
languages make programmers better. Yet by not supporting pointers,
Java is supposed to make them worse. And its support of recursion
doesn't count, for some reason. Poor old Java just doesn't seem able
to win.

- Gerry Quinn

.



Relevant Pages

  • Re: Interesting article by Joel Spolsky: The Perils of JavaSchools
    ... Sounds like recursion to me. ... special purpose language - maybe they are not needed. ... >> This corresponds best to my second example of iteration. ... I am not wild about Java, ...
    (comp.programming)
  • Re: Interesting article by Joel Spolsky: The Perils of JavaSchools
    ... > recursion to define an ordered set, that does not imply (as you imply ... programming in something like Java. ... >>> abandon Java in favour of a toy language that is limited to them and no ...
    (comp.programming)
  • Re: Interesting article by Joel Spolsky: The Perils of JavaSchools
    ... Sounds like recursion to me. ... > special purpose language - maybe they are not needed. ... Go to www.jobserve.co.uk and type Java XSLT in your search. ... >>> This corresponds best to my second example of iteration. ...
    (comp.programming)
  • Re: Retired programmer wants to learn programming
    ... >> I would describe it as not understanding the language he was using. ... >> BASICs have provided recursion in some form. ... > language than, say, Java it is be because it can express ... > higher-level ideas and programming patterns. ...
    (comp.programming)
  • Re: J# or C# which when ?
    ... language features for .NET 2.0. ... recently are not Java compatible. ... though there are some limitations (like no JNI support) on that -- but ... compile both to .NET and modern JVMs, if you're willing and able to ...
    (microsoft.public.dotnet.vjsharp)