Stylish Guide to Modula-3 [Bookshelf] - IEEE Software - IEEE Xplore

3 downloads 7187 Views 170KB Size Report
MORE THAN A BEGINNER'S TEXT. The book targets beginning computer science majors and is written at a level appropriate for the course it is intended to ...
of modeling regularly or in depth. For us, the book may prove valuable as a “how do these computations work?”referencein conjunction with other material. However, I suspect that better volumes exist for this purpose and thus don’t recommend the

bookto that audience.Thesecond audience-practitioners or academics who use or evaluate the Sharpe tool-would likely find the text useful, as it gives a solid understanding of how to solve reliabilityand performance problems with Sharpe. e+ :

. Stylish Guide to Modula-3 Nikos E. Mastorahcis, Hellenic Naval Academy Programming in illodula-3: An Introduction in Programming with Style by Laszlo Boszormenyi, Carsten Weich, and Niklaus Wirth, Springer-Verlug, Berlin, 1997, ISBN 3-!;40-57912-5,571 pp., $39. As i t s title implies, this book introduces you to programming in Modula-3. A new language, Modula-3 belongs to the Pascal family, which includes Oberon, Oberon-2, Modula, Modula-2, and others. Modula-3 uses the module concept, derived from Modula and Nlodula-2, as its smallest compilation unit. Like the rest ofthe Pascalfamily, Modula3 is a structured language and, like the newest members of that family, it is also an 00 language.

f R O M THE GENERAL TO THE S f E C I f IC.. The first few chapters present a sound introduction to computer science. This survey of key concepts includesthe algorithm, switches and symbols, the Turing machine, computability, the Von Neumann computer, assemblers, programming languages, metalanguages, compilation, linking, loading, execution, data and data types, and the module concept. The next several chapters build on this foundation to teach classical programmingconcepts.The authors showcase several good examples of these concepts in Modula-3, and accompany them with illuminating explanations. They begin with predefined data types such as integers, logical type, characters, texts, floating-point numbers, statements and loops, user-definedtypes, expressions and declarations, composite static types including arrays, records, and sets, procedures and functions, and modules.

.

...AND ON TO ADVANCEDC O N C W T 5 Once it has thoroughly grounded the reader in basic and classical programming concepts, Programming inModulu-3 ventures into the realm of advanced programming:dynamic data structures such as queues, stacks, lists, dynamic (open) arrays, trees, pointers, recursion; 00 prsgramming techniques such as encapsulation, inheritance, polymorphism, dynamic binding, genericity; persistent data structures, files, and persistent variables; exception handling; and to accommodate multitasking and distributed computing, threads, shared variables, and message passing. The booKs conclusion succinctlysummarizes the advantages of Modula-3, while four appendices provide, in order, a large application of Modula-3, the mathematical definition of the language, Modula3 library interfaces, and detailed instructions for installing and configuringa Modula-3 environment.

MORETHANA BEGINNER’S TEXT The book targets beginning computer science majors and is written at a level appropriate for the course it is intended to support. However, its detailed, up-to-date coverage of Modula-3 will also be of use to computer scientists and computer engineers. Overall, the book offers a good introduction to modern computer science because so many of the concepts the authors describe can apply to any programming language. To comprehend this book you will need only the standard mathematics taught in secondary school. The text’s relatively abstract presentation clearly communicates the essence of programming to initiates, yet remains detailed enough that

July/August 1998

IEEE Software

89

senior students may also find it useful. Students who complete this book should be able to write advanced programs in Modula-3, and could even incorporate techniques such as 00 and parallel programming. Programming in Modula-3 would make an excellent one-year text or, with appropriate excerpts selected by the instructor, could be condensed to serve as the basis for a one-semester course. Wellorganized and clearly written, this book also contains superb references that will serve as a starting point for further study. Readers who want hands-

on experience with the language to flesh out the text’s theorycan installthe Modula-3 compiler from an anonymous FTP or Web site, for which the book provides URLs. Modula-3’s robust design makes itworthyofthe authors”’programming with style”subtit1e because it combines all the advantages and useful concepts from Pascal and Modula-2.The book‘s only shortcomings are the absence of unsolved exercises a t the end of each chapter and brief presentationsof some basic concepts like loops, which would have been useful for beginners.

.:.

Intermediate-LevelLinux Guide Brian Rossmajer, Bower Technologies Linux, Unleashing the Workstation in Your PC by Stefan Strobe1and Volker Elling, Springer-Verlag, New York, 1997, ISBN O387948805,587pp., $30. This is a one-stop quick-referenceguide to the Linux operating system, and more importantly, to the many programs that people use under Linux. It seems to be targeted a t part-time system administrators:those who understandthe system but don‘t remember exactly what all the programs do, or how they differ, and those deciding what applications to install.

TIGHTLYPACKED PAGES ... This comprehensive booktouches on manytopics.The depth to which it addresses each topic varies widely and appropriately, so that while XI 1 and Emacs warrant a chapter each, onlyfive games are mentioned and then described only minimally.The information in the Reference and Appendix chapters alone should ensure that this book stays close to the console. The authors have managedto keep this data up-to-date, which is a feat in itself. Also, tags have been placed in the marginsto make it easier to find key phrases throughout the text. A great deal of informationhas been summarized in less than 600 pages, so the writing style is notably succinct, almost urgent.Theambitious Basics chap-

90

IEEE Software

@ July/August

1998

ter covers everything from i-nodes through shells, regular expressions, and daemons. The next 130 pages detail the features ofthe kernel itself, the emulators that it can run, installingthe system, compiling a custom kernel, and basic system administration. The rest of the text is just as condensed.

...SPRINKLED WITH f LAWS The most important part of a reference book is i t s index, and this one is adequate but not exceptional. For example, the inetd.conf entry indicates a page that mentions the file, but not the pages that expla i n the f iI e’s contents.0ccas iona I trans lation errors also afflict the book, but these rarely prove distractive. This book is not meant to help solve configuration problems, and it is neither authoritative nor thorough; the Web is still the best place to find definitive answers and locate programs and applications. Is this bookworth buying?People unfamiliar with Unix will find its pace frustrating, while experienced users will find its lackofdetail equallyannoying.Thus, it will be most usefulto thosefamiliar with Unix but who have little system administration experience. That includes most people installing Linux for the first time, and even those who arejust consideringa Linux installation. Ultimately, though, the writing is too condensed and hurriedfor true beginners. +*: