Live data from Hacker News

Teaching D from Scratch: Is it a viable first language? (2021)

dlang.org

11–20 of 91 posts

Re: Teaching D from Scratch: Is it a viable first language? (2021)

#12
I think Scratch makes a great introduction to programming because of the playfull assets which are bundled with it, sprites, sounds, backgrounds etc. This significantly lowers the bar to making something productive and visually stimulating, something which I believe is necessary to engage when competing with modern games, phones etc.

There is no text based language (please correct me if I have missed one) that makes any attempt to bridge this gap by providing a library of assets on tap. Yes there are places you can find sprites etc, but they are not just there, included. I feel this has been the biggest stumbling block for my daughter moving on from Scratch. To produce something in a text based language that even comes close is so much more work, anything that is achievable just isn't stimulating enough.

We have looked at Roblox, I agree with the article this has potential, making a moving platform in an obby for example, but this hasn't stuck with her. We have had more traction with custom ents in Minecraft, creating in Blockbench then messing with the configs to alter the behaviour, but this is just Mineraft specific.

I should hope to do more with js/ts scripting in Minecraft, but using bedrock this is in it's infancy so there isn't much out there for inspiration, hacking around with or tutorials for her to look at herself. In this regard, D is no better a first language than any other.

Re: Teaching D from Scratch: Is it a viable first language? (2021)

#13
post #8

> 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?

What stop schools giving out pre-installed virtual machine images?

Most people don't setup their own environment for their first language....

Re: Teaching D from Scratch: Is it a viable first language? (2021)

#14
post #7
post #2

this bit from the article surprised me 8 I spend an inordinate amount of time helping the kids set up their build environments, and having this built-in to the IDE or dub would be immensely helpful for using D for learning. 8 it does seem to have worked out in the end, but I would personally not have considered anything where building was not one click of a button in an ide; build toolchains add a tremendous amount o…

I ended up teaching a friend to program using Kotlin. The downside was just telling them to just accept what the IDE wizard lays down as gospel first but the advantage was that running code from main() or tests was always a fully IDE integrated experience. Explaining the build system boilerplate became natural when it came time to start adding dependencies to the project. Don't underestimate how important that integr…

As a D cultist, I don't see why D would be any more viable rather than PureBASIC, microStudio, or Basic4GL if we're talking about kids that want an immediate result in an integrated IDE.

Re: Teaching D from Scratch: Is it a viable first language? (2021)

#15
I don't know, man. I am in a few casual programmer circles and I know two people who have stuck with D like their life depends on it, and they are constantly facing issues with weird language quirks making it impossible to write good, safe code. Through their fandom, I've made the personal decision to just stay away from it.

Re: Teaching D from Scratch: Is it a viable first language? (2021)

#16
post #8

> 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?

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

Re: Teaching D from Scratch: Is it a viable first language? (2021)

#17
post #13
post #8

> 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?

What stop schools giving out pre-installed virtual machine images? Most people don't setup their own environment for their first language....

"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 ..

Re: Teaching D from Scratch: Is it a viable first language? (2021)

#18
post #13
post #8

> 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?

What stop schools giving out pre-installed virtual machine images? Most people don't setup their own environment for their first language....

Sure 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

Re: Teaching D from Scratch: Is it a viable first language? (2021)

#20
post #16
post #8

> 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?

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…

It 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....

Post reply on HN