www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Fastest way to learn D?

reply "ProgrammingGhost" <dsioafiseghvfawklncfskzdcf sdifjsdiovgfdisjcisj.com> writes:
What is the fastest way for me to learn D? I think what I want is 
a syntax reference manual and a good tutorial to learn how to 
find and use libs.
Oct 15 2013
next sibling parent reply Dejan Lekic <dejan.lekic gmail.com> writes:
On Tue, 15 Oct 2013 20:13:45 +0200, ProgrammingGhost wrote:

 What is the fastest way for me to learn D? I think what I want is a
 syntax reference manual and a good tutorial to learn how to find and use
 libs.
I learned D by doing two things. 1) Downloading the bundled DMD in a ZIP file. 2) Reading the language reference at http://www.dlang.org (back then it was on DigitalMars website...) That is all you really need. Now I would suggest reading the D Wiki as well. ;)
Oct 15 2013
next sibling parent "Brian Schott" <briancschott gmail.com> writes:
On Tuesday, 15 October 2013 at 18:25:48 UTC, Dejan Lekic wrote:
 2) Reading the language reference at http://www.dlang.org (back 
 then it
 was on DigitalMars website...)
If you want a more accurate version of the language grammar, take a look at this: https://github.com/Hackerpilot/DGrammar/blob/master/D.g4 (And if you find any errors, please create a pull request)
Oct 15 2013
prev sibling parent reply "Craig Dillabaugh" <craig.dillabaugh gmail.com> writes:
On Tuesday, 15 October 2013 at 18:25:48 UTC, Dejan Lekic wrote:
 On Tue, 15 Oct 2013 20:13:45 +0200, ProgrammingGhost wrote:

 What is the fastest way for me to learn D? I think what I want 
 is a
 syntax reference manual and a good tutorial to learn how to 
 find and use
 libs.
I learned D by doing two things. 1) Downloading the bundled DMD in a ZIP file. 2) Reading the language reference at http://www.dlang.org (back then it was on DigitalMars website...) That is all you really need. Now I would suggest reading the D Wiki as well. ;)
You really learned D from the online language reference? Thats hard core! You must be much smarter than me. I suggested reading the Phobos docs online, but I was just joking.
Oct 15 2013
next sibling parent Dejan Lekic <dejan.lekic gmail.com> writes:
 
 You really learned D from the online language reference?  Thats hard
 core!  You must be much smarter than me.
 
 I suggested reading the Phobos docs online, but I was just joking.
Well, that was ~10 years ago... Language reference is still pretty much okay, with more examples, plus we also got nice dlang.org website meanwhile. :) DPaste should also be a good resource for new D programmers. But hey, it is all on D Wiki!!
Oct 15 2013
prev sibling next sibling parent reply "John Colvin" <john.loughran.colvin gmail.com> writes:
On Tuesday, 15 October 2013 at 18:32:59 UTC, Craig Dillabaugh 
wrote:
 On Tuesday, 15 October 2013 at 18:25:48 UTC, Dejan Lekic wrote:
 On Tue, 15 Oct 2013 20:13:45 +0200, ProgrammingGhost wrote:

 What is the fastest way for me to learn D? I think what I 
 want is a
 syntax reference manual and a good tutorial to learn how to 
 find and use
 libs.
I learned D by doing two things. 1) Downloading the bundled DMD in a ZIP file. 2) Reading the language reference at http://www.dlang.org (back then it was on DigitalMars website...) That is all you really need. Now I would suggest reading the D Wiki as well. ;)
You really learned D from the online language reference? Thats hard core! You must be much smarter than me. I suggested reading the Phobos docs online, but I was just joking.
I did too. I don't see it as particularly hard/only-for-smart-people, I just built simple programs and slowly looked up what I needed as I went along. A lot of help from people here and on IRC helped as well of course.
Oct 15 2013
next sibling parent "Craig Dillabaugh" <craig.dillabaugh gmail.com> writes:
On Tuesday, 15 October 2013 at 18:36:19 UTC, John Colvin wrote:
 On Tuesday, 15 October 2013 at 18:32:59 UTC, Craig Dillabaugh 
 wrote:
 On Tuesday, 15 October 2013 at 18:25:48 UTC, Dejan Lekic wrote:
 On Tue, 15 Oct 2013 20:13:45 +0200, ProgrammingGhost wrote:

 What is the fastest way for me to learn D? I think what I 
 want is a
 syntax reference manual and a good tutorial to learn how to 
 find and use
 libs.
