weblog.masukomi.org

mah-soo-koh-me

 

Math is for people who aren’t content with the status quo. May 28, 2007

Filed under: Uncategorized — masukomi @ 1:57 am

Update: I just came across a similar post by raganwald wherein he
discusses the need for advanced
programming
skills
…which
you don’t get without math. ;)

When I was in high school no-one ever convinced me of why math was
important and that is my biggest educational regret. Children, and adults for
that matter, will neither seek out, nor retain, knowledge they don’t value. It’s
all well and good to tell them algebra is important but unless you show them WHY
algebra is important they will have no reason to retain it. I was one of those
kids who grasped geometry without problem, because the practical application of
it was inherent in it’s teaching. Algebra, on the other hand, was a series of
essentially random numbers written on a board. They taught you
how but never really dwelled on
why. I left high school honestly
believing that I’d never need it because no-one ever gave me reason to believe
otherwise.



Sixteen years later I know why. I’ve known
why for a while now, but as I never
really grasped, or retained, how I’ve
been stymied in my forward progress. You see, when it comes to programming? All
the cool shit requires math. Oh yeah, you can build nifty, and useful, apps
without any notable math skills. You’ll be able to rework old ideas in new ways.
It’s a lot like being a carpenter without any electrical engineering skills.
Sure you can use the belt sander, and you may have some good ideas on how to
make a better belt sander, but without a good understanding of electrical
engineering you’ll never be able to implement those ideas and actually
make that better belt sander.



You may be happy being a simple carpenter, but I’ve been nailing boards together
long enough to have some ideas on how to do it better and I’ve never been a
complacent person. I’m hunting down math skills and eating them whole.



Tonight’s lesson? Untyped lambda calculus. You need to learn it too? Start with
the
Alligator
Eggs
game. It’s a sneaky way to introduce it to young children, although, as
it mentions near the bottom, it could use some expanding upon for further
clarity. Then read this
introduction
to lambda calculus (pdf)
. If some of the things in the paper are missing the
why aspect try and match what they’re
saying with the rules you learned in Alligator Eggs. I still don’t know
why the alligators die but at least now I
know how, when, and where to kill them.



And, to any youngsters who may be reading this and wondering
why I actually
need lambda calculus, the answer is
“functional” programming languages like Haskell and Erlang. You may be able to
go through the motions, and follow the rules of functional programming but
you’ll never really understand the why of it if you don’t understand lambda
calculus.




 

Leave a Reply