Microsoft Cloud Authors: Pat Romanski, Liz McMillan, Lori MacVittie, Elizabeth White, Yeshim Deniz

Related Topics: Microsoft Cloud

Microsoft Cloud: Article

.Net Book Review: Mono: A Developer's Notebook

A How-To Book Using Mono on Linux

The authors of this book, Edd Dumbill and Niel Bornstein, are well known in both the Linux and .NET communities, and are well suited to write a book on the Mono project. Edd Dumbill also coauthored Linux Unwired and XML-RPC, and is an Editor at Large for O'Reilly books. Niel Bornstein also wrote .NET and XML, and is now a consultant for Novel in the Linux and open source practice group.

This book is one of the O'Reilly series of "Developer's Notebooks," so it is basically a cookbook of "how-tos" and is intentionally thin on theory. This allows the book to concentrate on the details of exactly how to perform common tasks; for instance, the book gives the commands needed to download and install Mono, and to compile and run a simple program on the three main supported platforms: Windows, Linux, and Mac. The format used in most of this book is to present a "lab exercise" type of task, and then give the solution to the task in two to four parts. After a description of a task, the first part is a "How do I do that" section that shows exactly how to complete the task. The next section, "How it works," talks a bit more about how the .NET classes work, things to watch out for, and often a bit of history about why a function behaves as it does. Some tasks also have a "What about" section that covers some "gotchas" or advanced applications of the technique just discussed. Most tasks conclude with a "Where to learn more" section, which references the MSDN library or Internet sites where more information and details can be found.

The book gives an overview of Mono, C#, and the NET framework; it is enough to get started, but everyone will need more complete references to complement this book. The chapter on the .NET framework only covers a few areas such as working with files, strings, and regular expressions, but these are some of the areas where many developers will hit their first snags, and those snags are what this book is designed to help with. It also covers two of the Mono tools, the disassembler for looking inside assemblies, and NUnit for testing.

The area with the most extensive coverage is on how to use Gnome and GTK# for writing GUI interfaces under Linux. The GTK# API is popular with developers coming from a Linux background. The book covers Linux Gnome tools such as Glade for layout, DocBook for help, Gecko, GConf, drag and drop, and internationalization. When this book was written, System.Windows.Forms was still far from complete, and so it is mostly absent from this book.

As you would expect from these two authors, XML is fully covered, including reading and writing XML files, the DOM classes, validating XML with DTDs, and serializing and deserializing C# classes to and from XML files. .NET uses XML in many ways, and this book gives a good overview of how to use most of them.

The chapter on remoting shows how to display ASP.NET Web pages using the Mono Web Server, XSP. It also covers sockets and remoting, and touches on security and cryptography. This chapter also includes a short introduction to database access using .NET, including how to create, connect to, and work with MySQL databases, as well as disconnected databases. Although this section is well written, anyone doing any significant database programming will need other books to fully understand how to use databases in .NET and Mono.

The final chapter is on advanced topics, including configuring and building projects under Linux using config and make, a section with hints on writing code to work on both Windows and Linux, running Java code in .NET using IKVM, the Mono basic compiler, and compiling to take advantage of generics.

The purpose of this book is to help developers get up to speed on using Mono. It is an excellent book for Linux developers who want to learn enough .NET to get started. It is an excellent book for Windows programmers who want to get started with .NET on Linux, because it gives details on how to install and configure Mono, and compile and execute programs in a Linux environment. It does this in a very cookbook style that does not assume any previous knowledge of Linux. This book is not for beginning programmers - it is too shallow and concise for that. This book is meant for experienced developers who just need a little help with some specific tasks.

I would rate this book a "must have" for programmers getting started with Mono and .NET on Linux, and the wallet-friendly price of $24.95 makes this book a real bargain that will pay for itself several times over.


Title: Mono: A Developer's Notebook
Author: Edd Dumbill and Niel M. Bornstein
Publisher: O'Reilly
ISBN #: 0-596-00792-2
Price: US $24.95

More Stories By Dennis Hayes

Dennis Hayes is a programmer at Georgia Tech in Atlanta Georgia where he writes software for the Adult Cognition Lab in the Psychology Department. He has been involved with the Mono project for over six years, and has been writing the Monkey Business column for over five years.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

IoT & Smart Cities Stories
With 10 simultaneous tracks, keynotes, general sessions and targeted breakout classes, @CloudEXPO and DXWorldEXPO are two of the most important technology events of the year. Since its launch over eight years ago, @CloudEXPO and DXWorldEXPO have presented a rock star faculty as well as showcased hundreds of sponsors and exhibitors! In this blog post, we provide 7 tips on how, as part of our world-class faculty, you can deliver one of the most popular sessions at our events. But before reading...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
Poor data quality and analytics drive down business value. In fact, Gartner estimated that the average financial impact of poor data quality on organizations is $9.7 million per year. But bad data is much more than a cost center. By eroding trust in information, analytics and the business decisions based on these, it is a serious impediment to digital transformation.
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...
DXWorldEXPO LLC, the producer of the world's most influential technology conferences and trade shows has announced the 22nd International CloudEXPO | DXWorldEXPO "Early Bird Registration" is now open. Register for Full Conference "Gold Pass" ▸ Here (Expo Hall ▸ Here)
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time t...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
Machine Learning helps make complex systems more efficient. By applying advanced Machine Learning techniques such as Cognitive Fingerprinting, wind project operators can utilize these tools to learn from collected data, detect regular patterns, and optimize their own operations. In his session at 18th Cloud Expo, Stuart Gillen, Director of Business Development at SparkCognition, discussed how research has demonstrated the value of Machine Learning in delivering next generation analytics to impr...
The challenges of aggregating data from consumer-oriented devices, such as wearable technologies and smart thermostats, are fairly well-understood. However, there are a new set of challenges for IoT devices that generate megabytes or gigabytes of data per second. Certainly, the infrastructure will have to change, as those volumes of data will likely overwhelm the available bandwidth for aggregating the data into a central repository. Ochandarena discusses a whole new way to think about your next...