Archive for the ‘Programming’ Category

Teach the (other) controversy

Saturday, May 31st, 2008

My programming education began when I took a C language course at the local community college. I can still recall how strange I found the language's rules about when I could and couldn't use a variable (e.g. variables declared in one function can't be read or modified in others), for ...

Piled Heap of Poo

Saturday, May 24th, 2008

Anti-PHP screed #34019. For those of us who've only glanced at PHP, both interesting and distrubing. My favorite bit, though, is an in passing quote from a C course the author took: “German Umlaute don’t work in C, so don’t use them”.

Video of talk on Pigeon

Sunday, May 18th, 2008

Last month at LugRadio Live USA 2008 in San Francisco, I gave a talk discussing programming education and Pigeon, my learner's programming language. Videos of all the talks at LugRadio Live are going up. Below is my talk, which you can also download. (I occasionally mumble a few key words. ...

UML sucks

Friday, May 16th, 2008

Everything said here. I'll just add that pictorial representation of code is fundamentally flawed because it inevitably means drawing a bunch of boxes and connective lines all over the place. Just as there's no one true way to distribute your functions and classes in text, there is no true optimum 2D ...

Subtlety hinders grokability

Monday, March 17th, 2008

Here's some nice paragraphs recycled from an old crappy post no longer worth reading. In C, the conceptual and syntactical distinction between definitions and declarations is blurred. This is a prime example of a misguided attempt at conceptual unity in design. I think what goes on in designers' heads is that they ...

No, Mr. Perl, I expect you to die

Thursday, February 28th, 2008

Steve Yegge on Perl UPDATE: Oops, apparently it's from 2004. Still good, though.

if !johnny.canRead() then…

Monday, February 4th, 2008

The state of educational programming languages. Ideally, a proper programming education would start with a thorough discussion of how data is represented as bits, followed by a brief tour of encryption, compression, information theory, data structures, search/sort algorithms, and machine architecture. Unfortunately, students are just too impatient to start their education ...

Idiots at the Gates

Sunday, November 4th, 2007

In discussions of programming education, the argument is often made that learning to program shouldn't be made easier. This is the Let's Filter Out the Idiots argument, common also to the fields of law and medicine (or so I'm told). The idea, basically, is that the discipline must retain a ...

Poorly explained aspects of Java explained not so poorly (part 1)

Saturday, October 20th, 2007

Most Java instruction materials fail to make certain basic things as clear as they could be, so here's a FAQ-like rundown. What are the types of values in Java? Java divides its types into what it calls 'primitive' and 'reference' types (this terminology is unique to Java): The primitive value types consist ...

Warts on a snake: Ugly bits in Python syntax

Friday, July 27th, 2007

I point out this post not to comment on its subject but just as an example of Python code and to remark that the otherwise pretty and compact Python syntax is blighted by a few things: The 'self' as the first parameter of every class method is cluttery and is ...