Linux Format

Initial conditions

There are any number of best places to start coding, which in practice is no help at all.

-

We’re going to cover a couple of techniques in this adventure, hopefully making it possible for everyone to get at least some sort of a grasp on some of the rudiments of programmin­g. Of course, many weighty tomes on this subject have already been written and cover much more than we can hope to do in a handful of pages. So we won’t be recreating Donald Knuth’s seminal The Art of Computer Programmin­g (TaoCP) or Randal L Schwartz’s era-defining Programmin­g Perl here. But hopefully we’ll inspire some who haven’t heard of those texts to check them (and other coding lore) out.

It’s always rather daunting choosing a ‘first’ programmin­g language. There’s plenty of contradict­ory articles online imploring you to learn Python, Ruby, JavaScript or PHP. And there’s as many telling you that those languages all have their problems and your time would be better spent learning Rust, Go or Java (or its descendent Kotlin used in Android).

In our opinion, it doesn’t matter where you start. After all, most of us here learned some BASIC during our school years. Contrary to computer scientist Edsger Dijkstra’s oft-quoted criticism, we think we turned out okay: “It is practicall­y impossible to teach good programmin­g to students that have had a prior exposure to BASIC: as potential programmer­s they are mentally mutilated beyond hope of regenerati­on.”

First programmin­g steps

Dijkstra (who also has an algorithm named after him) was talking about Dartmouth BASIC there (a little different from the BBC BASIC or QBasic that LXF writers occasional­ly still dream of), but his point – that learning the wrong thing first actually does more harm than help – makes the ‘first programmin­g language’ decision even more of a conundrum. Don’t worry too much about any of that indecision. To be brutally honest, you have no influence over the subject matter.

In some UK schools, computing is being taught to children as young as five. “Computing” here might be a little generous, as the syllabus here covers things like flowcharts and deductive reasoning, but frankly anything’s better than the IT courses of yore that they replace. Across the pond, influentia­l humans at tech companies, educationa­l institutio­ns and non-profits have just penned an open letter calling for Computer Science (CS) to be similarly taught in K-12 schools in the US. This effort is being led by Hadi Partovi of https://code.org. This website offers free coding courses and tutorials, as well as connecting students with teachers. You can read the full “CEOs for CS” letter at www.ceosforcs.com.

 ?? ?? The Scratch language is unique in that it uses blocks that fit together instead of traditiona­l code.
The Scratch language is unique in that it uses blocks that fit together instead of traditiona­l code.

Newspapers in English

Newspapers from Australia