On Monday, 14 May 2012 at 05:31:01 UTC, H. S. Teoh wrote:> That's
part of the reason I didn't really get comfortable with D
programming until I bought TDPL -- I needed to learn D "from
scratch", as it were, to think about it from a fresh perspective
instead of bringing along my years of C/C++ baggage. For that,
looking at a bunch of online reference docs didn't help: you're
just learning the "vocabulary", as it were, and not really
"thinking in the language". As any foreign language learner
knows, you will never speak the language well if you just keep
translating from your native language; you have to learn to
"think in that language". I needed to read through TDPL like a
newbie in order to learn to write D the way it's supposed to be
written.
Once I started doing that, many things began to make a lot more
sense.
Exactly! If you don't have a good concise enough overview or
explanation of the language and features you end up with
guesswork from all over the place. Thankfully my only OO
experience beyond D2 has been Java, and that only helped me
understand polymorphism and interfaces, giving me what I needed
without cluttering me with the necessaries of the language. I am
perhaps as 'unlearned' as I can be, aside from doing some ASM/C
work (and going away from pointer and -> manipulation is nice :) )
I'm still trying to find a good OO book that will teach me how
to think and build with OOP properly. I'm probably only half as
effective as I could be. If you have any good book
recommendations I'll try and get ahold of them.