chapter two
High-level requirements and business environments are never the same for different business tasks. Budgets, technology stacks, available resources—all of them are very situational. We can’t predict everything. If some idea works better here, it can fail under other circumstances. The object-oriented paradigm addresses graphic user interfaces nicely, while making it very difficult to build concurrent applications. Imperative code will be the fastest on average, but its safety will require much more effort than functional languages can take.