[PD] code and compilers
brouse at music.mcgill.ca
Sat Dec 8 15:38:03 CET 2007
On Sat, 8 Dec 2007, pd-list-request at iem.at wrote:
> On Fri, 7 Dec 2007, Hans-Christoph Steiner wrote:
>> As for Pd vs. C, there was a time in the not-so-distant past where
>> programmers thought that compilers were horribly inefficient, and that
>> they were only really good for prototyping things. Then you'd code
>> things for real in assembly. That lasted well into the 80's.
> It even lasted well into the 90's, but it depends for what. The 80's had
> plenty ofy apps use a blend of asm and C-or-Pascal, while in the 90's
> it became limited to really needy applications (games, demoscene, etc).
> The amount of asm code still being written is shrinking but still somewhat
> present. For example, devel_0_39 has asm code in it.
I once wrote a final exam for a mandatory course in Assembly Language
programming in the late 1990s where the most important question was to
determine what a block of Motorola 68k assembly code was doing. People
were just pulling their hair out! (mine never grew back!). It turned out
the code was doing basically nothing. That was one of the best CS courses
I ever took.
An old-school hacker (poet turned progammer, classic!) once told me that
he used to debug his programmes (on mainframes, with not even 1M of
memory) by actually just watching a display of activity in all memory
locations. After a while, he just subconsciously internalised what was
going on and managed to debug the code.
The questiion today might be whether auto-vectorising compilers are as
good as hand-unrolled loops (I highly doubt it). The point is well-taken
however: we should use high-level tools for the rapidity, expressivity and
clarity they offer us in realising our particular ideas. It never hurts,
nonetheless, to understand what that code is actually doing on the
processor and in memory etc.
On a fundamental level, any code we run is just changing patterns of
electrons bouncing about on a wafer of impure silicon. Thus, when our
high-level tools fail us or don't give the expected result, we sometimes
have to dig down a little deeper. Maybe there is a chunk of code, like
that block of 68k assembly, which is just churning electrons around,
basicaly doing nothing.
"[...] the introduction of the blackboard has had more impact on classroom
education than any innovation in technology since, including the
introduction of cheap paper or the introduction of the internet and
More information about the Pd-list