digitalmars.D - Using D is a win
- BLS (30/30) Jun 10 2007 Walter said : "D is not a language made for beginners" and further :
- Sean Kelly (4/11) Jun 10 2007 Agreed. My first language in college was Pascal, the second, C++. D
- Daniel Keep (9/23) Jun 10 2007 I'd have to say that D makes a good *second* language, but not so much a
- Jarrett Billingsley (31/38) Jun 10 2007 I totally agree. I worked last semester as a sort of "tutor" for the
- Jari-Matti =?ISO-8859-1?Q?M=E4kel=E4?= (12/37) Jun 10 2007 I'd say Ruby is even better (simpler) than Python or MiniD as an educati...
- Sean Kelly (7/31) Jun 10 2007 I think it depends on how an individual learns (though it's difficult to...
- BCS (4/42) Jun 10 2007 I whish they would teach it that way more often. I think that it would b...
- Alexander Panek (7/33) Jun 13 2007 Oh, ..well.. strong typed languages might be not as easy in the
- Dan (16/50) Jun 13 2007 Yeah, I went:
Walter said : "D is not a language made for beginners" and further : "They (the nubes) should start with Java, VB or someting similar." I disagree. You can learn Programming using D. You can teach yourself advanced programming technics without having a too steep learing curve and without having too much trouble in learning exotic language constructs. You can start using and learning D wether you are coming from the Pascal language family (including all the 4GL derivats) or you feel more comfortable with C-ish languages. Of course, a DEEP D understanding can easyly take you away from everything else for a year or so, but compare it to Cpp! And even if D will never? be your Bread and Butter language I would suggest to stay tuned/ Try to follow the discussions here, even if you (like me) are not yet able to understand every topic. I have learned a lot within the last 18 month just by listening to the folks here at digitalmars.learn/d I can say that I made my step from Average Joe Coder to : Average++ Joe Coder thanks to D and folks around. ..a while ago I was convinced that metaprogramming is bullsh... because you can do everything using OOP technics..Well the last is still true, but now I see that the overhead using OOP is sometimes not worth the effort; Using Metaprogramming in D is not a pain, it is easy. Compared to Cpp I have to say D metaprogramming is a piece of cake. .. Just one thing remains to say (to ask for) Can you, D wizards, please explain what a new language feature is good for. In practice, pros and cons, having examples ? Curious enough / Learning D gives me an better C sharp, Java understanding. Just my 2 percent of a dead president Bjoern
Jun 10 2007
BLS wrote:Walter said : "D is not a language made for beginners" and further : "They (the nubes) should start with Java, VB or someting similar." I disagree. You can learn Programming using D. You can teach yourself advanced programming technics without having a too steep learing curve and without having too much trouble in learning exotic language constructs.Agreed. My first language in college was Pascal, the second, C++. D could have been used for both classes... certainly for the second, at least. Sean
Jun 10 2007
Sean Kelly wrote:BLS wrote:I'd have to say that D makes a good *second* language, but not so much a good first language. Something like Python definitely makes a better first language since it allows people to focus on learning how to solve problems. I personally think it's more important to get them used to problem-solving than "now, do I need a 32-bit or 64-bit int for this? Should I use a struct or a class?" But then, maybe that's just me :) -- DanielWalter said : "D is not a language made for beginners" and further : "They (the nubes) should start with Java, VB or someting similar." I disagree. You can learn Programming using D. You can teach yourself advanced programming technics without having a too steep learing curve and without having too much trouble in learning exotic language constructs.Agreed. My first language in college was Pascal, the second, C++. D could have been used for both classes... certainly for the second, at least. Sean
Jun 10 2007
"Daniel Keep" <daniel.keep.lists gmail.com> wrote in message news:f4h5em$uhf$1 digitalmars.com...I'd have to say that D makes a good *second* language, but not so much a good first language. Something like Python definitely makes a better first language since it allows people to focus on learning how to solve problems. I personally think it's more important to get them used to problem-solving than "now, do I need a 32-bit or 64-bit int for this? Should I use a struct or a class?" But then, maybe that's just me :)I totally agree. I worked last semester as a sort of "tutor" for the lower-level computer science classes at my university, so I'd help the students who were in some of the intro classes with their assignments and such. What always amazed me was that CS0007, the basicest of basic programming courses, used Java. Doing _anything_ in Java is a verbose chore, and I realized that you really have to know a lot about programming already in order to do anything worthwhile in Java. The most common questions I'd get were things like "what does 'public static void' mean?" and "why do I have to use this 'new' thing?" Just compare the code to ask the user for their name and print it back out, in Java: import java.util.*; public class Program { public static void main(String[] args) { System.out.print("Enter your name: "); Scanner input = new Scanner(System.in); String name = input.nextLine(); System.out.println("Hi, " + name); } } And in a simpler language, say MiniD (though it'd look similar in JavaScript or so): write("Enter your name: "); local name = readln(); writefln("Hi, ", name); No types, no protection attributes, no obscure syntax, no knowledge of OOP necessary -- just pure, simple logic.
Jun 10 2007
Jarrett Billingsley wrote:Just compare the code to ask the user for their name and print it back out, in Java: import java.util.*; public class Program { public static void main(String[] args) { System.out.print("Enter your name: "); Scanner input = new Scanner(System.in); String name = input.nextLine(); System.out.println("Hi, " + name); } } And in a simpler language, say MiniD (though it'd look similar in JavaScript or so): write("Enter your name: "); local name = readln(); writefln("Hi, ", name); No types, no protection attributes, no obscure syntax, no knowledge of OOP necessary -- just pure, simple logic.I'd say Ruby is even better (simpler) than Python or MiniD as an educational language. The syntax is very forgiving and user friendly and "scales" well when the user learns new stuff. It's also much more powerful (syntactically) than Java. Previous example converted to Ruby: print "Enter your name: " name = gets print "Hi, ", name Or some "advanced" stuff: a = [] 3.times { a << gets.to_i } a.map { |i| 42 - 2 * i }
Jun 10 2007
Daniel Keep wrote:Sean Kelly wrote:I think it depends on how an individual learns (though it's difficult to build a curriculum to account for that). Some people have difficulty focusing on higher level issues until they know how the underpinnings work. Others are the opposite. My wife did best learning architecture, then assembler, and so on. SeanBLS wrote:I'd have to say that D makes a good *second* language, but not so much a good first language. Something like Python definitely makes a better first language since it allows people to focus on learning how to solve problems. I personally think it's more important to get them used to problem-solving than "now, do I need a 32-bit or 64-bit int for this? Should I use a struct or a class?" But then, maybe that's just me :)Walter said : "D is not a language made for beginners" and further : "They (the nubes) should start with Java, VB or someting similar." I disagree. You can learn Programming using D. You can teach yourself advanced programming technics without having a too steep learing curve and without having too much trouble in learning exotic language constructs.Agreed. My first language in college was Pascal, the second, C++. D could have been used for both classes... certainly for the second, at least. Sean
Jun 10 2007
Reply to Sean,Daniel Keep wrote:I whish they would teach it that way more often. I think that it would benefit the world at large to have more people that look at computers the way that makes you think of them.Sean Kelly wrote:I think it depends on how an individual learns (though it's difficult to build a curriculum to account for that). Some people have difficulty focusing on higher level issues until they know how the underpinnings work. Others are the opposite. My wife did best learning architecture, then assembler, and so on. SeanBLS wrote:I'd have to say that D makes a good *second* language, but not so much a good first language. Something like Python definitely makes a better first language since it allows people to focus on learning how to solve problems. I personally think it's more important to get them used to problem-solving than "now, do I need a 32-bit or 64-bit int for this? Should I use a struct or a class?" But then, maybe that's just me :)Walter said : "D is not a language made for beginners" and further : "They (the nubes) should start with Java, VB or someting similar." I disagree. You can learn Programming using D. You can teach yourself advanced programming technics without having a too steep learing curve and without having too much trouble in learning exotic language constructs.Agreed. My first language in college was Pascal, the second, C++. D could have been used for both classes... certainly for the second, at least. Sean
Jun 10 2007
Daniel Keep wrote:Sean Kelly wrote:Oh, ..well.. strong typed languages might be not as easy in the beginning, but I do think they require quite some *important* discipline. Apart from that, D is a rather intuitive language (for me, at least), which could be helpful in someone's case. Kind regards, AlexBLS wrote:I'd have to say that D makes a good *second* language, but not so much a good first language. Something like Python definitely makes a better first language since it allows people to focus on learning how to solve problems. I personally think it's more important to get them used to problem-solving than "now, do I need a 32-bit or 64-bit int for this? Should I use a struct or a class?" But then, maybe that's just me :) -- DanielWalter said : "D is not a language made for beginners" and further : "They (the nubes) should start with Java, VB or someting similar." I disagree. You can learn Programming using D. You can teach yourself advanced programming technics without having a too steep learing curve and without having too much trouble in learning exotic language constructs.Agreed. My first language in college was Pascal, the second, C++. D could have been used for both classes... certainly for the second, at least. Sean
Jun 13 2007
Sean Kelly Wrote:Daniel Keep wrote:Yeah, I went: HTML JavaScript C x86 Assembler <-- this is when it clicked C++ CSS Pascal Java XML D ... After x86 assembler <-> html I was able to understand the efforts to obfuscate complexity. I was also able to understand where we had failed in this task. Programming = new Exercise( in caching && in obfuscating complexity);Sean Kelly wrote:I think it depends on how an individual learns (though it's difficult to build a curriculum to account for that). Some people have difficulty focusing on higher level issues until they know how the underpinnings work. Others are the opposite. My wife did best learning architecture, then assembler, and so on. SeanBLS wrote:I'd have to say that D makes a good *second* language, but not so much a good first language. Something like Python definitely makes a better first language since it allows people to focus on learning how to solve problems. I personally think it's more important to get them used to problem-solving than "now, do I need a 32-bit or 64-bit int for this? Should I use a struct or a class?" But then, maybe that's just me :)Walter said : "D is not a language made for beginners" and further : "They (the nubes) should start with Java, VB or someting similar." I disagree. You can learn Programming using D. You can teach yourself advanced programming technics without having a too steep learing curve and without having too much trouble in learning exotic language constructs.Agreed. My first language in college was Pascal, the second, C++. D could have been used for both classes... certainly for the second, at least. Sean
Jun 13 2007