www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Pragmatic D Tutorial

reply "qznc" <qznc web.de> writes:
I believe one of the things D needs right now is more 
documentation. Therefore, I started writing a tutorial.

It is aimed at people who can already program well in other 
languages. This means nothing about loops or structs, because I 
expect most people to know this stuff. I do not consider D to be 
a language for beginners anyways.

It is aiming for pragmatic not comprehensive advice. For example, 
I mostly ignore LDC and GDC except for the optimization chapter.

Since I am working on Linux exclusively and I like the command 
line, I cannot teach to Windows users. Sorry.

This is still very incomplete and my our newborn family member 
requires quite some attention. So expect this to develop with 
glacial speed. ;)

Nevertheless, I want to put this version 0.1 out to get some 
feedback. What do you think about the topic selection? What 
topics are missing? Serious errors so far?

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

Wreck it! :)
Oct 07 2013
next sibling parent reply "Craig Dillabaugh" <craig.dillabaugh gmail.com> writes:
On Monday, 7 October 2013 at 19:18:40 UTC, qznc wrote:
 I believe one of the things D needs right now is more 
 documentation. Therefore, I started writing a tutorial.

 It is aimed at people who can already program well in other 
 languages. This means nothing about loops or structs, because I 
 expect most people to know this stuff. I do not consider D to 
 be a language for beginners anyways.

 It is aiming for pragmatic not comprehensive advice. For 
 example, I mostly ignore LDC and GDC except for the 
 optimization chapter.

 Since I am working on Linux exclusively and I like the command 
 line, I cannot teach to Windows users. Sorry.

 This is still very incomplete and my our newborn family member 
 requires quite some attention. So expect this to develop with 
 glacial speed. ;)

 Nevertheless, I want to put this version 0.1 out to get some 
 feedback. What do you think about the topic selection? What 
 topics are missing? Serious errors so far?

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

 Wreck it! :)
Looks very nice, not much content yet but I will continue to check it out from time to time to see if I can make any suggestions. One minor nit-pick. On the page: http://beza1e1.tuxen.de/d-tut-0.1/philosophy.html while I got a chuckle out of "D is what C++ wanted to be.", I might omit this. Insulting C++ isn't likely a great way to attract the C++ crowd, which is one of our major target audiences. Good work, Craig
Oct 07 2013
parent reply "Dicebot" <public dicebot.lv> writes:
On Monday, 7 October 2013 at 19:34:11 UTC, Craig Dillabaugh wrote:
 while I got a chuckle out of "D is what C++ wanted to be.", I 
 might omit this. Insulting C++ isn't likely a great way to 
 attract the C++ crowd, which is one of our major target 
 audiences.
Quite the contrary, I can't really imagine many good C++ developers who don't insult this language on their own :) Its problems are quite well-known and widely accepted. Though saying that D already _is_ what C++ wanted to be is a bit ambitious. Probably more appropriate is to say that it was one of main motivations / design goals.
Oct 07 2013
next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 10/7/13 12:47 PM, Dicebot wrote:
 On Monday, 7 October 2013 at 19:34:11 UTC, Craig Dillabaugh wrote:
 while I got a chuckle out of "D is what C++ wanted to be.", I might
 omit this. Insulting C++ isn't likely a great way to attract the C++
 crowd, which is one of our major target audiences.
Quite the contrary, I can't really imagine many good C++ developers who don't insult this language on their own :) Its problems are quite well-known and widely accepted. Though saying that D already _is_ what C++ wanted to be is a bit ambitious. Probably more appropriate is to say that it was one of main motivations / design goals.
I agree that the definition is a tad offensive to some, and inaccurate. It also gratuitously frames in a limiting way D's charter itself. I don't think C++ has ever aimed to be a convenient language for scripts that build fast and run fast, for example. OP: any chance to adjust that page? Then we'll announce to reddit. Thanks, Andrei
Oct 07 2013
next sibling parent reply "Tourist" <gravatar gravatar.com> writes:
On Monday, 7 October 2013 at 20:36:46 UTC, Andrei Alexandrescu 
wrote:
 OP: any chance to adjust that page? Then we'll announce to 
 reddit.
