11 ms·
Why Johnny can't program (2002)
- snlacks 11y agoAmy Wohl's comment is true, but I've realized I can't pick out the right visual tools in any field on the computer unless I already know what I'm doing. This of course doesn't apply in a business setting where environments are set up for you. Text based tools are easier to keep modular and advance the process. Without someone doing it, the visual environments seem to stagnate (anecdotally).
- Retric 11y agoI 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.
- dang 11y ago> Programming is fairly easy and many people do it without realizing it. Most of all in spreadsheets, which the author invented! I like Jerry Weinberg's phrase for this: oblivious programming.
- pvg 11y agoThe 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 party has to work out the food, matching paper goods, favors, invitation list, entertainment, etc. Yet, all of these people rarely program computers in addition. 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. The question really isn't "Why Johnny can't program" but rather "Why Johnny won't or doesn't choose to program"."
- orionblastar 11y agoIt is having an interest in learning how to program. Not everyone has it. That is why there isn't much diversity in people hired for programming jobs, lack of interest in programming by women and minorities. I'm sure women and minorities can program and learn how to do it, just that a lot lack the interest and do something else instead. There are exceptions like people in India that get a free college education and take up programming to get a good paying job in the West somewhere.
- pvg 11y agoNot sure I understand how that's related to the article either, to be honest.
- Retric 11y agoI 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.
- pvg 11y agoThat was a quote from the article, not something I'm confusing so I still don't quite understand your point.
- Retric 11y ago"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.
- learning_still 11y agoThe 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.
- fredgrott 11y agoSome do programming..others are at the higher level of software management.. An example..in android programming I spend some time marking up my classes with annotations telling the compiler which way I mean some java method or statement to be treated by the compiler which improves the management of the software dev process by reducing the error count down significantly
- learning_still 11y agoExcellent 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 run it from a CLI. I wish I had listened sooner to all the people telling me not to use IDE's.
- rileymat1 11y agoIt 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.
- learning_still 11y agoI 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.
- Zergy 11y ago> 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 from experience and an IDE is much, much simpler than diving into the terminal.
- nickpsecurity 11y agoGood 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/ https://scratch.mit.edu/
- RussellDussel 11y agoHTML 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?
- kruczek 11y agoIt 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.