Archive for the ‘Learn Programming’ Category
Monday, June 16th, 2008
Having spent a lot of time in the last 3 years writing programming education material, I recognize just about everything said here. (The section "Writing clearly" is the interesting one.)
Posted in Education, Learn Programming | No Comments »
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 ...
Posted in Learn Programming, Programming | No Comments »
Wednesday, May 21st, 2008
Just about everything I described in my talk about what goes wrong in education goes wrong at nearly every step in this 10-minute video. I don't mean to pick on this guy, but he's the top Google video result for "python tutorial", and that makes me sad. Sure, sure, I ...
Posted in Education, Learn Programming | No Comments »
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. ...
Posted in Education, Learn Programming, Programming | 1 Comment »
Tuesday, April 8th, 2008
A discussion of various little things about Python 3.0 that make it easier to learn than Python 2.x.
Posted in Learn Programming | No Comments »
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 ...
Posted in Learn Programming, Programming | No Comments »
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 ...
Posted in Education, Learn Programming, Programming | No Comments »
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 ...
Posted in Learn Programming, Programming | 2 Comments »
Thursday, July 12th, 2007
A learner's guide to the terminology and concepts of software build processes.
What's the difference between an assembler, a compiler, and an interpreter, and what's a linker?
Assemblers
Let's start with the clearest case. An assembler is a program which translates 'assembly language' code into processor instructions (a.k.a. 'machine instructions'/'machine code', a.k.a. ...
Posted in Learn Programming, Programming | 9 Comments »
Wednesday, July 4th, 2007
Alex Miller, Steve Yegge, and this poster explain.
Among the reasons given:
Singletons are most commonly used as excuses to have global variables and functions.
As Steve puts it, "using the Singleton is usually just a sign of premature optimization..." .
Singletons make it difficult when later you decide you actually need more than ...
Posted in Learn Programming, Programming | No Comments »