The Importance of Whimsy in Learning to Program
natescottwest.com
natescottwest.com
Thanks for sharing your experience!
I really appreciate your comment. Education is really important to me and Kahn Academy has been a huge inspiration to me.
Yes? http://en.wikipedia.org/wiki/Structure_and_Interpretation_of...
http://learnyousomeerlang.com/
For example, one of my favorite chapters in there is about distributed programming. It is told with an example of 2 camps of survivors of zombie apocalypse trying communicate with each other.
http://learnyousomeerlang.com/distribunomicon#alone-in-the-d...
You can tell Fred's (author) passion and enthusiasm from his style of writing.
My Erlang learning has been a little spotty so far but I'm going to Erlang Camp in Nashville next month to fill in some holes. I've been playing a lot with Elixir and that's been helping too.
If you just naturally love math and think that way you can often see the context yourself anyway (or at least I did) but your average word problem at school isn't much of a real world context. When the hell will I sit around with my friends and say "Hey Jennifer, lets get that volume of beer in that cup. That sounds like a good time".
Really, most of programming is really easy. The boring stuff is reading library documentation and using libraries to do stuff.
For instance, would python's "requests" library be more engaging if it was called ChittyChittyBangBang or YourMommaSoFat something else equally infantile? For me it would be less engaging. Names like this can also make people take a piece of software less seriously than they should, and harder to find because they are less descriptive.
The bigger message is to communicate that programming is fun to people who want to learn. I think you're average working programmer out there probably is... but my "educational" experience was not that way. It wasn't really about using whimsical names either, it was because it was taught so passionless and half-assed. I really am just saying this works for me and I see a lot of kids coming into Ruby and to Rails really getting a kick out of the small stuff... It's passion and it's details that are important... whimsy is optional.
* whimsy in the ecosystem is ok as long as it doesn't impede functionality. indeed, in some cases, a little added whimsy might help (human) memory in some hot spots: rfc3339-somethingorother is one example of a library that i'd like to have renamed "Nikogiri". there are like half-a-dozen of these little 100-line libraries for parsing date strings in python alone because everyone wrote one when the standard first appeared, all more-or-less with the same name, and even though a clear winner eventually emerged, its name still sounds like all the other packages'... and moreover i think this whimsy does exist in the wild. do you still <depend on google-collections? noo, we use guava now. did apt-get (yeah, the thing with "super-cow-powers") just decide i need libpdf-extra? noo, zathura depends on poppler. tools like pip and apt-cache provide a description field where greppable stuff like xml, pdf, and rfc3339 can appear for a reason: an xml library's name need not contain "xml".
* well-timed yo-momma-so-fat jokes will always be in style
Here's a passage from an old journal article I've long liked: http://www.kmjn.org/snippets/papert85_logovisions.html
I'm 22 now and finally feel like I'm headed in the right direction with the help of BlueJ and a book called "Objects First with Java". It may not be 'whimsy', but I appreciate the fact that it helps me visualize the concepts of OOP.
I recognize the feeling of insatiability, as I keep wanting to learn more and more now, all thanks to brilliant resources.
;-)