Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

22.4.10

Kids' brains are early-binding

When it comes to programming language variables there are two flavors, early binding and late binding. An early binding language needs to know what type variables will be ahead of time, if 'x' is going to store a number it's not going to store a string and vice versa. Late binding means you can define variables and depending on how they get used, the programming language determines retroactively what kind of variable you needed.

Based on how my 3yr old understands things, I'm tempted to think of it as early-binding. He doesn't yet know how to let words temporarily represent abstract concepts he doesn't understand. Instead if you start to explain something, he'll expect you to define and explain a word that he didn't understand, rather than making sense out of the word as its used in context.

It's not so upsetting that he can't do these things yet, these are very abstract concepts which he will develop in time. It's interesting though, for me to look back on all the programming languages I've come to know and see how as they mature, they're expected to allow for the more flexible late binding.

10.3.10

on losing fluency

There's a great couple of articles here on what's wrong with programming today: (the second is a follow-up to the first)
What ever happened to programming, and here's the Redux. This quote pretty much sums it up:

We talk about ‘flow’ quite a lot in software and I just have to wonder what’s happening to us all in that respect. Just like a conversation becomes stilted if the speakers keep having to refer to their phrasebooks and dictionaries, I wonder how much longer it will be possible to retain any sort of flowful state when writing software. Might the idea of mastery disappear forever under a constant torrent of new tools and technologies?
That’s it exactly.
On its face, this sounds very rational and correct, but I suspect there is something more sinister behind it all: Aging. These are developers who have a ton of experience and are getting old. They look backwards at the ease they once felt at assimilating all of the myriad technologies of their day and lament their inability to absorb the growing plethora of technologies available today and fear the overwhelming hoards of technologies coming tomorrow.

I'm only sensitive to this issue because I'm moving on in years myself (age 32) and am forever curious at what point I wont be able to keep up, no matter how flexible I imagine my mind to be.