Practical Mono
hisham writes "At first glance, you would think that Practical Mono is yet another
introductory book about C# and Mono, but all of that drastically
changes the moment you look at the book's table of contents and see
the variety of topics it covers and the lengths to which the author
goes to describe the more important details." Read the rest of Hisham's review.
Practical Mono
author
Mark Mamone
pages
402
publisher
APRESS
rating
Excellent
reviewer
Hisham Mardam Bey
ISBN
1-59059-548-3
summary
Takes the readers from an introduction to .NET, Mono, and C# to their most advanced features using a real world approach.
The book gently eases the into what .NET and Mono are giving a historical background for each. What I found very interesting is the fact the author takes time to explain about .NET in the real world, and ties this to Mono to give the reader a clear idea of how any why Mono was started and what the reader can do to participate in this effort.
Since a lot of people using Mono might be coming from a traditional .NET environment, the author expects those people to be used to certain development tools. To that effect, the second chapter in the book is dedicated to introducing the reader to development tools that can be used with Mono, especially Mono Develop. This gives the reader some heads up about what can be used instead of their conventional development tools and makes sure you start off on solid grounds.
Having gotten the user all set up and ready for action, the book then moves on to introduce the author to C#. This is a subtle introduction that eases the user into what C# is and how the language works. Chapter 3 comes in very handy when you want to brush up on your C# skills or are new to C#. the author continues to give the reader more information about C# in a more detailed fashion in Chapter 4, "Learning C#: Beyond the Basics". This chapter goes into some nitty-gritty detail about C# classes, exceptions, and all round more advanced C# topics.
Chapter 5 moves into the more exotic areas of .NET that deal with the CLR, IL, assemblies, and the general assembly cache (GAC). This chapter is very helpful if the reader wishes to acquire in depth info of how the .NET environment works. Other discussed topics here are garbage collection, application domains, and the class library. This is one of those chapters that make this book an excellent recommendation for both novice and advanced users of C# and .NET.
The first 5 chapters have made sure the user is very knowledgeable about what Mono is, what .NET is, what C# is, and how all of them relate to each other. They have also explained C# and introduced the reader to its syntax and advanced features. Starting with Chapter 6, the "Practical" bit from the books title starts to kick in quite strongly. If its a book with both theoretical and real world information that you want, then the coming chapters are really going to quench your thirst.
Chapter 6 goes right into the heart of on of .NET's most desired features, Windows Forms. The author explains what Windows Forms is, what GDI+ is, how to implement a good user interface, and gives real world examples of how to do all of that introducing the reader to Windows Forms' various controls. A nice section that is mentioned in several chapters is the "Whats New in Version 2.0?" section that informs the reader about what to expect in the new version of .NET in regard to that particular topic.
Because the author knows that not all people will be using Windows Forms to design their graphical interfaces, he goes into GTK+ and Glade and takes up a complete chapter explaining what they are and how they can be used instead of Windows Forms. Chapter 7 serves as a gentle introduction to the GTK+ and Glade world, and makes sure the uses knows how to pick between Windows Forms and the GTK+ / Glade combination.
After finishing Chapter 7, the user has a very good idea about how to design a complete graphical user interface using freely available tools (Windows Forms in Mono, and GTK+ / Glade using GTK# in Mono). The author now moves on to describe ADO.NET, a heavily used feature of .NET which is also available through Mono. This chapters enlightens the reader and explains all aspects of using ADO.NET in applications to connect and utilize databases. The particular example is geared towards installing MySQL. Explanation is given both for Linux and Windows, which also shows that Mono can be used as a .NET alternative on Windows.
Since XML is constantly referred to as a "hot topic", the author does not let us down and dedicates a complete chapter to discussing XML and Mono. If the reader is new to XML, then he / she will be pleased to find out that an explanation to what XML is and its history is given at the beginning of Chapter 9: Using XML. The chapter deals with looking at XML documents and traversing them. The author shows us a real world example by applying this knowledge to create an RSS feed class library.
Chapter 10 is for those of us with enthusiasm for networking and remoting. This chapter, "Introducing Networking and Remoting", starts by explaining what networks are and their general concepts, then dives into how we can do networking related programming in .NET. We apply this knowledge later on and create an RSS feed handler.
Another heavily used feature in .NET is ASP.NET. Chapter 11: Using ASP.NET, explains what ASP.NET is, how it works internally, and how to use it. This chapter shows the reader how to set up a web server for ASP.NET (both the XSP web server and an external web server) and moves on to show the user how a web service can be written. A lot of readers will find this chapter very useful as web services seem to be an increasing and expanding field right now.
Finally in Chapter 12: Using Advanced Mono Techniques, the author dives into such topics like performance tuning, reflection, and using threads. Advanced readers will particularly like this chapter as it handles some of the "harder" more demanding features of .NET.
This book not only serves as a great learning experience that shows you how things are done in the real world, it also as a general good reference for C#, .NET, and Mono and several of their features. Definitely one you should have in your bookshelf right by your work desk.
I enjoyed reading Mark's book, and I would recommend it to people that are either getting into .NET / Mono or have some experience but would like to further it."
You can purchase Practical Mono from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
The book gently eases the into what .NET and Mono are giving a historical background for each. What I found very interesting is the fact the author takes time to explain about .NET in the real world, and ties this to Mono to give the reader a clear idea of how any why Mono was started and what the reader can do to participate in this effort.
Since a lot of people using Mono might be coming from a traditional .NET environment, the author expects those people to be used to certain development tools. To that effect, the second chapter in the book is dedicated to introducing the reader to development tools that can be used with Mono, especially Mono Develop. This gives the reader some heads up about what can be used instead of their conventional development tools and makes sure you start off on solid grounds.
Having gotten the user all set up and ready for action, the book then moves on to introduce the author to C#. This is a subtle introduction that eases the user into what C# is and how the language works. Chapter 3 comes in very handy when you want to brush up on your C# skills or are new to C#. the author continues to give the reader more information about C# in a more detailed fashion in Chapter 4, "Learning C#: Beyond the Basics". This chapter goes into some nitty-gritty detail about C# classes, exceptions, and all round more advanced C# topics.
Chapter 5 moves into the more exotic areas of .NET that deal with the CLR, IL, assemblies, and the general assembly cache (GAC). This chapter is very helpful if the reader wishes to acquire in depth info of how the .NET environment works. Other discussed topics here are garbage collection, application domains, and the class library. This is one of those chapters that make this book an excellent recommendation for both novice and advanced users of C# and .NET.
The first 5 chapters have made sure the user is very knowledgeable about what Mono is, what .NET is, what C# is, and how all of them relate to each other. They have also explained C# and introduced the reader to its syntax and advanced features. Starting with Chapter 6, the "Practical" bit from the books title starts to kick in quite strongly. If its a book with both theoretical and real world information that you want, then the coming chapters are really going to quench your thirst.
Chapter 6 goes right into the heart of on of .NET's most desired features, Windows Forms. The author explains what Windows Forms is, what GDI+ is, how to implement a good user interface, and gives real world examples of how to do all of that introducing the reader to Windows Forms' various controls. A nice section that is mentioned in several chapters is the "Whats New in Version 2.0?" section that informs the reader about what to expect in the new version of .NET in regard to that particular topic.
Because the author knows that not all people will be using Windows Forms to design their graphical interfaces, he goes into GTK+ and Glade and takes up a complete chapter explaining what they are and how they can be used instead of Windows Forms. Chapter 7 serves as a gentle introduction to the GTK+ and Glade world, and makes sure the uses knows how to pick between Windows Forms and the GTK+ / Glade combination.
After finishing Chapter 7, the user has a very good idea about how to design a complete graphical user interface using freely available tools (Windows Forms in Mono, and GTK+ / Glade using GTK# in Mono). The author now moves on to describe ADO.NET, a heavily used feature of .NET which is also available through Mono. This chapters enlightens the reader and explains all aspects of using ADO.NET in applications to connect and utilize databases. The particular example is geared towards installing MySQL. Explanation is given both for Linux and Windows, which also shows that Mono can be used as a .NET alternative on Windows.
Since XML is constantly referred to as a "hot topic", the author does not let us down and dedicates a complete chapter to discussing XML and Mono. If the reader is new to XML, then he / she will be pleased to find out that an explanation to what XML is and its history is given at the beginning of Chapter 9: Using XML. The chapter deals with looking at XML documents and traversing them. The author shows us a real world example by applying this knowledge to create an RSS feed class library.
Chapter 10 is for those of us with enthusiasm for networking and remoting. This chapter, "Introducing Networking and Remoting", starts by explaining what networks are and their general concepts, then dives into how we can do networking related programming in .NET. We apply this knowledge later on and create an RSS feed handler.
Another heavily used feature in .NET is ASP.NET. Chapter 11: Using ASP.NET, explains what ASP.NET is, how it works internally, and how to use it. This chapter shows the reader how to set up a web server for ASP.NET (both the XSP web server and an external web server) and moves on to show the user how a web service can be written. A lot of readers will find this chapter very useful as web services seem to be an increasing and expanding field right now.
Finally in Chapter 12: Using Advanced Mono Techniques, the author dives into such topics like performance tuning, reflection, and using threads. Advanced readers will particularly like this chapter as it handles some of the "harder" more demanding features of .NET.
This book not only serves as a great learning experience that shows you how things are done in the real world, it also as a general good reference for C#, .NET, and Mono and several of their features. Definitely one you should have in your bookshelf right by your work desk.
I enjoyed reading Mark's book, and I would recommend it to people that are either getting into .NET / Mono or have some experience but would like to further it."
You can purchase Practical Mono from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
And I thought it was about Mono Hi-Fi.
No joke! Many years ago I had the pleasure of listening to a high end valve amp (Radford) hooked up to a Fons turntable, listening to (of all things), Cowboy music, all in glorious mono and the sound stage from the modified AMW speakers (and the submarine battery cables used for speaker wire) was so realistic, so 3D that 'stereo' sounded artificial.
Must of been the direct to disc cut on the vinyl.
So much for 5.1 sound.!
Don't be apathetic. Procrastinate!
Mono . . . Aw, it's not for you. It's more of a Shelbyville idea.