I learned D by doing two things. 1) Downloading the bundled DMD in a ZIP file. 2) Reading the language reference at http://www.dlang.org (back then it was on DigitalMars website...) That is all you really need. Now I would suggest reading the D Wiki as well. ;)
You really learned D from the online language reference? Thats hard core! You must be much smarter than me. I suggested reading the Phobos docs online, but I was just joking.
I did too. I don't see it as particularly hard/only-for-smart-people, I just built simple programs and slowly looked up what I needed as I went along. A lot of help from people here and on IRC helped as well of course.
There is a lot of good information in the language reference, but I just remember it didn't feel very welcoming to someone new to the language. It does show how to use the different parts, but it is sort of hard to figure out what a proper D progam should look like from all that. But as Dicebot pointed out, it wasn't all that long ago that there were not many other options.
Oct 15 2013
prev sibling parent reply "Chris" <wendlec tcd.ie> writes:
On Tuesday, 15 October 2013 at 18:36:19 UTC, John Colvin wrote:
 On Tuesday, 15 October 2013 at 18:32:59 UTC, Craig Dillabaugh 
 wrote:
 On Tuesday, 15 October 2013 at 18:25:48 UTC, Dejan Lekic wrote:
 On Tue, 15 Oct 2013 20:13:45 +0200, ProgrammingGhost wrote:

 What is the fastest way for me to learn D? I think what I 
 want is a
 syntax reference manual and a good tutorial to learn how to 
 find and use
 libs.
I learned D by doing two things. 1) Downloading the bundled DMD in a ZIP file. 2) Reading the language reference at http://www.dlang.org (back then it was on DigitalMars website...) That is all you really need. Now I would suggest reading the D Wiki as well. ;)
You really learned D from the online language reference? Thats hard core! You must be much smarter than me. I suggested reading the Phobos docs online, but I was just joking.
I did too. I don't see it as particularly hard/only-for-smart-people, I just built simple programs and slowly looked up what I needed as I went along. A lot of help from people here and on IRC helped as well of course.
So did I, and then just at the right moment, TDPL was published, which explains the concepts of D and the reasoning behind them rather nicely, but it is not a "cookbook" or an elaborate "how to" guide. Ali's tutorial is much more practical as regards code examples, pointing out possible pitfalls and the like. As usual, you will need more than one book/source. Mind you, D is constantly evolving and things keep changing, so it's a good idea to stay on this forum and check the API regularly. If you do this, you will not only learn D, but also get a deeper understanding of programming related problems (and possible solutions) in general. I don't know if there is a general overview of how D does things differently, e.g. that a lot of search, iteration and comparison algorithms are handled in std.algorithm (e.g. startsWith(), which would be in a string handling module in other languages). Anyway, go ahead, you can only win!
Oct 15 2013
parent reply "John Colvin" <john.loughran.colvin gmail.com> writes:
On Tuesday, 15 October 2013 at 20:25:06 UTC, Chris wrote:
 On Tuesday, 15 October 2013 at 18:36:19 UTC, John Colvin wrote:
 On Tuesday, 15 October 2013 at 18:32:59 UTC, Craig Dillabaugh 
 wrote:
 On Tuesday, 15 October 2013 at 18:25:48 UTC, Dejan Lekic 
 wrote:
 On Tue, 15 Oct 2013 20:13:45 +0200, ProgrammingGhost wrote:

 What is the fastest way for me to learn D? I think what I 
 want is a
 syntax reference manual and a good tutorial to learn how to 
 find and use
 libs.
I learned D by doing two things. 1) Downloading the bundled DMD in a ZIP file. 2) Reading the language reference at http://www.dlang.org (back then it was on DigitalMars website...) That is all you really need. Now I would suggest reading the D Wiki as well. ;)
You really learned D from the online language reference? Thats hard core! You must be much smarter than me. I suggested reading the Phobos docs online, but I was just joking.
I did too. I don't see it as particularly hard/only-for-smart-people, I just built simple programs and slowly looked up what I needed as I went along. A lot of help from people here and on IRC helped as well of course.
 it's a good idea to stay on this forum and check the API 
 regularly. If you do this, you will not only learn D, but also 
 get a deeper understanding of programming related problems (and 
 possible solutions) in general.
Very true. I have learnt a huge amount about programming in general by trying to keep up with the more experienced members here. All the discussions about the future of different language features etc. has been a fantastic education.
Oct 15 2013
parent "Chris" <wendlec tcd.ie> writes:
On Tuesday, 15 October 2013 at 20:31:54 UTC, John Colvin wrote:
 On Tuesday, 15 October 2013 at 20:25:06 UTC, Chris wrote:
 On Tuesday, 15 October 2013 at 18:36:19 UTC, John Colvin wrote:
 On Tuesday, 15 October 2013 at 18:32:59 UTC, Craig Dillabaugh 
 wrote:
 On Tuesday, 15 October 2013 at 18:25:48 UTC, Dejan Lekic 
 wrote:
 On Tue, 15 Oct 2013 20:13:45 +0200, ProgrammingGhost wrote:

 What is the fastest way for me to learn D? I think what I 
 want is a
 syntax reference manual and a good tutorial to learn how 
 to find and use
 libs.