I don't think it's ready. If you want to promote a tutorial, I think that (at least for now) it should be the book of Ali Çehreli. Also I thought that maybe it's worth to turn his book into an interactive tutorial. The book have snippets of code (and exercises), and we have this script that executes D using dpaste. I think integrating both and adding some interactivity (and then maybe put it on tutorial.dlang.org or similar) could be a good combination.
Oct 07 2013
parent =?UTF-8?B?QWxpIMOHZWhyZWxp?= <acehreli yahoo.com> writes:
On 10/07/2013 01:42 PM, Tourist wrote:

 the book of Ali Çehreli.

 Also I thought that maybe it's worth to turn his book into an
 interactive tutorial.
I thought about the same thing just the other day. :) I want to finish the translation first, which I really am doing. To the OP: I will add a link to your tutorial after it gets a little more content. Ali
Oct 07 2013
prev sibling parent reply "qznc" <qznc web.de> writes:
On Monday, 7 October 2013 at 20:36:46 UTC, Andrei Alexandrescu 
wrote:
 On 10/7/13 12:47 PM, Dicebot wrote:
 On Monday, 7 October 2013 at 19:34:11 UTC, Craig Dillabaugh 
 wrote:
 while I got a chuckle out of "D is what C++ wanted to be.", I 
 might
 omit this. Insulting C++ isn't likely a great way to attract 
 the C++
 crowd, which is one of our major target audiences.
Quite the contrary, I can't really imagine many good C++ developers who don't insult this language on their own :) Its problems are quite well-known and widely accepted. Though saying that D already _is_ what C++ wanted to be is a bit ambitious. Probably more appropriate is to say that it was one of main motivations / design goals.
I agree that the definition is a tad offensive to some, and inaccurate. It also gratuitously frames in a limiting way D's charter itself. I don't think C++ has ever aimed to be a convenient language for scripts that build fast and run fast, for example. OP: any chance to adjust that page? Then we'll announce to reddit.
Too early for more publicity, I think. You guys have convinced me about that C++ reference. D should not be defined in terms of another language.
Oct 07 2013
parent reply "qznc" <qznc web.de> writes:
On Monday, 7 October 2013 at 22:39:26 UTC, qznc wrote:
 On Monday, 7 October 2013 at 20:36:46 UTC, Andrei Alexandrescu
 OP: any chance to adjust that page? Then we'll announce to 
 reddit.
Too early for more publicity, I think.
Now every chapter has "some" text. Feel free to publicize it.
Oct 12 2013
next sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 10/12/13 4:34 PM, qznc wrote:
 On Monday, 7 October 2013 at 22:39:26 UTC, qznc wrote:
 On Monday, 7 October 2013 at 20:36:46 UTC, Andrei Alexandrescu
 OP: any chance to adjust that page? Then we'll announce to reddit.
Too early for more publicity, I think.
Now every chapter has "some" text. Feel free to publicize it.
Terrific, thanks! I assume the link is http://qznc.github.io/d-tut/. Feel free to polish it through the weekend, I'll publish it on Monday at 9 AM PST. Thanks, Andrei
Oct 12 2013
prev sibling next sibling parent reply "Tourist" <gravatar gravatar.com> writes:
On Saturday, 12 October 2013 at 23:34:11 UTC, qznc wrote:
 On Monday, 7 October 2013 at 22:39:26 UTC, qznc wrote:
 On Monday, 7 October 2013 at 20:36:46 UTC, Andrei Alexandrescu
 OP: any chance to adjust that page? Then we'll announce to 
 reddit.
