4 ms·
I feel like all of that is secondary compared to the fact that JavaScript lets a kid immediately create something they can see. Sure, if you want to teach CS it
by ravi-delia 4y ago
I feel like all of that is secondary compared to the fact that JavaScript lets a kid immediately create something they can see. Sure, if you want to teach CS it's not my first choice, and if you want to interact with things you'll need a library, but once you add in that kind of stuff you're stepping up a complexity level anyway. Anything you need to build something simple is in the language, and along with HTML you can build things cool enough that there's time to learn before you outgrow it. Once you get around to making a real application those issues all apply, but I mean my first brush with programming was Minecraft mods and they're a million times more finicky. I stuck with it even though I was writing in notepad++ and taking 5 minutes to test each change because the end result was something a 12 year old wanted!
Obviously there are better purely pedagogical languages (I'm partial to Racket myself), but those are suited more for the classroom. In terms of getting a kid hooked, in this day and age the best option is JavaScript. Back in the day it was Basic, even though Basic sucks and sucked for anything complicated. For me it was a janky Java setup I downloaded off of a shady forum. The execution model or transpilers have nothing to do with it.
- trinovantes 4y agoI agree that video game modding (Java for Minecraft or Lua for Roblox) is also a great introduction/motivator for learning programming. The key thing is even though these languages may also be as complex as JS, using them for modding usually have a "happy path" to getting started with many complexities abstracted away or completely disabled for obvious security reasons. Alternatively if they do not play those games, then maybe a visual programming language like Scratch would be suitable.
- ravi-delia 4y agoI can assure you Minecraft modding gravely lacked a happy path. At least, less of a happy path than a simple HTML doc pointing at a script in a local directory.