Review: Mono: A Developer's Notebook
Wherein our hero dives headfirst into the realm of ECMA standards, software holy wars, and high-quality book bindings. Review by James Bowes.
Mono: A Developer's Notebook [1] is one of the first books in O'Reilly's relatively new Developer's Notebook series. As such, this review will cover the format of the Developer's Notebook series as much as it will cover Mono: A Developer's Notebook.
Mono is an Open Source implementation of Microsoft's .Net Development Framework. Much confusion exists over what legal issues may affect Mono; this book mostly ignores this. Its sole goal is to teach the reader how to use Mono, and to show off a few cool tricks in the process.
In its 278 pages, Mono: A Developer's Notebook runs the gamut from desktop GUI application development, to server-side web applications, to XML manipulation, to overviews of language features like generics and attributes. Any of these topics could fill a textbook on its own. Fortunately, the authors acknowledge this and provide pointers to additional resources about each topic at the end of the section.
There is one disappointing aspect of this book, but it is entirely not the fault of the authors. At the time of the book's release, the Mono Windows.Forms (the primary toolkit for .NET GUI development on Microsoft Windows) implementation was an amalgam of C# code and calls to the Wine library. As such, Windows.Forms could only be run on x86 machines. The current effort is a completely managed (that is, running on the Mono virtual machine) implementation of Windows.Forms, which allows Windows.Forms code to run on any platform that can run Mono. It would be nice to see a new edition of Mono: A Developer's Notebook covering the new managed Windows.Forms implementation; certainly, this would pique the interest of many Microsoft Windows developers.
The Developer's Notebook format is possibly the best textbook layout I have ever come across. The pages are thick and nicely textured, and the book binding uses RepKover, which allows the book to lay flat, without putting any weight on it, or using your hands. This is perfect for reading the book while programming. The content of books in the series is also noteworthy. It is assumed that the reader is an experienced developer, so all hand-holding and introductory content is dispensed with. The result is a book that tells you what you need to know about a topic to begin making use of it; nothing more or less than that.
This book is well-written, affordable, and completely no-nonsense. If you are a moderately experienced programmer looking to get started with C# and .NET on a Unix platform, or wondering how you can leverage Mono to increase your productivity, this book is for you.
Overall, Mono: A Developer's Notebook is worthy of four out of a possible five Baltzers on the Dal-ACM scale of excellence:
attachment:baltzerHead.png attachment:baltzerHead.png attachment:baltzerHead.png attachment:baltzerHead.png
The Developer's Notebook series, as a format, is worthy of the full five Baltzers. I look forward to reading more books in this series:
attachment:baltzerHead.png attachment:baltzerHead.png attachment:baltzerHead.png attachment:baltzerHead.png attachment:baltzerHead.png
Mono: A Developer's Notebook is available from O'Reilly Media, Inc. for CAN $36.95, or wherever fine books are sold. A sample chapter and supporting materials may be downloaded from O'Reilly's On-line Catalogue.
-- James Bowes May 2005
[1] Mono: A Developer's Notebook, By Edd Dumbill, Niel M. Bornstein. First Edition July 2004. Series: Developer's Notebooks. ISBN: 0-596-00792-2
