Is D programming friendly for beginners?

Mike Shah mshah.475 at gmail.com
Tue Mar 12 17:03:42 UTC 2024


On Tuesday, 12 March 2024 at 16:20:29 UTC, matheus. wrote:
> On Tuesday, 12 March 2024 at 14:52:32 UTC, Mike Shah wrote:
>> ...
>> I really think D would be a wonderful first language. 🙂 Fast 
>> feedback, no need to manage memory, and easy to use built-in 
>> data structures would make for a nice intro course.
>
> If you say that D would be a good language to learn in lieu 
> C++/Rust I'd agree, but as a First Language neither one would 
> be my choice.
>
> Most here already program and know things, but as a first 
> language forget, at least where and when I did college (Already 
> knowing how to program), most people were lost with all the 
> concepts of C++ for example.
>
> Bitwise shifts like << >> and the same operators being used in 
> cin/cout may be OK for most people already in programming and 
> using shell, but for those learning was a hell.
>
> Matheus.

I agree (and I've made my case from my DConf talk with some data) 
D is much more productive than C++ for students (especially in 
the scope of a quarter or semester long course).

I probably would recommend in the general case that someone who 
wants to try programming to start with Python or JavaScript -- 
purely because the start up cost is smaller, and the vast amount 
of packages let beginners do something interesting quickly.

That said, in a university curriculum (where students have 
multiple semesters), D could prove nice as an intro language as 
it has the ability to scale up in difficulty over time. I think D 
is friendly enough that it would not immediately turn away 
beginners from computer science programs (But ultimately Python 
probably wins for now in this category).

As a note, the 'which language is best for CS 1' debate has long 
been debated -- but at least in a school setting, I've found the 
quality/enthusiasm/encouragement of the teacher to be the most 
important aspect regardless of language choice.


More information about the Digitalmars-d-announce mailing list