Live data from Hacker News

Why Johnny can't program (2002)

bricklin.com

11–20 of 37 posts

Re: Why Johnny can't program (2002)

#11

Excellent article. The one thing I disagree with is IDE's. I think that they actually present an overly complex interface that is daunting to the new user, not helpful. Ditching IDE's and switching to a text editor and CLI has made every aspect of programming easier for me to understand. As a new user, the price I paid to be able to click a button and run my program, was far greater than the price of learning how to…

This.

I liked the debugging features of IDEs when I had to maintain a gigantic PHP codebase. The hours I stepped through code after one click :D

But after I started with JavaScript, which brought graphical debuggers inside the runtime (Browser) I didn't need this feature anymore...

Also IDE get features slower, Atom and Sublime often have more up to date plugins, which allows the use of more alternative languages like LiveScript.

Re: Why Johnny can't program (2002)

#12
post #4
post #2

I take the opposite view. Programming is fairly easy and many people do it without realizing it. EX: Adding waypoints in StarCraft pathing for new units. Professional programming like professional dancing is simply taking that same idea several steps further.

The opposite view of what? Because the author discusses your point directly and at length - "[...] this is not to say that many people can't get immersed in systems that require such understanding. They do in many parts of their lives. For example, lawyers and tax accountants routinely work with such complexity in their contracts and planning. Doctors work with an untold number of variables. Someone planning a big pa…

I think your confusing things that look like programming problems to you, with things people actually use programming to solve. Millions of people have actually programmed a DVR. Programmers on the other hand tend to look at lot's of problems and thing "let's use code!" even if it's not actually a good idea.

Whiteboards are often a better solution than computer systems when it comes to patent care, because they simply have fewer ways to fail.

Re: Why Johnny can't program (2002)

#13
post #12
post #4

Earlier quoted context omitted.

The opposite view of what? Because the author discusses your point directly and at length - "[...] this is not to say that many people can't get immersed in systems that require such understanding. They do in many parts of their lives. For example, lawyers and tax accountants routinely work with such complexity in their contracts and planning. Doctors work with an untold number of variables. Someone planning a big pa…

I think your confusing things that look like programming problems to you, with things people actually use programming to solve. Millions of people have actually programmed a DVR. Programmers on the other hand tend to look at lot's of problems and thing "let's use code!" even if it's not actually a good idea. Whiteboards are often a better solution than computer systems when it comes to patent care, because they simpl…

That was a quote from the article, not something I'm confusing so I still don't quite understand your point.

Re: Why Johnny can't program (2002)

#14
post #13
post #12

Earlier quoted context omitted.

I think your confusing things that look like programming problems to you, with things people actually use programming to solve. Millions of people have actually programmed a DVR. Programmers on the other hand tend to look at lot's of problems and thing "let's use code!" even if it's not actually a good idea. Whiteboards are often a better solution than computer systems when it comes to patent care, because they simpl…

That was a quote from the article, not something I'm confusing so I still don't quite understand your point.

"It's just that people who aren't professional or hobbyist programmers usually don't want to get so immersed in something that is infrequently done and not part of the rest of their lives."

His view, if a wedding planner (someone that did this regularly) was a programmer they would use it to solve problem X. My view Problem X is generally not a programming problem. In comparison problem Y ex:(programming a DVR) is a programming problem and millions of people used programming to solve it.

Re: Why Johnny can't program (2002)

#15

Excellent article. The one thing I disagree with is IDE's. I think that they actually present an overly complex interface that is daunting to the new user, not helpful. Ditching IDE's and switching to a text editor and CLI has made every aspect of programming easier for me to understand. As a new user, the price I paid to be able to click a button and run my program, was far greater than the price of learning how to…

It may cause future problems, but things like Visual Basic with the graphical interface are very easy for a child to understand (or at least me). As the artifacts that you are interacting with in the GUI are in the programming environment.

