Re: Latest Joel article



Bob Dawson wrote:
>
> First, the idea that OO is too simple to allow the good programmers
> to stand out is simply silly--pointers aren't hard in any basic sense
> either.

My experience forces me to disagree about pointers (not about OO). For far
too many programmers, understanding pointers and references even at the most
basic level *is* difficult. I could provide endless examples of things I've
seen that, IMO, cannot be attributed to simple inexperience but to lack of
education and/or logical abilities. In both Delphi and C++, many errors in
the use and management of objects are a direct result of having no
understanding of pointers. Java and .Net, with their built-in garbage
collection partly alleviates some of these (memory management ones) but also
makes it possible to engineer even harder to diagnose problems. So even
someone that otherwise has gained a good grasp of OO and can show good
design abilities can still easily be tripped up if they lack other
fundamentals.

> As Joel mentions, the actual material of either approach is tiny--you
> spend the rest of the semester 'getting it.' It's got no more to do
> with Scheme vs. Java than learning to think has with whether or not
> Latin is required.

The question, like with Latin, is whether knowledge of pointers is still of
any *practical* value for application-level programmers. My opinion is yes,
it is still necessary and still will be for sometime at least. There *may*
come a day when that is no longer true.

> So fundamentally, I think Joel has his glasses on backwards: he
> thinks he can tell the great from the mediocre programmers quickly
> based on the material he was taught in college, but admits he can't
> do that with the new kids. And part of the reason for that,
> apparently, is that he's still conducting his screening the way he
> did and with the same questions he used twenty years ago.

This part I have some agreement - I think some of the questions he asked 20
years ago are still valid as part of this, but of course candidates should
also be judged on other, newer, concepts and technologies. A programmer that
has great fundamentals but absolutely no grasp of OO is also not very
attractive to me.

> But at that
> point it's really the standard that fails, not the shoes

The standard must evolve with the times, but not be thrown out wholesale.

--
Wayne Niddery - Logic Fundamentals, Inc. (www.logicfundamentals.com)
RADBooks: http://www.logicfundamentals.com/RADBooks.html
"Those who disdain wealth as a worthy goal for an individual or a
society seem not to realize that wealth is the only thing that can
prevent poverty." - Thomas Sowell


.



Relevant Pages

  • Reusing Source by Modifying it
    ... All programmers do this frequently. ... the goals of reusability can lead ... wholesale copy can work if the table doesn't use pointers. ... For routines that are much more trivial than table management, ...
    (comp.programming)
  • Re: Letter to US Sen. Byron Dorgan re unpaid overtime
    ... >> is conducting Congressional hearings on this law. ... I find that overuse of pointers create misunderstandings. ... It does appear that on the Continent of Europe, ... And elsewhere in the world programmers live ...
    (comp.programming)
  • Re: How to Teach Python "Variables"
    ... "variables" in the sense that, say, C does, and instead has bindings ... a redefinition of terms programmers are already familiar with. ... Python "variables" do not work the way they do in ... of pointers in C is implementing pass-by-reference. ...
    (comp.lang.python)
  • Re: Different Implementations of VLIW .
    ... |>>pointers to things to look up. ... That's why I said "KNOWN unreliability". ... |>>and more 'structured' languages, where the ILP might be extractable. ... I don't recall most programmers even thinking ...
    (comp.arch)
  • Re: Bug/Gross InEfficiency in HeathFields fgetline program
    ... it would be far less confusing to newbie readers of ... which make use of pointers. ... I've been fortunate and only worked with a few clueless programmers. ...
    (comp.lang.c)