jump to navigation

Can Everyone Learn to Code? November 29, 2011

Posted by Peter Varhol in Software development.
trackback

Making programming more accessible to more people has been a longtime goal of a certain segment of the computer science/software engineering community.  I confess that I have been a member of this segment since the 1980s, when visual languages started emerging as a possible way to build applications without requiring specialized skills.

It was important at that time.  The so-called application backlog was estimated to be three years.  That is, the amount of time between the approval of a corporate application project, and the delivery of that application was about three years.  Many projects failed because business needs changed during that time.

Programming technologies like object-oriented languages, component libraries, visual languages, and agile processes have made a big difference here.  It’s rare that users have to wait more than a few months for needed features or applications.

Domain specific languages (DSLs) also have the potential to make programming easier.  Languages like LabView and Simulink let engineers create data acquisition and simulation applications without writing a line of code.

Today I’m not so sure that programming should be more accessible.  Visual Basic and to a lesser extent Excel made millions of business domain experts programmers.  At one level the result was good – users got automated ways of doing manual tasks, and became much more productive in the process.  But at another level many of these applications couldn’t be maintained and enhanced, and ended up being more trouble than they were worth.

Codecademy is a startup that still believes in making coding more accessible.  Codecademy co-founder Zach Sims describes coding as the literacy of this century, and believes that large numbers of people in all walks of life should be able to code.  The difference here is that Codecademy purports to have a way of teaching coding that is more accessible.

Um, I doubt it.  Programming can’t be learned casually.  The fact of the matter is that programming remains a language, just like spoken and written languages.  It has syntax and semantics, and rules that are strictly enforced by the compiler/interpreter.  It requires discipline and attention to detail.

Codecademy may have a good teaching method, but it’s not going to be effective without students who are motivated to learn, with specific goals, and with the ability to give the subject matter a good deal of attention.

Advertisements

Comments»

1. Ed Dodds - November 29, 2011

The problem I want to see solved is the redundancy–I refuse to research to see if my desired solution has already been coded–problem. I TRULY appreciate the efforts of coders but if you go to the various forges you see hundreds of thousands of projects with not a gnat’s width difference in outcomes. Webbed databases with tweaks mainly. I realize that I’m oversimplifying here; but take nonprofit organizations, for example: 80% of their needed function is banking (why doesn’t united way just get a charter?) and they perpetually complain about lack of funding keeping them from developing stuff the other 1.5 million US orgs are complaining about developing. Learn to collaborate, people! Steps off of soap box…

2. Learning to Code Should Not Be a New Year’s Resolution « Cutting Edge Computing - January 7, 2012

[…] week to see a post from mine a month earlier suddenly generate a lot of traffic. It was the post on learning to code, and the vast majority of the traffic came through […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: