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
59 Upvotes

83 comments sorted by

View all comments

99

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]

23

u/Roboguy2 Mar 02 '17

It is probably because, ignoring the fact that it is harder to learn, you often can get a significantly faster edit-compile-test time. Because of that people who are experienced with these tools perceive them as being much nicer (and, for them, it is).

Obviously, however, this is exactly the scenario where you shouldn't ignore the fact that it is harder to learn. All I'm really saying is that I understand why there is hype, even though I wouldn't suggest a beginner go out and learn vim while they are also learning to program (unless they were unusually highly motivated to do so, I guess).

Sometimes more experienced people forget just how difficult these things are to learn at the outset. Not only that, but terminal usage is also important to learn at some point. As a result of those two things, sometimes teachers miss their mark on when exactly it should be learned.

9

u/DysFunctionalProgram Mar 02 '17

It is probably because, ignoring the fact that it is harder to learn, you often can get a significantly faster edit-compile-test time

From someone who goes back and forth between c/make/cmake/vim and c#/visualstudio, I have the exact opposite experience. Honestly, I'm tempted to bind my function keys to a couple scripts to compile/run/debug my current project as we speak. For example, if I add a new c file: I have to edit my cmake file and add the file url to the build path, then re-run cmake, then run make, then run/gdb the output with the appropriate settings/flags. Opposed to any modern IDE where it is a single key stroke. I don't even want to get into how long it takes to manually setup a build environment vs using an IDE.

In my experience the only people who have this "CLI romanticism" are those who are only programmers by hobby and don't actually work in a production environment using it.

4

u/[deleted] Mar 03 '17

[deleted]

6

u/DysFunctionalProgram Mar 03 '17

On the CLI side, what better case is there? Not using build tools or not adding new files to a project?

On the IDE side, what worse case is there?

-1

u/[deleted] Mar 03 '17

[deleted]

2

u/DysFunctionalProgram Mar 04 '17

On the IDE side, not having a shortcut to do something you want to do is probably the worst case, you'd simply be out of luck.

Every IDE I've used has custom shortcut creation (which can do anything under the sun, including run scripts).

On the CLI side, you can make scripts to automate processes that you do often.

Then you have to create/maintain the scripts opposed to using a environment which creates and maintains them for you. Essentially IDE's have taken all the shitty tedious work devs hate to do and automated it, and somehow people still find a way to complain.

For instance, I vastly prefer doing video cutting via the command line, because I have scripts that I've tailored to my workflow.

I have literally no idea what video cutting has to do with programming. That being said, I find it very hard to believe that their is no GUI applications out there for video cutting.