• 7.2: Choosing Implementation Languages

    A programming language is often selected before a development project begins or may be specified in the requirements. The selection of a programming language depends on several factors, including business goals, market strategy, language features, familiarity and expertise in a language, compatibility with available hardware and software systems, and compatibility with organizational models, processes, procedures, practices, methodologies, and tools. The factors determining the language choice for a software development project affect cost, schedule, quality, and achievement of other project objectives.

    This section discusses OO implementation. "OO" is a design abstraction, meaning it can be implemented in several (perhaps many) ways. It is implemented via programming language features built into an OOL (Object Oriented Language). However, there are other ways to implement OO. For example, OO could be implemented at a lower level, using operating system processes, data, and network functions, or it could be implemented at a higher level, using a development environment. OO could even be implemented at the lowest level via hardware or firmware. Consider project requirements that specify an application design that shall be deployed for any programming language and computer hardware with a full-function operating system.