Too early for more publicity, I think.
Now every chapter has "some" text. Feel free to publicize it.
A small issue: http://qznc.github.io/d-tut/meta.html The width of the code in "String Mixins" overflows under the menu. Also, I liked the previous design more, with some orange.
Oct 13 2013
parent "Tourist" <gravatar gravatar.com> writes:
On Sunday, 13 October 2013 at 08:23:16 UTC, Tourist wrote:
 On Saturday, 12 October 2013 at 23:34:11 UTC, qznc wrote:
 On Monday, 7 October 2013 at 22:39:26 UTC, qznc wrote:
 On Monday, 7 October 2013 at 20:36:46 UTC, Andrei Alexandrescu
 OP: any chance to adjust that page? Then we'll announce to 
 reddit.
Too early for more publicity, I think.
Now every chapter has "some" text. Feel free to publicize it.
A small issue: http://qznc.github.io/d-tut/meta.html The width of the code in "String Mixins" overflows under the menu. Also, I liked the previous design more, with some orange.
Same here: http://qznc.github.io/d-tut/optimization.html
Oct 16 2013
prev sibling parent reply "Kagamin" <spam here.lot> writes:
http://qznc.github.io/d-tut/basics.html
You make it sound like linking with C++ libraries is an easy 
task. I think, I know how to express difference between C++ and 
D: newer versions of C++ can compile legacy C++ code, while D 
drops C++ compatibility for language redesign, which leads to 
very limited compatibility with C++, but reasonably retains C 
ecosystem. C++ ecosystem is the feature of C++, similar to Java, 
this often outweighs purely linguistic features. This can be 
added to the "Criticism" section.

http://qznc.github.io/d-tut/debugging.html
The template syntax wasn't introduces at this point.

Unfortunately, there is no logging module in the standard library 
as of October 2013.
Such materials tend to bit rot, so it's better to mention the 
date.

-gc switch may be needed for the debugger to be able to demangle 
symbols, though I can't recall for which combination of OS, 
platform, compiler and debugger it's needed. I saw it in this 
forum, but can't find.

Code examples are without background, which is not as nice as in 
the previous version.
Oct 13 2013
parent reply "qznc" <qznc web.de> writes:
On Sunday, 13 October 2013 at 09:42:48 UTC, Kagamin wrote:
 http://qznc.github.io/d-tut/basics.html
 You make it sound like linking with C++ libraries is an easy 
 task. I think, I know how to express difference between C++ and 
 D: newer versions of C++ can compile legacy C++ code, while D 
 drops C++ compatibility for language redesign, which leads to 
 very limited compatibility with C++, but reasonably retains C 
 ecosystem. C++ ecosystem is the feature of C++, similar to 
 Java, this often outweighs purely linguistic features. This can 
 be added to the "Criticism" section.
Yes, that part should be more detailed, but I have to learn that myself yet. Something like classes, overloading works, but templates (STL, Boost) does not. I would not consider this "criticism", since most other languages (Python,Rust,Go) require C wrappers for C++ libraries.
 http://qznc.github.io/d-tut/debugging.html
 The template syntax wasn't introduces at this point.
Good point.
 Unfortunately, there is no logging module in the standard 
 library as of October 2013.
 Such materials tend to bit rot, so it's better to mention the 
 date.
Correct. That is not a problem specific to the logging statement, though. Every page contains the date in the footer.
 Code examples are without background, which is not as nice as 
 in the previous version.
I am not sure about this. Personally, I see myself skipping either the text or the code blocks, when the have different backgroud colors. The same-background design tries to encourage reading text and code as one unit.
Oct 13 2013
parent "Kagamin" <spam here.lot> writes:
On Sunday, 13 October 2013 at 13:09:45 UTC, qznc wrote:
 I would not consider this "criticism", since most other 
 languages (Python,Rust,Go) require C wrappers for C++ libraries.
