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 run it from a CLI. I wish I had listened sooner to all the people telling me not to use IDE's.
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.<p>Professional programming like professional dancing is simply taking that same idea several steps further.
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. :)<p>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.<p><a href="https://scratch.mit.edu/" rel="nofollow">https://scratch.mit.edu/</a>
HTML is a programming language?<p>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?
Amy 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.<p>Text based tools are easier to keep modular and advance the process. Without someone doing it, the visual environments seem to stagnate (anecdotally).
Some do programming..others are at the higher level of software management..<p>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