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