I meant a discussion on how to compare D to C++. Can't tell if it's criticism or philosophy. Well... this topic is probably too involved. BTW an interesting discussion on the state of qtd: http://forum.dlang.org/thread/kvgdxxkemzicumwfejad forum.dlang.org
Oct 14 2013
prev sibling parent reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Mon, 07 Oct 2013 21:47:13 +0200
"Dicebot" <public dicebot.lv> wrote:

 On Monday, 7 October 2013 at 19:34:11 UTC, Craig Dillabaugh wrote:
 while I got a chuckle out of "D is what C++ wanted to be.", I 
 might omit this. Insulting C++ isn't likely a great way to 
 attract the C++ crowd, which is one of our major target 
 audiences.
Quite the contrary, I can't really imagine many good C++ developers who don't insult this language on their own :) Its problems are quite well-known and widely accepted.
Yea. And it's not as if it's worded like "D is the programming salvation that the steaming turd C++ only wishes in its pathetic dreams it could be." *THAT* is what "insulting" means. But no, it's just simply "D is what C++ wanted to be": It's a very accurate, meaningful, succinct summary that gets across the gist of D. D really *is*, very much, a redesigned C++. There's no shame in that, and there's nothing wrong with stating that reality. And sure, there may be *more* to D than that, but it's just a one-sentence *summary* - it doesn't need to be 100%. It only needs to paint a rough picture. And the sentence does a great job of that. In any case, comparisons are perfectly valid and *not* equivalent to tossing insults, so let's not be flower children about this.
Oct 07 2013
parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 10/8/13, Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> wrote:
 Yea. And it's not as if it's worded like "D is the programming
 salvation that the steaming turd C++ only wishes in its pathetic
 dreams it could be." *THAT* is what "insulting" means.
There are pictures of C with a broken back and a C++ anchor at the bottom of the ocean (i guess implying that programming in C++ is a drag) in the docs: http://digitalmars.com/d/1.0/ctod.html http://digitalmars.com/d/1.0/cpptod.html I find them to be very amusing though. :P
Oct 07 2013
prev sibling next sibling parent reply "Brian Schott" <briancschott gmail.com> writes:
On Monday, 7 October 2013 at 19:18:40 UTC, qznc wrote:
 Wreck it! :)
The only thing that I don't like about it so far is that it's not on wiki.dlang.org. If you put it there it will be easier for learners to discover it, and for the rest of us to help writing it.
Oct 07 2013
parent "qznc" <qznc web.de> writes:
On Monday, 7 October 2013 at 20:21:17 UTC, Brian Schott wrote:
 On Monday, 7 October 2013 at 19:18:40 UTC, qznc wrote:
 Wreck it! :)
The only thing that I don't like about it so far is that it's not on wiki.dlang.org. If you put it there it will be easier for learners to discover it, and for the rest of us to help writing it.
Editing in a wiki is so limiting. I want vim. I want git. I want scripts (e.g. testing all code examples with latest dmd). Building all this around a wiki is more work than necessary.
Oct 07 2013
prev sibling next sibling parent "Tourist" <gravatar gravatar.com> writes:
On Monday, 7 October 2013 at 19:18:40 UTC, qznc wrote:
 I believe one of the things D needs right now is more 
 documentation. Therefore, I started writing a tutorial.

 It is aimed at people who can already program well in other 
 languages. This means nothing about loops or structs, because I 
 expect most people to know this stuff. I do not consider D to 
 be a language for beginners anyways.

 It is aiming for pragmatic not comprehensive advice. For 
 example, I mostly ignore LDC and GDC except for the 
 optimization chapter.

 Since I am working on Linux exclusively and I like the command 
 line, I cannot teach to Windows users. Sorry.

 This is still very incomplete and my our newborn family member 
 requires quite some attention. So expect this to develop with 
 glacial speed. ;)

 Nevertheless, I want to put this version 0.1 out to get some 
 feedback. What do you think about the topic selection? What 
 topics are missing? Serious errors so far?

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

 Wreck it! :)
I like it that you quote people from the forum with real situations, and even provide links of the discussion.
Oct 07 2013
prev sibling next sibling parent reply "Adam D. Ruppe" <destructionator gmail.com> writes:
A note on memory management: you can do your own reference 
counting with structs, and it works reasonably well.
Oct 07 2013
parent "qznc" <qznc web.de> writes:
On Monday, 7 October 2013 at 22:00:53 UTC, Adam D. Ruppe wrote:
 A note on memory management: you can do your own reference 
 counting with structs, and it works reasonably well.
