Rating:  Summary: Author's Comments on this book: Review: The basic purpose of this book is to simultaneously teach the Fortran 90/95 programming language, structured programming techniques, and good programming practice to an audience of engineering and science students. Why I Wrote This Book The book was conceived as a result of my experience writing and maintaining large Fortran programs in both the defense and geophysical fields, and as a follow-on to my FORTRAN 77 book (now published by Prentice-Hall). During my time in industry, it became obvious that the strategies and techniques required to write large, maintainable Fortran programs were quite different from what new engineers were learning in their Fortran programming classes at school. The incredible cost of maintaining and modifying large programs once they are placed into service absolutely demands that they be written to be easily understood and modified by people other than their original programmers. My goal for this book is to teach simultaneously both the fundamentals of the Fortran language and a programming style that results in good, maintainable programs. In addition, it is intended to serve as a reference for graduates working in industry. From the very beginning, this book teaches Fortran in a style suitable for use on large projects. It emphasizes the importance of going through a detailed design process before any code is written, using a top-down design technique to break the program up into logical portions that can be implemented separately. It stresses the use of procedures to implement those individual portions, and the importance of unit testing before the procedures are combined into a finished product. Finally, it emphasizes the importance of exhaustively testing the finished program with many different input data sets before it is released for use. In addition, this book teaches Fortran as it is actually encountered by engineers and scientists working in industry and in laboratories. Two facts of life are common in all programming environments: large amounts of old legacy code that have to be maintained, and the existence of subroutine libraries to make some programming tasks easier. The legacy code at a particular site may have been originally written in Fortran IV (or an even earlier version!), and it may use programming constructs that are no longer common today. For example, such code may use arithmetic IF statements, or computed or assigned GO TO statements. Chapter 14 is devoted to those older features of the language which are no longer commonly used, but which are encountered in legacy code. The chapter emphasizes that these features should never be used in a new program, but also prepares the student to handle them when he or she encounters them. Similarly, Chapter 13 prepares the student to use Fortran libraries. It teaches the student about the types of libraries available, and about how to select and interface with a particular procedure from a library. It introduces commonly-used mathematical libraries such as the NAG Library, the IMSL Library, and the LAPACK Library. Both a subset of the LAPACK Library and a small library called BOOKLIB are supplied for use with this book. These libraries are used in Chapter 13 to teach the student to use library indexes, to read manual pages, and to interface with library procedures. Chapters 8 and 12 continue the emphasis on the real world, introducing the problems associated with the limited precision of computer mathematics, and discussing ways to avoid them. In the discussion of double precision real data in Chapter 8, the book introduces ill-conditioned systems of equations and shows how the limited precision of computer mathematics can lead to incorrect answers even though the algorithm being used is correct. It then provides guidelines for using double precision real data type to avoid these problems. Chapter 12 is an introduction to Numerical Methods. It expands on the material in Chapter 8 to discuss truncation and rounding errors, errors due to the subtraction of nearly equal numbers, cascading errors, and errors due to incorrect models. The examples in the chapter include higher order least-squares fits, numerical integration, and finding the roots of equations. Examples of numerical methods from other chapters include random number generators, statistical subroutines, sorting, solving simultaneous equations, and taking derivatives. Pedagogical Features The book includes several features designed to aid student comprehension. A total of 25 quizzes appear scattered throughout the chapters, with answers to all questions included in Appendix E. These quizzes can serve as a useful self-test of comprehension. In addition, there are approximately 310 end-of-chapter exercises. Answers to selected exercises are available at the book's Web site, and of course answers to all exercises are included in the Instructor's Manual. Good programming practices are highlighted in all chapters with special Good Programming Practice boxes, and common errors are highlighted in Programming Pitfalls boxes. End of chapter materials include Summaries of Good Programming Practice and Summaries of Fortran Statements and Structures. Finally, a detailed description of every Fortran 90/95 intrinsic procedure is included in Appendix B, and an extensive Glossary is included in Appendix D.
Rating:  Summary: Title should have thrown an exception to Expectation Review: The previous four reviews are clearly an indication of expectations/title mismatch. This is a good book if your logical implication intelligence is below 180. Otherwise, go buy the standard ISO_IEC_1539-1_1997 (F95) and save yourself money in the end. If you want an amplification of the std delivered in the order of the std, then get Metcalf/Reid (Fortran90/95 Explained) lastest ed (a five star) and/or Adams, Brainard, Martin, Smith, Wagener (Fortran 95 Hnbk) (a four star). If you want amplification of almost all of the IMPORTANT necessary implications of the std, then buy this book. Another (four star) in this category is Ellis, Phillips, Lahey (Programming Fortran 90). With those four and an f95 compliant compiler your launching pad would be set.
Rating:  Summary: Title should have thrown an exception to Expectation Review: The previous four reviews are clearly an indication of expectations/title mismatch. This is a good book if your logical implication intelligence is below 180. Otherwise, go buy the standard ISO_IEC_1539-1_1997 (F95) and save yourself money in the end. If you want an amplification of the std delivered in the order of the std, then get Metcalf/Reid (Fortran90/95 Explained) lastest ed (a five star) and/or Adams, Brainard, Martin, Smith, Wagener (Fortran 95 Hnbk) (a four star). If you want amplification of almost all of the IMPORTANT necessary implications of the std, then buy this book. Another (four star) in this category is Ellis, Phillips, Lahey (Programming Fortran 90). With those four and an f95 compliant compiler your launching pad would be set.
Rating:  Summary: An excellent presentation of the capabilities of Fortran Review: This book is an excellent presentation of the capabilities of Fortran 90 and 95. It is detailed enough to cover in depth many programming issues arising in practise, and also summarizes and gives good programming hints, allowing it to be used for quick reference. It also includes many actual source code examples which is the best way to show how all the theory becomes practice. It also includes extensive apendices with descriptions of the intrinsic functions of Fortran. In my opinion one of the best Fortran books that you can find currently.
Rating:  Summary: not very good as a reference Review: This book may be useful if you plan to study each chapter thoroughly, or even go through the whole book, but it should definitely not be purchased as a reference. The index is woefully thin -- a mere 6 pages -- which is extremely unusual and, IMHO, unacceptable for a book about a programming language. (I chose a C++ book at random from my shelf and it has a 37 page index, which one would expect from any useful programming book.) Because of this inadequacy, I think the high cost of the book is unjustified.
Rating:  Summary: not very good as a reference Review: This book may be useful if you plan to study each chapter thoroughly, or even go through the whole book, but it should definitely not be purchased as a reference. The index is woefully thin -- a mere 6 pages -- which is extremely unusual and, IMHO, unacceptable for a book about a programming language. (I chose a C++ book at random from my shelf and it has a 37 page index, which one would expect from any useful programming book.) Because of this inadequacy, I think the high cost of the book is unjustified.
Rating:  Summary: Horrible as a reference. Review: This is probably one of the worst programming books I have ever used. The index is terrible, which turns finding any random info into a page by page scavenger hunt. There are very few tables which give nice breakdown of parameters and what not, as the author prefered to scatter information about a single function call through two or three chapters. The "scientific and engineering" aspect of programming is so spoon fed it really does nothing to enhance understanding of the subject.
Further if you are new to programming this book will do more harm than good. In trying to explain the concept of a loop, showing how to count to 10 is a much better example than calculating sin( x) by series expansion. After all, if you have the math background to do such a thing, and even a small amount of programming know how ( gathered from GOOD reference books ) you can do this kind of stuff without the author pretty much telling you what algorythm to use. The extra effort to code the sin(x) example, therefore, just gets in the way and muddies up the original point of the example ( to demonstrate a loop in this case. )
I was introduced to this book in a college physics programming course and was amazed at how horrible this book was for teaching the subject. Students with little to no programming experience ( but plenty of physics experience )were lost and confused because the examples do a poor job of showing you what they are suposed to, and those with already good programming skills in other languages about died from paper cuts searching through the book by hand to find the syntax of the print function. A poor book all the way around. After some searching it appears that a good "Teach yourself Fortran 90 in 21 days," type book is hard to come by, but that ( imo ) is what fortran really needs to make it accessible to potential new users of the language, since meshing the actual 'language' and the 'for scientists and engineers' stuff just makes everything more complicated than it needs to be for a reference book. The only scientific/math/programming book I ever actually sold back to the college when the course was over.
Rating:  Summary: Hard to find what you need Review: This is the only F90 book I have. It contains the answers to all questions I have had about using Fortran, but I found that it takes so much time trying to locate them. I would have like it better, had there been better organisation, good indexing and cross referencing.
|