Programming Styles
Top Down:
A program is created in terms of classes or methods, which are in turn identified by even lower level methods until the program is complete.
Bottom Up:
Build the language up towards the program. Create new functions and operators that make it seem like the language was custom built for the program.
Mine:
Pretend magical parts of the program do certain wonderful and conveneint things, and program off of that. Then go fill out the magic parts when you feel like it.