Port shared_ptr (or intrusive_ptr) to D?
Oct 07 2013
prev sibling next sibling parent reply "Meta" <jared771 gmail.com> writes:
On Monday, 7 October 2013 at 19:18:40 UTC, qznc wrote:
 I believe one of the things D needs right now is more 
 documentation. Therefore, I started writing a tutorial.

 It is aimed at people who can already program well in other 
 languages. This means nothing about loops or structs, because I 
 expect most people to know this stuff. I do not consider D to 
 be a language for beginners anyways.

 It is aiming for pragmatic not comprehensive advice. For 
 example, I mostly ignore LDC and GDC except for the 
 optimization chapter.

 Since I am working on Linux exclusively and I like the command 
 line, I cannot teach to Windows users. Sorry.

 This is still very incomplete and my our newborn family member 
 requires quite some attention. So expect this to develop with 
 glacial speed. ;)

 Nevertheless, I want to put this version 0.1 out to get some 
 feedback. What do you think about the topic selection? What 
 topics are missing? Serious errors so far?

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

 Wreck it! :)
"Sometimes D is criticised, because it is not simple language, in contrast to Go, Rust, Lisp, or Scala. However, a D programmer sees no problem and actually likes his big toolbox." I wouldn't call any of those languages simple, except for Go. Maybe Go, C, Scheme, Python?
Oct 07 2013
next sibling parent reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Tue, 08 Oct 2013 02:29:32 +0200
"Meta" <jared771 gmail.com> wrote:

 On Monday, 7 October 2013 at 19:18:40 UTC, qznc wrote:
 I believe one of the things D needs right now is more 
 documentation. Therefore, I started writing a tutorial.

 It is aimed at people who can already program well in other 
 languages. This means nothing about loops or structs, because I 
 expect most people to know this stuff. I do not consider D to 
 be a language for beginners anyways.

 It is aiming for pragmatic not comprehensive advice. For 
 example, I mostly ignore LDC and GDC except for the 
 optimization chapter.

 Since I am working on Linux exclusively and I like the command 
 line, I cannot teach to Windows users. Sorry.

 This is still very incomplete and my our newborn family member 
 requires quite some attention. So expect this to develop with 
 glacial speed. ;)

 Nevertheless, I want to put this version 0.1 out to get some 
 feedback. What do you think about the topic selection? What 
 topics are missing? Serious errors so far?

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

 Wreck it! :)
"Sometimes D is criticised, because it is not simple language, in contrast to Go, Rust, Lisp, or Scala. However, a D programmer sees no problem and actually likes his big toolbox." I wouldn't call any of those languages simple, except for Go. Maybe Go, C, Scheme, Python?
Lisp is practically the definition of language minimalism, AIUI. But I'd maybe replace Rust/Python with JavaScript. JavaScript is extremely simple. (Which is a large part of what makes using it such a pain, but I digress.)
Oct 07 2013
parent reply "Meta" <jared771 gmail.com> writes:
On Tuesday, 8 October 2013 at 01:38:09 UTC, Nick Sabalausky wrote:
 Lisp is practically the definition of language minimalism, 
 AIUI. But I'd
 maybe replace Rust/Python with JavaScript. JavaScript is 
 extremely
 simple. (Which is a large part of what makes using it such a 
 pain, but I
 digress.)
