Scheme recap
You all had some really great pros and cons to highlight both about functional programming and about using a framework (in this case, world). Keep this in mind as we move forward!
Functional Programming/Scheme
| Awesomeness | Frustrations |
| Encourages good habits
Simple functions grouped together for more complex functionality Deep familiarity with recursion Higher-order functions are amazing! Purity – syntax is predictable Check-expects! Helps do test-first development Error messages that (usually) make sense and highlight the line Interpreted for quicker running Runtime speed Editor has good highlighting |
Error messages that aren’t good are REALLY bad
No state!!! So many parens! Very dense – high signal to noise ratio Reading inside-out takes getting used to Only doing one thing at a time Interpreter sometimes freezes (reading files on flash drive) Infinite recursion just locks everything up! Far from how a computer works (lots of abstraction) |
World (someone else’s code)
| Awesomeness | Frustrations |
| Big-bang does a lot behind the scenes!
Build a game without OOP in a single file Concise notation for events Easier to start than pyGame Pasting images straight into the program – didn’t have to save it as some random file |
Highlighted frustration of not being able to change a field
Hard to figure how to compose game loop functions How does it work?! Arggg!! Is the problem coming from my code or the framework? Documentation out of sync with API Not Cartesian system The program file is huge since it includes resources |




