The Trouble with Gerrold: Lessons from programming languages
June 30, 2012 —
(Page 1 of 4)
At the beginning of the personal computing revolution, several pundits suggested that “in the future, schools will teach programming skills the same way they teach reading, writing and arithmetic.” Well, yes and no.
Yes. Many schools are teaching programming skills the same way they teach reading, writing and arithmetic. Badly. (Ask anyone who has taught college level courses for more than two decades about the deteriorating levels of skills we’re seeing from high-school graduates. Of all the dangerous trends in this country, that one has to be the most terrifying.)
And no. Nobody is teaching programming skills as an equivalent to reading, writing and arithmetic, which was what the original assertion predicted. For the average person, programming remains an arcane craft.
Because I’ve had some experience in code wrangling, I regard programming as one of the most profound of all skills a human being can learn, because it’s thinking about thinking. It looks like it’s about code, but on a much deeper level, it’s about the way we think about problems.
Code isn’t just a list of specific steps to take to get from hither to yon, it is the hands-on application of an algorithm. An algorithm is a specific methodology. It is not necessarily the only applicable methodology, and sometimes it isn’t even the best or most appropriate methodology; that depends on the programmer. But if it gets you from hither to yon in a reasonable amount of time (instantaneously), that’s an acceptable result to the user.
In the hands of a skilled visionary, an algorithm becomes a place where philosophy, invention, discovery and sometimes even sheer artistry get mashed together in ways that produce wondrous results, things that not only were not possible just a couple decades ago, but weren’t even conceivable.
The essential building block of an algorithm, the single most important part of any algorithm, is this: If...then....
All programming depends on this single statement. An algorithm is a decision tree, and the if...then... statement is how it makes decisions. Add the ability to do loops, and you have the two essentials necessary for a programming language. (Everything else is procedural mechanics.) While...do... and do...until... lets you drill down to specific cases of if...then.... This was the essence of BASIC.
Related Search Term(s): C, education, Excel, Visio
Share this link: http://sdt.bz/36774
Most Read
Latest News
Resources
SAP unveils SAP HANA platform innovations for Big Data and spatial processing
Features include smart data access and expanded cloud deployment options
|
|
|
Alteryx raises $12 million to put Big Data analytics in the hands of all business analysts
Quest founder's firm, Toba Capital, selects Alteryx as its first analytics investment
|
|
|
Google I/O kicks off
Developers get new APIs and tools, and the Go language hits version 1.1
|
|
|
Jelastic launches new version of its Java and PHP hosting platform
Jelastic today announced the launch of a new version of its ultra-scalable cloud hosting platform
|
CollabNet fuses CloudForge, TeamForge
New pricing structure and integration gives developers an enterprise-grade choice for dist...
|
|
|
Eclipse release train for Kepler arrives June 26
New version of Eclipse includes Stardust for business process management, and Orion 3.0 fo...
|
|
|
Google I/O kicks off
Developers get new APIs and tools, and the Go language hits version 1.1
|
|
|
Enterprises going mobile get first ALM platform
Solstice Mobile releases AppLauncher for native app development and deployment on multiple...
|
IDC MarketScape: Worldwide Cloud Testing and ASQ SaaS
Demand for solutions to test applications on the cloud and for the cloud is rising signifi...
|
|
|
Get to Know the Database Decision Factors
What should you look for when choosing a relational database system? This informative arti...
|
|
|
Exploring the Database Forest
Today’s database technology landscape is more dynamic and varied than ever before. What’s...
|
|
|
Data Management Resource Guide
Today’s data is generated by more than just applications. Data is generated by trillions o...
|