Friday February 10, 2012 8:59 AM AEST

Cunning linguistics

By Chris Taylor
15:27 Jul 7, 2008
Tags: education | coding
 »
Cunning linguistics

Chris Taylor is apparently a fan of puns. Good thing he's also got some advice in coding.

Since pretty much the beginning of this here section, we’ve been advocating gaining experience and fostering knowledge of programming – moreso than any other topic, really – before you start your TAFE or university course. The unit guide for your introductory programming class might say that the teaching staff and prescribed textbook assume no prior knowledge on your part, but the existence of truth in that statement has been found by many a first year programming student to be debatable. Don’t misinterpret what we’re saying. It really isn’t necessary to become ‘fluent’ in Java over the summer before you start Introduction to Object-Oriented Programming. That sort of dedication isn’t required. Or even that beneficial, if you simply learned by rote from one of those Learn XYZ in 21 Days books. No, what we’re encouraging you to develop is an understanding of the underlying concepts common to all programming languages. Such an understanding will help you immensely as both a student and programmer, and will make learning new languages relatively painless.

Of course, the best way to learn how programming works is to play with a language or two. Which language you decide to experiment with is up to you, but we’d recommend not picking something you’ll be covering in your one of your subjects. “Languages like Ruby, Python and Perl’ would be good choices,” according to Atomican dave_blob. He reasons that they are “relatively forgiving, read somewhat close to English and just make sense.”

Java and C++ might seem obvious choices. Many a guidebook is available for them, so you’ll have no shortage of learning materials. However, these are two languages that really crack a sad when you so much as forget to put a semicolon somewhere. Being hit with a long, cryptic error message is disheartening and confusing. Especially when it’s over something so minor as a punctuation mark.

Too, try and learn from more than one source. Don’t just rely on the first book that caught your eye when you wandered into the computing section of the local library. Borrow two or three books and maybe find a few good web-based tutorials. There’s a thread (http://www.atomicmpc.com.au/forums.asp?s=2&c=10&t=824) in the programming section of our forums that’ll provide you with links to a few good ones. Wikipedia can prove useful too. Reading multiple interpretations of the same concepts will greatly improve your understanding of them.

When it comes to literature, for Dummies and Learn XYZ guidebooks can seem the ideal choice for the beginner and they are, but only up to a certain point. These books frequently gloss over important topics you need to understand if you’re to be a good programmer in the name of accessibility. And it’s far too easy to learn by rote from such books. Make sure you grab something a little heavier and more in-depth to compliment any such guidebooks you pick up.

With those guidebooks, don’t just copy the sample code verbatim and read the theory as if, somehow, they can be divorced from each other. You won’t learn a thing by simply punching out a page of syntax. You need to read the theory first. Understand the mechanics of what you’re doing and then you might be able to figure out the instructions by yourself without resorting to copying the sample code. Even if you can’t produce a complete program from scratch, you’ll probably notice ways in which you can improve upon the provided sample.

Much better than books, though, is one’s fellow human being. Having a friend who programs for a living would help you immensely. Ply them with alcohol, money or sexual favours and have them go over your code. Hit them with questions when you don’t understand a particular concept. Ask for their recommendations of books, websites, short courses and maybe even languages.

Even the best Learn XYZ guidebook won’t be able to tell you off for writing ugly, inelegant code. And too, sometimes, a living, breathing person can just explain things so much better than any text-based resource. Not everything can or should be self-taught. Rely solely on resources which can’t provide you with feedback and you might find you pick up bad habits or misunderstand vital concepts. Don’t worry too much if you don’t know any programmers in-person. Forums can be an invaluable source of information, advice and encouragement for the novice coder. The programming section of our own forums is inhabited by a large population of knowledgeable souls who are more than willing to assist the confused but enthusiastic newcomer.

 
 »
 
This article appeared in the June, 2008 issue of Atomic.

Behind the scenes with Mass Effect 3! GTX 560 VGA round-up! Essential Skyrim tweaks to improve your game! Plus reviews, news, hardware, more games, and easy to following modding guides for PC builders. ON SALE NOW!
 
Latest Competitions
 
Atomic Magazine

Issue: 133 | February, 2012

Atomic is a magazine aimed squarely at computer enthusiasts, gamers, and serious PC upgraders.

Every month we bring you the latest reviews of new technology and PC components, in depth features on everything from overclocking to console hacking, and gaming previews and interviews.
 
Latest Comments
 
Latest User Reviews
Battlefield 3 is the new benchmark online FPS
90%
A very fun and realistic multiplayer ride.
 
Antec Kuhler 920 - liquid cool
90%
Antec Kuhler 920 silent but effientive out of the box no maintence water cooling kit
 
Antec's Lanboy Air - our new favourite case
90%
Antec Lan boy Air in red a very cool design
 
Antec's Lanboy Air - our new favourite case
90%
This product overall is awesome.
 
MSI's GT780 laptop as fast as it gets
90%
Nice laptop
 
 
Close Get the February, 2012 issue of Atomic mailed to you for $8.95, including postage.

SubscribeBuy nowDigital Version