Python is killing me.
Python is all empty space. And while the basic logic is still there, why do all computer languages have to do things differently?
Mostly, I guess I just resent that it’s hard. Which is probably a life problem, not a Python problem. Why do we always think that life is going to get easier? I’ve been baby stepping my way through, but I’m falling behind. I was on track to finish Code Year on time, and every week my percentage of completion is getting a tiny bit lower. I feel like a marathon runner who’s fading in the last mile.
Must. Get. The. Passion. Back.
Yesterday I was thinking about the programming satori experience that got this blog rolling. I remember how I felt after I got through the Snake Eyes challenge. The world took on this complex, computational beauty that I never would have seen If I’d given up . For the week after that challenge I was thinking in code. I felt enlightened, stronger.
I’m sure Python has something to teach me too. I just have to be willing to re-commit and set a challenge to make up the ground I’ve lost.
One of the advantages of being the mother of a twelve year old is that I have many inspirational Hollywood movies to choose from in this mission. A scene from the Karate Kid remake comes to mind. The one where they visit the Taoist monastery and Jaden Smith learns that the snake is not controlling the nun. By copying its movements the nun is controlling the snake!
There is some profound metaphor in there that I don’t quite understand yet. But I will find some way to make that allegory work.
Because if I’ve learned one thing from a year of learning to program, it’s that it’s usually right at the point when nothing makes any sense that the magic is about to happen.
Last week I discovered a wonderful blog by programmer Jeremy Kubica. Computational Fairy Tales teaches computer science concept though ingenious charming fairy tales. My favourite is Hunting Dragons Through Binary Search, but Kubica is extremely prolific and seems to have tale for everything from recursion to parallel algorithms.
He’s not alone. Today Wired Enterprise published a feature on Carlos Bueno a engineer who works for Facebook, but has just written a children’s book, Lauren Ipsum, aimed at kids as young as 5 and as old as 12. The article puts the book in the context of programming education initiatives like Scratch and Codecademy. As Bueno explains, hands on coding is only part of the process. Metaphors are a key part of teaching computer science. They are the original code. “Stories are distilled knowledge taught through the ages,” he says.
This is good news for families learning to code.
The Dragon Eggs of digital literacy hatching!
Six Reasons a Non-Computer Nerd Might Want to Learn to Code – Technology – The Atlantic Wire.
This is something of an analysis of the “everyone should learn to code” meme. Except that it explores only the reasons why people might want to learn to code, which is not exactly the same as why they should learn.
Don’t get me wrong, I’m not trying to take the fun out of coding by turning into a moral imperative. And the last thing any parent should do is turn this into educational equivalent of vegetables.
But if we’re going to list the real advantages, and get into arguments with elite programmers who keep telling us that newbies are wasting their time, we need something deeper than “it’s useful.”
If you’re a software engineer whose primary source of work is software manufacturing then yeah, there’s not much motivating you to preach to the masses to learn how to make software. If, however, you’re a more politically minded programmer devoted to creating a more efficient world or let’s say more open source software that might massively reduce government and educational spending, then it’s more than just “useful” to have a citizens who know what you’re talking about. It’s essential.
Because nothing is going to change until a critical mass of the population understands enough about computer science to pressure their respective government or administrations into making the significant changes that have all kinds of economic and social advantages.
So there. A reason we should learn to program: because it might inspire others to do the same, and then maybe we’ll have a society that is better able to function as a more participatory democracy.
But don’t tell the kids that just yet.