On Thursday, 18 December 2014 at 16:34:15 UTC, Wyatt wrote:
Wow, uh...I didn't think I was saying anything particularly controversial, but I won a wall of text anyway. But it's cool; turns out I've got one I can spare to reimburse you! :P I don't think we fundamentally disagree, but I do think our differing experience has informed our view of the issue.

On Wednesday, 17 December 2014 at 22:47:21 UTC, Chris wrote:

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.

See, when I started learning D, neither of those existed. ;) No, really though: most of what I've learned has been from the docs, trying things to see what works, and the odd example snippet where I learn new tricks for things I already use or never noticed or have seen and then forgotten. There weren't well-established idioms then or, in a lot of ways, now; the language to express the ones we think we want isn't even complete. Whatever "proper" D is is all in a flux of multiparadigm soup (and by god, it's beautiful). (In the now, I've skimmed sections of TDPL and use Ali's book a decent amount to refresh things I've forgotten.)

Sure, there are concepts that won't (didn't) come "immediately"; they take a little bit to think about and a bit more to play with and get the basics (a couple hours or so). And then we apply what we've learned. This is how learning works. Later, when we've learned more, we might come back to something we wrote in the past and chide ourselves for all the "mistakes"; that's all normal. But it worked then. It works now. And with a tweak there and a simple rewrite here...it works better than ever. Great! That's what growth looks like.
 Feels amazing.

We work in a discipline where no one ever writes gold on their first attempt, even in languages they've been using for a decade. And our understanding of how features of the language can be used continues to grow, too, so it's not like there's a definitive point at which you "know" D (or any language). Because of these factors, I take serious issue with this attitude that you require a certain level of achievement before you're allowed to be productive (or even read the documentation).

And given the pitch for D, I think "you must be this tall to ride" is pretty much the antithesis of what we're after anyway. Realistically, people can and will use Google and they'll find what they need to get the job done, and then they will do the job. (And this is a valuable trait because an engineer that won't sully themselves with doing work is kind of worthless.) So it's a dangerous sort of hubris to assume that because they're "not for" the "basic" user that they won't be used.

(I want to be clear: if you're in a situation where you can dedicate even a moderate chunk of time to learning a new language or experimenting when there's work to do, more power to you! I encourage you to treasure that privilege, because it's not common and it could be snatched away at any moment by a shift in the power structure of your firm. Seriously, that's awesome; I'm pretty jealous.)

Better?

-Wyatt

I completely agree, that's how we all learn new languages. That's how I've done it over the years. I never said that you're not allowed to write, unless you're an expert. I started straight away, like you, before there was TDPL (however, the book clarified a lot of things for me later). This also means that the doc can't be that bad after all!

"you must be this tall to ride" was never my attitude, else I would never have touched D. What I took issue with was that the developers where lead straight into the jungle (vibed :-) without ever being told which animals live there and how to handle them.

But that is irrelevant now, because the posts above made clear that there were far more things at play than the (perceived) bad tooling.

Reply via email to