Taming the Tiger
Springer-Verlag New York Inc.
978-0-387-96468-3 (ISBN)
A small program is presented to motivate the concerns for programmer productivity and program quality that are the central issues of this set of essays. The example is one which demonstrates the performance aspect of programming. In order to achieve program quality, where a program is understood and known to be correct, we need a primary program description. This primary program description not only describes the program but is also used to generate the program. The method of applying primary program descriptions to produce programs is called metaprogramming and is described in Chapter 3. In the later chapters, we show how the method can be analyzed from an economic point of view to address the issues of productivity as well. 1 Introduction In thinking about programming over the last decade, I have concluded that very little is known about the process of programming or the engineering of software [1]. The consequence of having very little established truth to use as a basis for thinking about programming is that almost every conclusion must be reasoned out from first principles. Also, you cannot rely solely on textbooks but must use experimentation and direct observation to gain some experience with which to proceed.
1 Introduction.- 2 Unifying Themes.- 2.1 Software Engineering.- 2.2 Software Economics.- 2.3 Quasi-Expert Systems.- 3 Metaprogramming.- 3.1 The Problem.- 3.2 What Is a Method?.- 3.3 The Class of Programs Considered.- 3.4 Some Typical Cases.- 3.5 The Method.- 3.6 Why Metaprogramming Works.- 3.7 Limits of the Method.- 3.8 The Economic Justification.- 3.9 Comparison with the Operational Approach.- 3.10 Conclusion.- 4 The Cartesian Programmer and the Hacker.- 4.1 Introduction.- 4.2 What is Programming?.- 4.3 The Legal Status of Software.- 4.4 Multilingual Systems.- 4.5 Simplicity.- 4.6 Summing Up Simplicity.- 4.7 Conclusion.- 5 Software Engineering.- 5.1 Software Engineering: Problems.- 5.2 Design Methodology.- 5.3 Software Economics.- 6 AWK—A Prototyping Language.- 6.1 Hello World.- 6.2 Some AWK Syntax.- 6.3 Patterns.- 6.4 More of the Language.- 6.5 EXAMPLE—A Data Validator.- 6.6 Significance of the Example.- 7 Software Economics.- 7.1 Introduction.- 7.2 On Ultra-High Programmer Productivity.- 7.3 Economic Fundamentals.- 7.4 Investing in the Project.- 7.5 Risk.- 7.6 Competition.- 7.7 A Complete Example.- 8 The Model.- 8.1 Parameters of the Model.- 8.2 A Sample Run.- 8.3 A Typical Analysis.- 8.4 The Program.- 9 Transfer Pricing.- 9.1 On Estimating the Costs and Benefits of Common Tools.- 9.2 Transfer Payment.- 9.3 Conclusion.- 10 Summing Up.- 10.1 Other Software Engineering Approaches.- 10.2 Other Applications of Software Economics.- 10.3 The Role of Software Economics.
Reihe/Serie | Springer Books on Professional Computing |
---|---|
Zusatzinfo | VIII, 248 p. |
Verlagsort | New York, NY |
Sprache | englisch |
Maße | 155 x 235 mm |
Themenwelt | Informatik ► Office Programme ► Outlook |
Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge | |
Mathematik / Informatik ► Informatik ► Software Entwicklung | |
Mathematik / Informatik ► Mathematik ► Finanz- / Wirtschaftsmathematik | |
ISBN-10 | 0-387-96468-1 / 0387964681 |
ISBN-13 | 978-0-387-96468-3 / 9780387964683 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich