www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Need direction guide

reply Sam Hu <samhudotsamhu gmail.com> writes:
I have learnt C++ for years and can write simple and short toys.I have been
following and learning D for quite a while but I can do nothing except finding
ppl like you giant seems just write libs at this moment.I believe D2 is getting
mre powerful and stronger but it seems to me just a legend.So right at this
moment,I am wondering:
1.Whether D1 is useful to do something,or it is quite worth to wait for the
stable or "finalized" verison of D2?If yes,what can one do using D1,I mean not
just a toy,a test product,rather an serious tool?
2.Are those feathers in D2 vital  while D1 does not have?Or all these features
are just for experienced programmers,a beginner can just ignore them at present?

I am lost although I like D so much than C++.I would like to spend as much time
as learning C++ and want to gain as much as gain C++ can offer me.Any
constructive suggestions or guideline would be much appreicated.

Regards,
Sam
May 04 2009
next sibling parent reply "Denis Koroskin" <2korden gmail.com> writes:
On Mon, 04 May 2009 12:29:54 +0400, Sam Hu <samhudotsamhu gmail.com> wrote:

 I have learnt C++ for years and can write simple and short toys.I have  
 been following and learning D for quite a while but I can do nothing  
 except finding ppl like you giant seems just write libs at this moment.I  
 believe D2 is getting mre powerful and stronger but it seems to me just  
 a legend.So right at this moment,I am wondering:
 1.Whether D1 is useful to do something,or it is quite worth to wait for  
 the stable or "finalized" verison of D2?If yes,what can one do using  
 D1,I mean not just a toy,a test product,rather an serious tool?
It is very funny that you write that. D1 is a stable language and there is a lot of code written using it. There is absolutely nothing that can be written in C++ and can't be in D (unless you are writing for a memory-limited embedded device). In fact, D is a lot more powerful than C++ already, and it allows to you complete the same task faster and with less code.
 2.Are those feathers in D2 vital  while D1 does not have?Or all these  
 features are just for experienced programmers,a beginner can just ignore  
 them at present?
I believe there is little difference between programming in D1 or D2 for a novice, but I'd recommend sticking with D1 for now because it is more stable, has a lot more code pre-written for you, common problems are solved, more experts available etc.
 I am lost although I like D so much than C++.I would like to spend as  
 much time as learning C++ and want to gain as much as gain C++ can offer  
 me. Any constructive suggestions or guideline would be much appreicated.
I'd suggest you to write more code, experience and knowledge comes with practice. Pick a project and start writing code. Whenever you find a difficulty, ask in newsgroups or in IRC (you usually get instant help there). I'd also recommend you to find some people that use/learn D and speak your language. For example, if you speak Chinese, d-programming-language-china.org is a great resource for you. I believe there are a lot of people that would be glad to help. There is also russian community located at dprogramming.ru
 Regards,
 Sam
May 04 2009
parent reply Sam Hu <samhudotsamhu gmail.com> writes:
Hi Denis,

Thanks so much for your prompt response.

 1.Whether D1 is useful to do something,or it is quite worth to wait for  
 the stable or "finalized" verison of D2?If yes,what can one do using  
 D1,I mean not just a toy,a test product,rather an serious tool?
It is very funny that you write that. D1 is a stable language and there is a lot of code written using it. There is absolutely nothing that can be written in C++ and can't be in D (unless you are writing for a memory-limited embedded device). In fact, D is a lot more powerful than C++ already, and it allows to you complete the same task faster and with less code.
I do know many projects there written by D1,but how come D1 seems to ppl just a pass-by,please correct me if I am wrong.
 I am lost although I like D so much than C++.I would like to spend as  
 much time as learning C++ and want to gain as much as gain C++ can offer  
 me. Any constructive suggestions or guideline would be much appreicated.
I'd suggest you to write more code, experience and knowledge comes with practice. Pick a project and start writing code. Whenever you find a difficulty, ask in newsgroups or in IRC (you usually get instant help there). I'd also recommend you to find some people that use/learn D and speak your language. For example, if you speak Chinese, d-programming-language-china.org is a great resource for you. I believe there are a lot of people that would be glad to help.
Yes,you are right, I am a member of d-programming-language-china.org.Actually there is another one D forum which I think is more open,serious,intuitive and productive: http://dlang.group.javaeye.com/ and I has tried to translate several Phobos lib into Chinese just as the others did. But to be honest,almost all D members in the forum are a bit lost for the going of D1 vs D2.We felt that D1 is workable but less less power than D2 or C++( almost not worth to use),D2 is what we expected and what we want but it seems we can never get it to work. Thanks again. Sam
May 04 2009
next sibling parent reply Sam Hu <samhudotsamhu gmail.com> writes:
Correctness:
But to be honest,almost all D members in the forum are a bit  lost for the
going of D1 vs D2---
Here the "the forum "I mean the Chinese D forums.
May 04 2009
parent Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
On Mon, May 4, 2009 at 5:55 AM, Sam Hu <samhudotsamhu gmail.com> wrote:
 Correctness:
 But to be honest,almost all D members in the forum are a bit =A0lost for =
the going of D1 vs D2---
 Here the "the forum "I mean the Chinese D forums.
Then more of you should speak up in the newsgroups. Walter doesn't speak Chinese.
May 04 2009
prev sibling parent Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
On Mon, May 4, 2009 at 5:52 AM, Sam Hu <samhudotsamhu gmail.com> wrote:

 I do know many projects there written by D1,but how come D1 seems to ppl =
=A0just a =A0pass-by,please correct me if I am wrong. Where do you get that impression? Most code that has been written in D has been written in D1. Most D libraries are D1-only or at least D1-compatible. There is a very small number of D2 projects, and given how much D2 and Phobos 2 are changing, I doubt that they're terribly stable. If you get the impression that since most of the discussions are about D2 then D1 is dead, well, no. It's just that D1 doesn't (and can't) change anymore, so there's no point discussing it.
May 04 2009
prev sibling parent Lutger <lutger.blijdestijn gmail.com> writes:
Sam Hu wrote:

 I have learnt C++ for years and can write simple and short toys.I have 
been following and learning D for quite a while but I can do nothing except finding ppl like you giant seems just write libs at this moment.I believe D2 is getting mre powerful and stronger but it seems to me just a legend.So right at this moment,I am wondering:
 1.Whether D1 is useful to do something,or it is quite worth to wait for 
the stable or "finalized" verison of D2?If yes,what can one do using D1,I mean not just a toy,a test product,rather an serious tool? D1 is very useful and mature imho, you can do anything with it that it was designed for and them some more. The choice of D1 or D2 is not too difficult: D2 itself is still changing, compiler may have more bugs, and there are very, very few libraries for it. Even the dsss build tool does not work with latest versions of dmd2. This means: only usable for learning, building libraries and generally if you want to stay on top of the bleeding edge. Not so suitable for making applications yet.
 2.Are those feathers in D2 vital  while D1 does not have?Or all these 
features are just for experienced programmers,a beginner can just ignore them at present? Both are true I think. They really are important improvements, but not in a way that makes D1 incomplete without them.
 I am lost although I like D so much than C++.I would like to spend as much 
time as learning C++ and want to gain as much as gain C++ can offer me.Any constructive suggestions or guideline would be much appreicated.
 
 Regards,
 Sam
Is your goal for now *just* to learn D? Then you could start making toy programs with D2. Is your goal to learn D and make some cool programs? Then D1 will make that easier. Happy programming!
May 04 2009