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