D vs Java as a first programming language
Alexander Panek
alexander.panek at brainsware.org
Tue Sep 30 11:17:40 PDT 2008
Chris R. Miller wrote:
> Sean Kelly wrote:
>> Chris R. Miller wrote:
>>> Sean Kelly wrote:
>>>> == Quote from Chris R. Miller (lordsauronthegreat at gmail.com)'s article
>>>
>>>>> At a certain point you have to pedagogically ask the student to take
>>>>> certain things on faith until you can better explain it all.
>>>>
>>>> Fair enough. But the amount each student is willing to take on
>>>> faith varies.
>>>
>>> It doesn't matter what they're willing to take. You are the
>>> instructor. In due time you will make all things known. For now
>>> they need to just shut up and do what they're told.
>>
>> And some will become frustrated and change majors, fail out, etc.
>
> Probably a better thing for them. If they can't deal with approaching a
> new and foreign concept by gently probing into it, they probably won't
> fare well in the rest of Computer Science as well.
>
>>> Yes, standardized education for nice little standardized children!
>>
>> If children were all the same then this wouldn't be a problem, as
>> you're clearly aware :-)
>
> I have several classic quotes (of my own invention!) related to that
> topic, perhaps my favorite of which:
>
> School is like a trash compactor: we stick our kids in and expect to
> have nice little rubbish cubes come out that stack nicely with the rest
> of the stinking trash heap we like to call "modern society."
>
>>>> Some will accept pretty much anything as magic, while others want to
>>>> know
>>>> how a function call works mechanically (or in some cases
>>>> conceptually, if
>>>> they're math geeks) before they feel comfortable actually calling
>>>> functions.
>>>
>>> I have seen many different kids from all three ends of this
>>> triangular spectrum do just fine with Java. I got curious and
>>> started experimenting with it, trying to make my own classes at month
>>> 4. Eventually I figured out how they worked syntactically so I could
>>> use multiple classes in my programs (the files were getting too big
>>> for my tastes, I just wanted to split stuff up). Later on the
>>> explanation of why and how they worked came and I had this great big
>>> "ah hah!" moment and I was ruined as a Java pro ever since. It's
>>> been four long years of deprogramming myself to get off of Java, so
>>> I'm doing well. ;-)
>>
>> In my experience, students with a math background often tend to do
>> better with functional languages, since the way they work is a bit
>> closer to the mathematic definition--immutable variables, no global
>> state, pure functions, etc. My wife is one such person, and between
>> that and her need to know the details behind how things worked before
>> she could apply the concepts she was pretty much the antithesis of the
>> standard approach to teaching CS. Once she got to the more
>> theoretical or low-level classes like computer architecture, algorithm
>> analysis, compiler design, AI, etc, she had no problem at all. But
>> those first few programming courses were incredibly frustrating for her.
>
> I think that part of computer science is appreciating the proverbial
> "black-box" of architecture and learning how to use an abstracted system
> that you don't know how the whole thing works. To a degree you need to
> train yourself to ignore the dead zones in your understanding and to do
> the best with what you have.
>
> She must be really fond of closed-source proprietary APIs that hide
> everything about their implementation, eh? ;-)
Somehow my sarcasm senses tickle. Somehow.
More information about the Digitalmars-d
mailing list