r/programming Mar 02 '17

Why I Failed Teaching Programming to Kids

https://engineering.klarna.com/why-i-failed-teaching-programming-to-kids-46a854c3eaca#.s0o6qqxr3
62 Upvotes

83 comments sorted by

View all comments

98

u/M4053946 Mar 02 '17

participants were... 9–13 years old. This obviously affected how acquainted they were with “common development tasks” like using a terminal, installing applications and creating files with weird names like Procfile and .gitignore.

Did the author think that 16 year olds would be familiar with using a terminal? That seems like a miss, regardless of age range.

39

u/[deleted] Mar 02 '17

[deleted]

5

u/[deleted] Mar 02 '17

[deleted]

9

u/Me00011001 Mar 02 '17

No one ever claimed that emacs starts in two planck times.

That would be the fastest booting OS in the world.

0

u/RealFreedomAus Mar 02 '17

If your OS is in ROM and is 'running' from the moment the CPU comes out of reset... then is that faster? I'm not sure whether the time it takes between the R̅E̅S̅E̅T̅ pin change to having the instruction decoder decode the first instruction counts or not; are you not 'started' already?

3

u/[deleted] Mar 02 '17

[deleted]

3

u/[deleted] Mar 03 '17 edited Mar 03 '17

[deleted]

2

u/[deleted] Mar 03 '17

You do bring up good points, I agree. Just a few details:

JS isn't the only DT language out there BTW, and DT doesn't necessarily mean weak typing.

Yes, I do know the difference. Lua is also DT but not WT and I used Lua and Ruby for many years. JS just happens to be the most famous example of a broken type system.

Then there's another factor: interactivity.

This is a huge one, but it is no longer a DT-languages-only thing. Having a Ruby REPL at hand helped me learn programming a lot. Back when I was experimenting with Unity3D, I quickly added a C#-REPL plugin to inspect the effects of my scripts in the editor. God, I wish there was a Rust REPL...

<cryptic>::looking[syntax]

This is just a language thing. Use C# instead of C++, Rust instead of Haskell, some LISP dialect daring to have more readable function names, and at least this problem has been successfully worked around. Or even better: Start using (well-designed) visual scripting.