Hacker News new | ask | show | jobs
by conor- 881 days ago
> what does the perfect programming education platform look like to you?

A series of loosely guided, non-interactive tutorials that require researching/figuring out on your own with some pointed hints when one gets stuck. Many of the online platforms are too hand-held and gloss over a lot of pretty important details about the how/why of writing, building, running a program. It'd be nice to see something that introduces a lot of correct vocabulary for unknown unknowns that equips someone with the tools needed to find answers on their own by knowing the right words to punch into a search engine.

Even just referring to the opening pages from K&R it says: "you have to be able to create the program text somewhere, compile it successfully, load it, run it, and find out where your output went. With these mechanical details mastered, everything else is comparatively easy." Jumping right into "hello world" that runs in a fully abstracted web IDE glosses over so much of the basics that a complete programming novice wouldn't understand.

My experience with being self-taught was that struggling with really basic things like installing the language/runtime/whatever and actually getting a hello world working to then write more involved apps was just as valuable as actually building a project because it required learning how to find answers and discover the correct vocabulary to articulate the language, system, tools I was using

1 comments

This is s great point. I was already a coding with things like Visual basic and Java long before the cloud was invented so I was familiar with the idea of text files, a compilation step, and then a runnable binary (or .jar).

Places like freecodecamp and cs50x where the lessons are done in the web app or in a cloud IDE abstract the steps of setting up a dev environment on your local machine.

Its the same kind of missing link that gen Z are lacking with apps and tablets vs file browsers and terminals.

Yes, exactly. I think this is now the problem I’m aiming to solve. Not necessarily teaching programming, but teaching you how to how to actually use real-world tooling, real-world data-structures, and real-world design patterns.

Only concern I have is how marketable this would be. Most beginners simply don’t care about what’s outside the abstracted cloud IDE, and those who complete cs50x are probably just ready to use VSCode.