Archive for the ‘Learn Programming’ Category

The Inuit have 100 words for ‘array’

Wednesday, June 27th, 2007

A learner's guide to the very important concepts of 'arrays' and 'associative arrays' and the very confusing, overlapping terminology thereof. In programming, the term 'array', in its most general sense, means 'a sequence of units of data', but confusingly, a preponderance of terms all fit that same definition, each with its ...

“Quality”, i.e. Why software is hard

Wednesday, June 13th, 2007

Yahoo's Javascript guru, Douglas Crockford, has another excellent video talk (watchable in-browser or as a download), this time a survey of software engineering titled "Quality". While general pontifications of this nature are common, Crockford's strikes a nice balance between breadth and concision and between correctness and novelty (not too dull, ...

One if by land, one-zero if by sea

Monday, June 4th, 2007

How bits represent information and form the basis of computing. An installment in a series of posts on basic computing concepts for beginning programmers. As the general public has come into daily contact with computers, people have been disabused of their former notions that computers 'think' and 'know' things. Sadly, for most ...

What does learning to program involve?

Monday, May 28th, 2007

If you're not already an initiate to programming, you may not be clear what you're getting into when you set out to learn to program, so here's an overview. Most obviously, you must learn a programming language, which comes down to learning four things: a syntax: The syntax of a language is ...

The naturalistic (language) fallacy

Saturday, May 26th, 2007

Why natural language in programming languages is a fool's game. The main purpose of a formal language is that it is free of the ambiguities found in natural human languages. While naturalistic language may give off signals of familiarity and thereby boost a programming language's approachability, the gain is more than offset ...

Just what Aunt Tillie needs: Vi?!?

Monday, May 21st, 2007

This last week I've been getting familiar with Vim. I've dabbled a few times in the past, but this time I'm finally feeling comfortable enough to stick with it. I was quite annoyed with having to hit ESC all the time, but a neat tip is to set this in ...

Essential Javascript

Friday, May 4th, 2007

From the creator of JSLint, Douglas Crockford, here's a series of Javascript video lectures. It just so happens I've been spending the last four months working in Javascript for the first time, and I wish I'd seen these lectures before I started. The first thing Crockford tells you is that all ...

Law of Demeter

Saturday, March 31st, 2007

From Wikipedia: When applied to object-oriented programs, the Law of Demeter can be more precisely called the “Law of Demeter for Functions/Methods” (LoD-F). In this case, an object A can request a service (call a method) of an object instance B, but object A cannot “reach through” object B to access ...

HOWTO Decompose your code into functions

Wednesday, March 28th, 2007

For the sake of keeping code readable and as comprehend-able as possible, good functions comport to a few simple rules: Give it one purpose. And the counting of the purposes shall be one. Not two purposes, not three purposes. Five is right out. Continuing with the theme of having one purpose, subtasks ...

A brief explanation of Java versions

Saturday, March 3rd, 2007

How does one make sense of Java's version history for learners? The full story is at http://en.wikipedia.org/wiki/Java_version_history, but here's the brief version: First be clear that that there is only one Java language---one set of syntactical rules for how to write Java code. This set of rules has grown a few ...