D vs Java as a first programming language

Matt matt at matt.matt
Sun Sep 28 05:13:04 PDT 2008


Nicolas Sicard Wrote:

> Hi,
> 
> I am new to D, and I think I have discovered a programming language 
> close to my ideal one...
> 
> On the web site, it is said: "Who D is Not For [...] As a first 
> programming language - [...] Java is more suitable for beginners.".
> Is this based on experience?
> 
> I am a teacher in a field where my students don't know what a 
> programming language is! I need a language for a first approach of 
> programming. I would say that Pascal, or BASIC even if a bit outdated, 
> or even D would fit, but not Java.
> 
> I can imagine my first lesson with Java:
> 
>      public class HelloWorld {
>          public static void main(String[] args) {
>              System.out.print("Hello world!");
>          }
>      }
> 
> I would have to explain what a class is. What a method is. What a public 
> or private visibility means. What a static method is. What the dots in 
> "System.out.print" mean... :) Then how to compile it. Why you can't run 
> it without a virtual machine. A virtual what?
> 
> It seems the main argument why Java is a good first language is that it 
> lacks complexity (namely C++ complexity). I think it also lacks 
> simplicity for absolute beginners. D can be both simple and complex, and 
> it shares other features with Java that could make it a language for 
> beginners: object-oriented, no pointers necessary, garbage collection, 
> strict type checking, portable...
> 
> What feature would make D a worse choice than Java for a first language?

Given the described target audience, I would suggest Python or Ruby as the first language. Even D might have too much initial knowledge to gain for them.

Matt



More information about the Digitalmars-d mailing list