On Tuesday, 12 March 2024 at 20:40:49 UTC, Meta wrote:
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 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. :) )

Reply via email to