Is D programming friendly for beginners?
M.M.
matus at email.cz
Wed Mar 13 08:17:57 UTC 2024
On Tuesday, 12 March 2024 at 22:27:11 UTC, Mike Shah wrote:
> On Tuesday, 12 March 2024 at 20:40:49 UTC, Meta wrote:
>> On Tuesday, 12 March 2024 at 16:20:29 UTC, matheus. wrote:
>>> [...]
>>
>> I think it really depends on the person. My first language was
>> C++, which was absolute hell to learn as a complete beginner
>> to programming, but I really wanted to learn a language with
>> low-level capabilities that could also do gamedev. Learning
>> C++ as my first language was incredibly difficult, but it also
>> made the programming parts of my CS degree a breeze -
>> especially courses like machine level programming. Nobody else
>> in the class even understood what a pointer was for the first
>> couple weeks.
>
> I've been at institutions where C++ is the first language and
> for most folks who were sure they wanted to do programming it
> was a fine enough language (when taught with care) to teach. In
> fact, it benefited me (and other instructors) quite a bit when
> I saw those students later and taught them computer graphics
> (usually taught in C++ to prepare them for job market).
>
> For folks who were not sure if they wanted to study computer
> science, unfortunately they were scared away as they thought
> this was the only path for programming (i.e. C++, assembly,
> etc.). For this reason, a language that is gentler (e.g.
> Python, JavaScript, or I also suspect a large subset of D)
> would all have been better choices. More universities these
> days are offering courses with gentler options (e.g.
> Programming for non-majors) which usually take this approach to
> more slowly ramp students up -- which I think is a good thing
> to have these offerings. And then later on in the program,
> these students can learn the good stuff (i.e. systems,
> compilers, graphics, etc. :) )
I understand that outside of CS, something like Python is a fine
choice, hiding many low-level details. But within a
CS-curriculum, one needs to come beyond basics-of-programming to
something like efficient algorithm-design-and-data-structures;
isn't a typed language better here? (Like the quote of Knuth
says: if you do not understand the hardware behind, your programs
will look weird. I have observed this a lot with current
data-science students, which use a map/dictionary for everything,
largely ignoring the existence of arrays).
More information about the Digitalmars-d-announce
mailing list