On Wednesday, 17 December 2014 at 17:36:50 UTC, Wyatt wrote:

<snip>

Bull.  D isn't magic and expecting that people need to set
aside a chunk of time to "learn" it is really silly.
i hope such people will never adopt D.

It's too late; we're already here. With a niche language like this (I hate to admit it, but that's how it is) that's probably most of the people that pick it up.

But it's not as silly as the idea that you don't learn the
language by diving in.
using the tools you never used before, without training, to
solve production tasks. this is what seems to be silly for me.

And over here, in reality, not every situation is optimal and we often find ourselves doing just-in-time learning. Learn how to learn by doing and accept that you're going to exercise that skill. A lot. If you need a bunch of training up front just to get things done, you're probably in the wrong field.


<snip>

-Wyatt

I think two things have been mixed up here. First, as a programmer you can of course make sense of and use languages you don't know, if needs be, simply because all languages share the same underlying logic (arrays, assoc arrays, functions etc.) In this respect, you can use and learn any language "on the fly". The only way to learn a language is to use it, of course. However, and this is the second point, if you want to use a language _properly_ and efficiently, you have to learn it in depth, no matter how advanced your skills as programmer are. You have to learn the concepts and ways that are peculiar to the language. Are you telling me that you never read TDPL or Ali's tutorial and that you grasped everything from templates and ranges to what you can do with D's structs immediately? If so, I doff my hat. I for my part had to ponder on the more advanced features of D and go back and rewrite some parts of my code in a better, more D-like style.

There is simply no other way for a complex, feature rich language like D. Look at D.learn. People who post there are often experienced programmers, yet they still have to ask questions about the best way to do something in D and the like. This doesn't mean that you cannot use D straight away as a newcomer, in fact, I could use it straight away and make sense of the documentation when the page background was still blue. But to throw a complex framework like vibed at people who have no experience with D whatsoever is not a good idea, even if (or because) they are all C++ guys.

Reply via email to