D vs Java as a first programming language
Sean Kelly
sean at invisibleduck.org
Tue Sep 30 10:53:41 PDT 2008
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.
> 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 :-)
>> 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.
Sean
More information about the Digitalmars-d
mailing list