Seemingly Impossible Swift Programs
This article does a great job at pointing out just how needlessly difficult computer science makes itself when it doesn't have to. Example:<p><pre><code>    !(a || b) == (!a && !b)
</code></pre>
`a` and `b`. They're meant to represent, well <i>anything</i> really but to the average person (or weirdos like me) it would be infinitely easier to understand if the author wrote it like this:<p><pre><code>    !(Bob || Sally) == (!Bob && !Sally)
</code></pre>
I don't know why but whenever I encounter single-characters-as-math-variables in computer science I have to spend <i>far</i> more time unpacking such statements into things my brain can understand. It is <i>so much easier</i> if such statements are written as <i>nouns</i> that describe actual <i>things</i>.<p>I remember having a hard time working with C for loops until a friend of mine wrote one like this:<p><pre><code>    for (int number = 0; number < 10; number = number + 1)
</code></pre>
Suddenly it all made sense! I am not alone in this! I have taught programming to kids and others who have struggled to learn programming and this seems to be how <i>normal</i> people think.<p>Note: We, as a geeky community are <i>not</i> normal. I just have a strange exception in that at least one little part of me thinks like a normal person and that is with "what we name things" :)