6. MAKE MANY SKETCHESI think that this applies equally well to programming.
Join the best sketches to produce others and improve them until the result is satisfactory.To make sketches is a humble and unpretentious approach toward perfection.
—Fundamentals of Musical Composition, Ch XII
Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts
Sketches
One of the things I like to do in my free time is to dabble, in the most unschooled fashion imaginable, in music composition. Composing is hard. About as hard (and remarkably similar to) programming. Arnold Schoenberg offers this "advice for self-criticism" to students of composition:
Life in APL, programming in a live environment
This gorgeous screencast of an APL session shows an implementation of Conway's Game of Life being derived in APL.
It's a very delicious demonstration of what can be achieved in 1) a "live" computational environment (rather than a mere language 'n' platform) with 2) a language that works by evaluating expressions (rather than merely marshalling operations) and 3) already knows how to show you what complicated values look like (because it understands its work to be symbolic not operational).
Ponder what the Dyalog folks (no affiliation) are showing you there, ponder just how far towards that same goal you'd get in whatever programming system you use at work in 7 minutes 47 seconds (even if you'd done as much rehearsal as I'm sure they did) and then ponder the state of our industry.
Then have a stiff drink.
Self
So, Self continues to be developed and has a very nice new site, here. Self is like Smalltalk "only more so".
These days Self runs like a dream (and blindingly fast) on the Mac. Back in the day Self would only run on Sparc hardware, so I bought a Sun workstation for the express purpose of being able to play with Self. A wise investment. If a point of view is worth 80 IQ points then learning Self is a much better bet than all that brain training and smart drinks.
I you want to understand to powerful (and fun and (partly, therefore) enticing) a system can be if you trust your users to manipulate objects directly, take a look at Self. If you want to understand just how far the notion of Integrating and Development Environment can be pushed (and how much fun that turns out to be) take a look at Self. If you want to understand why some folks consider Javascript to be such a huge missed opportunity, take a look at Self.
Subscribe to:
Posts (Atom)