5 ms·
I’m not sure that the choice of the language matters a great deal for an intro course to be honest There’s no way students can wrap their heads around advanced
by lmpdev 3y ago
I’m not sure that the choice of the language matters a great deal for an intro course to be honest
There’s no way students can wrap their heads around advanced topics to the point where language selection matters that much
Of course toy languages like Brainfuck, low level stuff like pure assembly or archaic languages like COBOL would be detrimental to learning. But any mainstream language from the last forty years or so will have major crossovers with most others
I fail to see how D is that extreme compared to most other languages or any reason it should be pedagogically dismissed as a first language
- teleforce 3y agoIt really does matter at least according to this paper [1]. However I think the paper missed one major sin of not having a GC for introductory programming language. D actually avoids most of these sins and it is GC by default. [1] Seven Deadly Sins of Introductory Programming Language Design: https://users.monash.edu/~damian/papers/PDF/SevenDeadlySins.pdf https://users.monash.edu/~damian/papers/PDF/SevenDeadlySins....
- _a_a_a_ 3y agoNot sure I agree. GC is essential in industry (well, I'd argue that! Ignoring embedded anyway) but I think the programmer has to understand the real cost, and that means allocating and de-allocating, and if that is hidden by the GC then they're not learning that.
- TwentyPosts 3y agoThis is something much, much more easily learned with your second, or maybe even third programming language rather than with your first.
- brabel 3y agoTrue, but you don't need to get them to write C (or similar) in order for them to get to that point later on, once they can write basic stuff. In that regard, D is excellent because it does allow you to write code without the GC once you've mastered the basics, so it may be a (very) advanced part of a course to optimize some algorithm by manually managing memory, and seeing how much difference it makes.
- eviks 3y agoWell, syntax and intuitiveness of composition of programming basics matters, and those are different But D's "extreme" is in its unpopularity, so student exploration is very limited
- bitcurious 3y ago> I’m not sure that the choice of the language matters a great deal for an intro course to be honest Huge disagreement from me! The choice might not matter for the already motivated students who were going to learn to code no matter the language, but for folks on the fringe of CS the language matters immensely. There are arguments to be made about frustration, developer experience, grokability, but imo the most important is distance between code and gui. It’s very motivating to build something you can interact with. It’s very demotivating to work on contextually-meaningless algorithm problems.
- mylons 3y agoagreed -- i really like python a lot for a first (and long term lang). it reads like english compared to C or Java and you could toss up a website or something like that very quickly with it.