On Friday, 20 November 2015 at 20:02:34 UTC, Chris Wright wrote:
On Fri, 20 Nov 2015 16:59:28 +0000, Chris wrote:

On Friday, 20 November 2015 at 16:39:52 UTC, Chris Wright wrote:
On Fri, 20 Nov 2015 14:41:04 +0000, Chris wrote:
Yep, what can one say.

1. Who goes to the language reference, when they want to _learn_ a language?

It's the obvious place if you're familiar with other programming languages. Tutorials tend to be geared toward people who have little to no programming experience, who view learning a new language (even in a paradigm they're used to) as a large thing.

We were all there once, but we're not all there now. When I learn a new language, I want typically 20-30 lines of example code and a language reference. I can start writing code after reading a short example, and I can use the language reference to fill in the remaining gaps. The language reference is usually both denser and better categorized for my needs.

2. If you really want to learn a language, you will learn it. There are enough resources for D now, there's room for improvement, but there always is.

I was choosing between programming languages a while ago, most of which I hadn't used before. For each of them, it wasn't the case that I wanted to learn them, but I knew I probably wanted to use one of them.

If any of them were as obtuse to learn as D, I would have skipped past them post haste.

If I'm evaluating a programming language to start using at work, I will evaluate it on how easy it is for me to accomplish things in that language and how easy it will be for my coworkers to start using the language. My coworkers mostly know Ruby and are just tentatively switching to Java. Moving to Haskell probably isn't an option despite the existence of decent tutorials, but D is similar enough that they could learn -- assuming there are good tutorials readily available.

I know, catering for the "one second attention span" crowd is a recipe for success, if you deal with PHP or JS. But D is not in that league. Even if you cater for them, they will soon be frustrated anyway, because for D you'll need a deeper understanding of things, sooner or later.

You were contemptuous toward PHP and JavaScript, and now you are being contemptuous toward people who are potentially interested in learning D. Please be more respectful.

Have you been able to learn D? Yes or no?

I have an unusually large tolerance for pain in technical terms. It tends to take me a long time to realize that it's hard to use a programming language. Recently, for instance, I tried using Nim. I spent several months on it before I realized that I was debugging library errors and was about to dive into the compiler's semantic analysis code to fix a problem and it was stopping me from writing the code I wanted to write. That sort of tolerance, that sort of ignorance about the painfulness of a situation, let me learn D ten years ago.

I also spent a fair bit of time learning D. It was my own time, no one else's. I was free to spend months learning the language, if that was what it took.

Fair play to you.

And again, I learned probably 4-5 programming languages last year. My coworkers, some of them, were having issues switching from Ruby to Java. They're quite competent at what they do, and they might be better at Ruby than I ever will be, but they won't quickly switch in the best case. With the existing tutorials, it'd be far worse.

This alone would suffice to make D not be a viable option for my employer. Of course, we also have to contend with the poor library situation.

I have the feeling that unlike you, people don't really try. I know that people often look at D, but don't pay much attention to what the page says, because it's not a "fancy". I remember that Ruby was hyped and it was indeed a "hipster" language (which is not a comment on its quality or merits). So there are other factors at work here. D is in a difficult position, because it's so advanced that it is of interest to people coming from C++, at the same time things can be done in D as easily as in Python or Ruby.

The problem is that the latter crowd (scripting people) will sooner or later be disappointed with D, if they have no experience with more low level stuff and programming theory, because at a certain point D gets demanding and it takes a while to grasp all the concepts.

I'm sorry, if

If your apology starts with "I'm sorry if", it's not an apology, and most of the time you're better off omitting the statement entirely.

You're right, it wasn't an apology, because I don't feel I have anything to apologize for. If people take offense when I bash a language or say that D is a bit more demanding than Javascript, it is not my problem. I find it rather weird that people identify with a certain language or technology. That's not how we should look at technology, most certainly not.

I'm not always politically correct

Most of the time, "politically correct" means being respectful to others, except the speaker intends to indicate that that is a bad thing.

Political correctness tries to censor the free expression of thoughts and has nothing to do with being respectful or not. Being politically correct means to censor one's own thoughts out of fear of being told off. It is often only a way to dismiss arguments and opinions in order not to have to deal with them.

and I'm the first one to understand the needs of
programming novices, because we've all been there (as you pointed out).

Which gives you no special advantage over anyone else, so I'm having a hard time seeing how you're "the first one to understand the needs of programming novices", especially since you seem to be advocating against making more tutorials and making them easier to find.

My point is that for D you will need a deeper understanding of things, and Ali's book provides this.

Before you seemed to be saying that the language reference provides this.

Where did I say this?

Ali's book is much heavier in prose and provides much more guidance than the language reference.

Making Ali's book much more prominent, and especially more prominent than the language reference, would be awesome. Python, for instance, has a language reference, but it recommends tutorials for you first, and while it shows you the language reference, it warns that it can be rather dry.

Let's do that.

D is not like Javscript where type
"alert('Hello, world!');" and go "Yeah!". One cannot always blame D and
its community for mistakes and/or bad choices people make.

And this has nothing to do with the quality of tutorials or how hard it would be to get my coworkers to start using D.


Reply via email to