Live data from Hacker News

Why Johnny can't program (2002)

bricklin.com

31–37 of 37 posts

Re: Why Johnny can't program (2002)

#31

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…

When you say "IDE" you're probably meaning something like Visual Studio. Ok, fair enough. Now think about something like HyperCard. That's an IDE. It's eminently usable and learnable (even friendly), and yet still does all the things an IDE does. "IDE" doesn't have to be Visual Studio. There have been friendly IDEs in the past, and there's no reason they couldn't be built today except nobody's doing it. There's actua…

I completely agree with you. This problem with IDEs is not in the concept but in the way in which it is most often executed.

Re: Why Johnny can't program (2002)

#32
post #26

Earlier quoted context omitted.

> 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. This is true IMO. However you don't need to understand what the IDE is doing to use it now do you? A new user needs to learn nothing more than how to use the project creation wizard, and hit the play/stop button button. As someone who teaches high school children how to program I assure you…

But that's the point. I didn't need to understand 10 commands in the terminal to run the application. A very small barrier. What IDE's did was create a huge barrier between me and all the other programmers. If something broke or I needed to learn something new, it was all in the context of this magical black box. I wasn't learning how to use my computer. I was learning how to use someone else's program. I could get f…

Then you have to learn how to write makefiles, which means you need to learn at least a little bit about gcc.

Oh, you're on Windows (like 90+% of normal computer users), well there's this thing called Mingw, or you can use Cygwin, which you use in this thing called a command-prompt, which you've probably never used before. Oh, and make sure you have your PATH environmental variables setup correctly. What's an environmental variable?

It's all turtles. Much easier to open Visual Studio, add a project, type out a main method, and hit compile & run. It's a shame QBasic isn't around by default anymore, limited as it was. Which, come to think of it, was a stripped-down, basic IDE.

Re: Why Johnny can't program (2002)

#33

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…

All anyone needs is a text editor and a compiler :-)

That's too easy, man. Punch cards and machine language, is what builds character ;)

Re: Why Johnny can't program (2002)

#34

Earlier quoted context omitted.

All anyone needs is a text editor and a compiler :-)

That's too easy, man. Punch cards and machine language, is what builds character ;)

I've used punch cards. I prefer a text editor.

Re: Why Johnny can't program (2002)

#35

HTML is a programming language? Makes me think there's a very grey area between declarative programming languages and just plain data. If writing HTML is considered programming, does that make a draftsman drawing up building plans a programmer?

It isn't. HTML is not Turing-complete. It is a markup language, which describes structured data, but does not describe any dynamics of that data.

Re: Why Johnny can't program (2002)

#36
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…

> Someone planning a big party has to work out the food, matching paper goods, favors, invitation list, entertainment, etc.

So? Many people solve specific crosswords, but that doesn't mean they can write a generic crossword-solver. The underlying skills are very different.

Re: Why Johnny can't program (2002)

#37
post #22

Earlier quoted context omitted.

I find git extremely usable, and I despise IDEs that hide anything from me. Every hidden thing is a thing that, when it goes wrong, I can't fix. Something "goes wrong" when it's either not working as designed, or it's broken as designed and needs to be reconfigured or otherwise changed: The IDE handles the wrong language, for example, and needs to use a different compiler and have different highlighting and formattin…

Sounds like you're a power user, not a novice.

> Sounds like you're a power user, not a novice.

Smile when you say that. ;)

"Power user", to me, means someone who knows a lot of trivia about specific software but no underlying theory; none of their knowledge transfers to any other system, so their domain knowledge is constantly being obsoleted. Having some power user traits is inevitable and desirable, but being just a power user is a stage you should strive to outgrow.

I admit that that's just a knee-jerk reaction based on my idiosyncratic definitions.

Post reply on HN