a day ago
- Top-down design divides a program into subroutines based on its purpose, while bottom-up design builds the language up to suit the problem.
- In Lisp, programmers create new operators as needed, causing language and program to evolve together until they fit naturally.
- Bottom-up design yields a smaller, more abstract language and a shorter program, reducing complexity and the number of components.
- Advantages include smaller and more agile programs, easier readability and modification, greater code reuse, and clearer design patterns.
- Bottom-up design is possible in other languages via libraries, but Lisp offers much broader powers for augmenting the language.
- This style is particularly suited to small groups, increasing individual productivity and enabling them to achieve more.