I learned D by doing two things. 1) Downloading the bundled DMD in a ZIP file. 2) Reading the language reference at http://www.dlang.org (back then it was on DigitalMars website...) That is all you really need. Now I would suggest reading the D Wiki as well. ;)
You really learned D from the online language reference? Thats hard core! You must be much smarter than me. I suggested reading the Phobos docs online, but I was just joking.
I did too. I don't see it as particularly hard/only-for-smart-people, I just built simple programs and slowly looked up what I needed as I went along. A lot of help from people here and on IRC helped as well of course.
 it's a good idea to stay on this forum and check the API 
 regularly. If you do this, you will not only learn D, but also 
 get a deeper understanding of programming related problems 
 (and possible solutions) in general.
Very true. I have learnt a huge amount about programming in general by trying to keep up with the more experienced members here. All the discussions about the future of different language features etc. has been a fantastic education.
It has also changed my awareness while writing code. Instead of doing things the traditional way (like in Java, Objective-C etc.), I often ask myself whether there is a different, i.e. more D-like, way of doing things. In this way, I have to really think about the pros and cons of different approaches rather than following standard patterns. At the same time, D doesn't force you to follow a certain path.
Oct 15 2013
prev sibling parent "Dicebot" <public dicebot.lv> writes:
On Tuesday, 15 October 2013 at 18:32:59 UTC, Craig Dillabaugh 
wrote:
 You really learned D from the online language reference?  Thats 
 hard core!  You must be much smarter than me.
You know, good old times when it was the only information available about D2, before even TDPL came out.. We literally had no choice! ;)
Oct 15 2013
prev sibling next sibling parent reply "Craig Dillabaugh" <craig.dillabaugh gmail.com> writes:
On Tuesday, 15 October 2013 at 18:13:46 UTC, ProgrammingGhost 
wrote:
 What is the fastest way for me to learn D? I think what I want 
 is a syntax reference manual and a good tutorial to learn how 
 to find and use libs.
The best way to learn D is to start by reading the API and code examples in the online Phobos documentation :o) (Inside joke for Johnathan Davis, I wouldn't actually recommend that). Actually, you might start with Ali's book. http://ddili.org/ders/d.en/index.html One you start that order a copy of Andrei's book: http://erdani.com/index.php/books/tdpl/ which will hopefully arrive in the mail about the time you are done with Ali's book. The is also an under construction tutorial: http://beza1e1.tuxen.de/d-tut-0.1/index.html which looks promising, but is far from complete. Finally, D.learn is a great place to ask newbie questions. Very helpful. http://forum.dlang.org/group/digitalmars.D.learn Best of luck.
Oct 15 2013
parent "Wyatt" <wyatt.epp gmail.com> writes:
On Tuesday, 15 October 2013 at 18:29:21 UTC, Craig Dillabaugh 
wrote:
 The is also an under construction tutorial:

 http://beza1e1.tuxen.de/d-tut-0.1/index.html

 which looks promising, but is far from complete.
As an addendum, this one is a neat example of how things can come together in real code: http://wiki.dlang.org/Component_programming_with_ranges Shows off ranges and some other nifty features. -Wyatt
Oct 15 2013
prev sibling next sibling parent Robert BuRnEr Schadek <realburner gmx.de> writes:
On 10/15/2013 08:13 PM, ProgrammingGhost wrote:
 What is the fastest way for me to learn D? I think what I want is a
 syntax reference manual and a good tutorial to learn how to find and
 use libs.
I would suggest to write a compiler for D in D. Helped me alot, but I still learning new stuff. More seriously, learn C than add some java and some c++ templates and than writing D is how you want to be written.
Oct 15 2013
prev sibling parent "deadalnix" <deadalnix gmail.com> writes:
On Tuesday, 15 October 2013 at 18:13:46 UTC, ProgrammingGhost 
wrote:
 What is the fastest way for me to learn D? I think what I want 
 is a syntax reference manual and a good tutorial to learn how 
 to find and use libs.
Ali's book is especially targeted at beginners : http://ddili.org/ders/d.en/index.html It is really good. Also as other suggested, download the compiler/libs use dlang.org website and try to code some stuffs.
Oct 15 2013