To clarify, I'm thinking of Common Lisp, which is definitely NOT a minimalist language. http://gotlisp.com/ http://www.dreamsongs.net/Files/clcrit.pdf Before C++11 it could even be possible to say that CL was almost as large as C++ in its feature set. Scheme is the minimalist Lisp; its spec is only 50 pages long. As for Javascript, I would say that it's a "simple" language in the sense that it doesn't have a lot of features. However, all the sharp corners of the language create a large amount of complexity, and you have the whole thing with prototypical inheritance... Not to mention the new ES6 features being added. I haven't really thought about this before, but it's becoming increasingly difficult for me to come up with a contemporary simple language. It seems most modern languages are creeping towards more complexity.
Oct 08 2013
next sibling parent "qznc" <qznc web.de> writes:
On Tuesday, 8 October 2013 at 13:59:22 UTC, Meta wrote:
 I haven't really thought about this before, but it's becoming 
 increasingly difficult for me to come up with a contemporary 
 simple language. It seems most modern languages are creeping 
 towards more complexity.
More simple languages are SML (one page of formal semantics) and Forth (most simple to implement on bare metal). Maybe Lua could be included.
Oct 08 2013
prev sibling parent reply "Kagamin" <spam here.lot> writes:
On Tuesday, 8 October 2013 at 13:59:22 UTC, Meta wrote:
 I haven't really thought about this before, but it's becoming 
 increasingly difficult for me to come up with a contemporary 
 simple language. It seems most modern languages are creeping 
 towards more complexity.
I heard, Lua interpreter implementation is very small, if this counts as simplicity.
Oct 09 2013
parent Iain Buclaw <ibuclaw ubuntu.com> writes:
On Oct 9, 2013 12:31 PM, "Kagamin" <spam here.lot> wrote:
 On Tuesday, 8 October 2013 at 13:59:22 UTC, Meta wrote:
 I haven't really thought about this before, but it's becoming
increasingly difficult for me to come up with a contemporary simple language. It seems most modern languages are creeping towards more complexity.
 I heard, Lua interpreter implementation is very small, if this counts as
simplicity. Size is by no means whatsoever a valid counter for simplicity. Regards -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
Oct 09 2013
prev sibling parent "SomeDude" <lovelydear mailmetrash.com> writes:
On Tuesday, 8 October 2013 at 00:29:34 UTC, Meta wrote:
 "Sometimes D is criticised, because it is not simple language, 
 in contrast to Go, Rust, Lisp, or Scala. However, a D 
 programmer sees no problem and actually likes his big toolbox."

 I wouldn't call any of those languages simple, except for Go. 
 Maybe Go, C, Scheme, Python?
+1
Oct 13 2013
prev sibling next sibling parent John Joyus <john.joyus gmail.com> writes:
On 10/07/2013 03:18 PM, qznc wrote:
 I believe one of the things D needs right now is more documentation.
 Therefore, I started writing a tutorial.
 http://beza1e1.tuxen.de/d-tut-0.1/index.html
Thanks for writing that. I found it useful already. It would be nice if there is a "Last Updated" date mentioned somewhere, may be in the footer..
Oct 07 2013
prev sibling next sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-10-07 21:18, qznc wrote:
 I believe one of the things D needs right now is more documentation.
 Therefore, I started writing a tutorial.
For GUI libraries there's DWT as well. Works on Windows and Linux, uses native drawing and doesn't have any runtime dependencies expect for the system libraries. https://github.com/d-widget-toolkit/dwt Small detail. On the Hello World page, this text: "The nice fact about rdmd is that it finds additional files automatically and links them" You should replace "links" with "compiles". -- /Jacob Carlborg
Oct 07 2013
prev sibling next sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-10-07 21:18, qznc wrote:
 I believe one of the things D needs right now is more documentation.
 Therefore, I started writing a tutorial.