I think it's much simpler to learn 10 commands in the terminal and use text files than try to grasp what's going on in an IDE. I understand the corner case for GUI building. My first language was C# and this is how I learned how to program. I had no idea what was going on. I had no idea how events worked and the Property Inspector seemed to have a million nuances. I didn't care about learning how to program. I just wanted to make my ideas a reality. The result of this was a lot of frustration. I would say if you are just trying to get something done. You have a product or an idea that you just need to make a reality as soon as possible. If you don't have the patience to wait a month before you can make a GUI, then sure IDE's will do a lot of things for you. But if you plan on programming for more than 6 months, it's worth it to do it the simple way, that makes sense to you. Even if that means you won't be able to get a GUI up and running in 5 seconds.

Re: Why Johnny can't program (2002)

#16

Excellent article. The one thing I disagree with is IDE's. I think that they actually present an overly complex interface that is daunting to the new user, not helpful. Ditching IDE's and switching to a text editor and CLI has made every aspect of programming easier for me to understand. As a new user, the price I paid to be able to click a button and run my program, was far greater than the price of learning how to…

I agree with rileymat on Visual Basic, version 6 especially. Combining that with partly made apps lets people learn the stuff incrementally as they need it. You don't need to know the IDE past step-by-step instructions on adding, compiling, etc. People even temporarily dodged the debugger with the dreaded, but useful, debug-by-print-statements method.

The 4GL's like WINDEV made this more the case. We saw it on the command line side with COBOL. That and what happened with 4GL's in general should be a lesson that whatever we build for new users better (a) be consistent with more powerful stuff, (b) easily integrate third-party code, (c) be easy to port, and (d) do good practices by design in case we're stuck with it for 50 years. :O

Re: Why Johnny can't program (2002)

#17

Excellent article. The one thing I disagree with is IDE's. I think that they actually present an overly complex interface that is daunting to the new user, not helpful. Ditching IDE's and switching to a text editor and CLI has made every aspect of programming easier for me to understand. As a new user, the price I paid to be able to click a button and run my program, was far greater than the price of learning how to…

I agree with that to an extent. IDEs are certainly a powerful tool at some fuzzy point in your programming career when you've had enough of the ancillary details and want an environment to help you code. Most IDEs are a distraction to just learning, however, and VB in particular helped me construct a world view where everything in the computer was some big black box I couldn't hope to figure out. Of course, part of that might have been trying to develop on Windows too.

Re: Why Johnny can't program (2002)

#18
Good article. Yet again, benefits of BASIC and Pascal kick in. Note that these are still maintained with idustrial-strength tools and IDE's available. Just gotta develop courseware that takes people through a series of problems incrementally learning the language while letting them ignore the rest of it. Gradually pick up both the features, thinking style, and good practices. Eventually can do the whole thing with the whole language and it's already a production language. :)

On a side-note, the questions the author asked were partly solved with efforts like Scratch. That project made a form of programming as easy as playing with Legos. What kids did from there was amazing. Might be lessons to apply in the adult tools.

https://scratch.mit.edu/

Re: Why Johnny can't program (2002)

#19
post #2

I take the opposite view. Programming is fairly easy and many people do it without realizing it. EX: Adding waypoints in StarCraft pathing for new units. Professional programming like professional dancing is simply taking that same idea several steps further.

The article agrees with you. It tries to explain why millions of people can add waypoints in SC, but can't build a greasemonkey script for their facebook.

Re: Why Johnny can't program (2002)

#20
post #14
post #13

Earlier quoted context omitted.

That was a quote from the article, not something I'm confusing so I still don't quite understand your point.

"It's just that people who aren't professional or hobbyist programmers usually don't want to get so immersed in something that is infrequently done and not part of the rest of their lives." His view, if a wedding planner (someone that did this regularly) was a programmer they would use it to solve problem X. My view Problem X is generally not a programming problem. In comparison problem Y ex:(programming a DVR) is a…

That's not how interpret what he's saying at all - he's saying that there are activities/professions that require detailed modeling and knowledge of complex rules and systems but people who engage in them don't usually take up programming for any reason, not 'they don't take up programming for the professional needs'. And what you're contrasting as a 'programming problem' mostly doesn't fit his definition of programming, either.
Post reply on HN