Programming is at it’s heart an struggle in communication. Source code is the communication medium with the processor; Comment the medium to other coders, and UML the medium to higher-level communication. Computer Scientists have the stereotype of being poor communicators, but in our own mediums, we’re phenomenal. This fact is no where more apparent, than trying to explain source code to someone else. How does one read source code? I’m currently, learning Haskell, and my first goal is to understand this question. How can I read (out loud):

[ x * x | x <- nums, x < 7]


After some searching I found a primer to Haskell Vocabulary. Even at this basic level I see the connection to Mathematics. Therefore I’d read this statement as:

“X” times “X”,  Given That, “X” takes nums, where x is greater-than 7

One of my favorite quotes about C++ goes like: “Except for the syntax, C++ is awesome.”.  And in C++ it’s even more critical to be able to read source code to someone. Therefore, I post a project to you, study some code you’ve written. Then try to read this code to someone else. It will be an interesting, and useful exercise for both of you.