Language choice continues to have a major impact on software development projects, starting with the software architecture. For a given project, the software architecture will look quite different if FORTRAN is chosen as the development language than if the Java language was chosen. Chapter 14 discusses some of the features and benefits of today's most widely used programming languages. Combined with other information in this book, the reader should be able to quickly narrow the language choice for any single project to one or two languages. Once a language is chosen , you will also need to select one or more development tools. Many development tools start by having you design the user interface and thus focus on that task. Mapping the user interface to the back-end database and adding business logic is left as an exercise to the developer. Other tools start with the database design, and use this to derive the user interface and structure the business logic. In both cases, the developer is forced to trade off one design for the other. A better approach, although supported by fewer development tools, is to start by defining your business logic. Once the business logic of an application is designed, it is then much easier to derive an appropriate user interface along with the required back-end database structure. Chapter 15 discusses the features to look for in a development tool and describes the various kinds of development tools available.