Run-time errors You might want to add that D automatically handles uncaught exceptions and prints a stacktrace when one is thrown. Optimization I think it's worth mentioning that DMD is faster at compiling your code compared to GDC and LDC. -- /Jacob Carlborg
Oct 07 2013
prev sibling next sibling parent reply "Kagamin" <spam here.lot> writes:
http://beza1e1.tuxen.de/d-tut-0.1/philosophy.html
Nick's quote with alien woodwork(?) terminology looks not good. 
An IT professional as a foreign learner may not encounter such 
words for his entire life (all other text around it looks fine).
Oct 08 2013
parent "Kagamin" <spam here.lot> writes:
http://beza1e1.tuxen.de/d-tut-0.1/basics.html
One important C#-specific difference is that there's no using 
statement (which is quite viral in C# as a way of resource 
management), and scope statement can be used instead of it.
Oct 08 2013
prev sibling next sibling parent "qznc" <qznc web.de> writes:
On Monday, 7 October 2013 at 19:18:40 UTC, qznc wrote:
 I believe one of the things D needs right now is more 
 documentation. Therefore, I started writing a tutorial.

 http://beza1e1.tuxen.de/d-tut-0.1/index.html
The URL above is not updated. I put it on Github, so it gets a canonical URL via Github pages now: http://qznc.github.io/d-tut/index.html Some of your feedback is already integrated. Thanks!
Oct 08 2013
prev sibling next sibling parent reply "Kagamin" <spam here.lot> writes:
http://beza1e1.tuxen.de/d-tut-0.1/documentation.html
Are doxygen comments still endorsed?

http://beza1e1.tuxen.de/d-tut-0.1/idiomatic.html
Describing a range as a pair of iterators requires a reader with 
C++ background; the beginning of the tutorial implied wider 
audience. For other people it can be not informative or 
misleading.

http://beza1e1.tuxen.de/d-tut-0.1/gui.html
Do Qt bindings really work? I heard complaints about them.
Oct 09 2013
next sibling parent Rory McGuire <rjmcguire gmail.com> writes:
I used the QT bindings to make a transparent desktop widget once. So they
have worked but I'm not sure if they do with the current compiler. I'll see
if I can find my old code and see what I have to do to get it to work.


On Wed, Oct 9, 2013 at 9:04 AM, Kagamin <spam here.lot> wrote:

 http://beza1e1.tuxen.de/d-tut-**0.1/documentation.html<http://beza1e1.tuxen.de/d-tut-0.1/documentation.html>
 Are doxygen comments still endorsed?

 http://beza1e1.tuxen.de/d-tut-**0.1/idiomatic.html<http://beza1e1.tuxen.de/d-tut-0.1/idiomatic.html>
 Describing a range as a pair of iterators requires a reader with C++
 background; the beginning of the tutorial implied wider audience. For other
 people it can be not informative or misleading.

 http://beza1e1.tuxen.de/d-tut-**0.1/gui.html<http://beza1e1.tuxen.de/d-tut-0.1/gui.html>
 Do Qt bindings really work? I heard complaints about them.
Oct 09 2013
prev sibling parent reply "qznc" <qznc web.de> writes:
On Wednesday, 9 October 2013 at 07:04:07 UTC, Kagamin wrote:
 http://beza1e1.tuxen.de/d-tut-0.1/documentation.html
 Are doxygen comments still endorsed?
I am not aware about any counter arguments. Are there some downsides? I noticed that "Returns:" is rarely used in Phobos.
 http://beza1e1.tuxen.de/d-tut-0.1/idiomatic.html
 Describing a range as a pair of iterators requires a reader 
 with C++ background; the beginning of the tutorial implied 
 wider audience. For other people it can be not informative or 
 misleading.
Good point.
Oct 09 2013
parent Jacob Carlborg <doob me.com> writes:
On 2013-10-09 10:37, qznc wrote:

 I am not aware about any counter arguments. Are there some downsides? I
 noticed that "Returns:" is rarely used in Phobos.
