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