Hacker News new | ask | show | jobs
by aninhumer 4510 days ago
While I agree with the general idea that getting people enthusiastic is an important part of teaching programming, I think you're still underestimating the complexity of some topics.

The initial realisation that everything is just simple conditionals and loops is very empowering, and will probably lead to a burst of creativity in many people. However, the reality is that these tools are not sufficient for many complex tasks, and left to their own devices, students may lose interest before discovering the alternatives.

Having a teacher there to say "This might be easier if you learn about arrays" is very valuable.

1 comments

I think we overestimate the difficulty of some things because of the intense proliferation of useful middleware and macros that we live in.

Variables, loops, branches, I/O (input/print). Did I miss anything?

Just because those things are technically sufficient does not make them practically sufficient. Your "proliferation of middleware" (which apparently includes all modern programming languages) isn't just a convenience, it's absolutely essential to developing anything useful.
Not really. You don't need to know about iterators, closures, generators, concurrency, exceptions, etc etc to be able to make useful software. Sure, learn about those things if it looks like you might need them for something, but all of those things are completely optional.

Learning programming at its rawest form, is giving someone a list of assembly code instructions, explaining what they all do, and saying "go build stuff". And it's fairly simple to learn. It can certainly be explained in a day.

Just like painting - give someone a pencil and paper and say "go make something".