D has built-in support for documentation comments, called ddoc: http://dlang.org/ddoc -- /Jacob Carlborg
Oct 09 2013
prev sibling next sibling parent reply Dejan Lekic <dejan.lekic gmail.com> writes:
On Mon, 07 Oct 2013 21:18:38 +0200, qznc wrote:

 I believe one of the things D needs right now is more documentation.
 Therefore, I started writing a tutorial.
 
 It is aimed at people who can already program well in other languages.
 This means nothing about loops or structs, because I expect most people
 to know this stuff. I do not consider D to be a language for beginners
 anyways.
 
 It is aiming for pragmatic not comprehensive advice. For example,
 I mostly ignore LDC and GDC except for the optimization chapter.
 
 Since I am working on Linux exclusively and I like the command line, I
 cannot teach to Windows users. Sorry.
 
 This is still very incomplete and my our newborn family member requires
 quite some attention. So expect this to develop with glacial speed. ;)
 
 Nevertheless, I want to put this version 0.1 out to get some feedback.
 What do you think about the topic selection? What topics are missing?
 Serious errors so far?
 
 http://beza1e1.tuxen.de/d-tut-0.1/index.html
 
 Wreck it! :)
It is a very nice web-site, but the main column should be wider. Sometimes the source code floats over to the second column...
Oct 09 2013
parent reply "qznc" <qznc web.de> writes:
On Wednesday, 9 October 2013 at 20:22:39 UTC, Dejan Lekic wrote:
 It is a very nice web-site, but the main column should be wider.
 Sometimes the source code floats over to the second column...
Hm, not here. I suspect a weird font selection for the code. I plan to redesign it at some point anyways. This is the agogo standard theme of Sphinx, which is the only standard theme, where the width is not 100%.
Oct 09 2013
parent Dejan Lekic <dejan.lekic gmail.com> writes:
On Thu, 10 Oct 2013 00:24:16 +0200, qznc wrote:

 On Wednesday, 9 October 2013 at 20:22:39 UTC, Dejan Lekic wrote:
 It is a very nice web-site, but the main column should be wider.
 Sometimes the source code floats over to the second column...
Hm, not here. I suspect a weird font selection for the code. I plan to redesign it at some point anyways. This is the agogo standard theme of Sphinx, which is the only standard theme, where the width is not 100%.
Look at this thread and see how many people complain about it... :)
Oct 21 2013
prev sibling next sibling parent "Nicolas Sicard" <dransic gmail.com> writes:
On Monday, 7 October 2013 at 19:18:40 UTC, qznc wrote:
 I believe one of the things D needs right now is more 
 documentation. Therefore, I started writing a tutorial.

 It is aimed at people who can already program well in other 
 languages. This means nothing about loops or structs, because I 
 expect most people to know this stuff. I do not consider D to 
 be a language for beginners anyways.

 It is aiming for pragmatic not comprehensive advice. For 
 example, I mostly ignore LDC and GDC except for the 
 optimization chapter.

 Since I am working on Linux exclusively and I like the command 
 line, I cannot teach to Windows users. Sorry.

 This is still very incomplete and my our newborn family member 
 requires quite some attention. So expect this to develop with 
 glacial speed. ;)

 Nevertheless, I want to put this version 0.1 out to get some 
 feedback. What do you think about the topic selection? What 
 topics are missing? Serious errors so far?

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

 Wreck it! :)
I like it! But I just think it lacks a bit more lengthy code examples, just to better assess the look-and-feel of D. Nicolas
Oct 13 2013
prev sibling parent Faux Amis <faux amis.com> writes:
On Mon 07/10/2013 21:18, qznc wrote:
 I believe one of the things D needs right now is more documentation.
 Therefore, I started writing a tutorial.

 It is aimed at people who can already program well in other languages.
 This means nothing about loops or structs, because I expect most people
 to know this stuff. I do not consider D to be a language for beginners
 anyways.

 It is aiming for pragmatic not comprehensive advice. For example, I
 mostly ignore LDC and GDC except for the optimization chapter.

 Since I am working on Linux exclusively and I like the command line, I
 cannot teach to Windows users. Sorry.

 This is still very incomplete and my our newborn family member requires
 quite some attention. So expect this to develop with glacial speed. ;)

 Nevertheless, I want to put this version 0.1 out to get some feedback.
 What do you think about the topic selection? What topics are missing?
 Serious errors so far?

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

 Wreck it! :)
Is this still being updated? It fairly extensive. How much of this is integrated in wiki/dlang?
Feb 10 2015