Here's looking at you, kid

Chris Wright via Digitalmars-d digitalmars-d at puremagic.com
Fri Nov 20 12:02:34 PST 2015


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.

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'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.

> 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.

> 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. 
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.

> 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.


More information about the Digitalmars-d mailing list