3 ms·
> I am confident that D can be a viable first language Not sure what this confidence is based on, the basics are broken (toolchain, basic syntax errors you sho
by eviks 3y ago
> I am confident that D can be a viable first language
Not sure what this confidence is based on, the basics are broken (toolchain, basic syntax errors you shouldn't even need a compile step to figure out, the squiggly error underline should be right there in your editor!), and what does sticking to "Vanilla D" offer as a benefit vs. some other language?
- j16sdiz 3y agoWhat stop schools giving out pre-installed virtual machine images? Most people don't setup their own environment for their first language....
- NavinF 3y agoSure they do. You can tell anyone to "just install IntelliJ" or "just install Xcode" and they'll have a working environment with zero effort. All the popular languages don't require handholding
- Mathnerd314 3y agoI would attribute that to the language/company putting in the effort for an easy install. I am sure it is easy to install Swift on Mac but I was trying to guide my friend through it on Windows and he gave up because it was too complex and the installer didn't work immediately (some library path error).
- NavinF 3y agoSwiftUI and all the other Apple frameworks that allow you to do more than read and write text to a console don't work on Windows. Beginners should just use an IDE. If one isn't available for their language/platform, that's a sign of things to come
- hutzlibu 3y ago"Most people don't setup their own environment for their first language...." Since most people probably try out js as their first language (often without knowing what js is) - setting upt the environment and IDE is as simple as open dev tools ..
- eviks 3y agoHow is this an easier setup vs. asking students to download and run an executable or two?
- lmpdev 3y agoI’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.