"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects." (Robert A. Heinlein)

Wednesday, 7 September 2011

Mono-develop on the EEEPC 900

Mono, like many of you certainly know, is the Open source development framework compatible with Microsoft's .NET. I usually work with Java and know almost nothing about .NET or Mono, I so decided to install Mono and it's integrated development environment Mono-develop on the EEEPC to give it a look.

Why mono?

Is not a secret that the use of Mono is widely criticized in some Linux environments mainly because the risk of having to deal with Microsoft's software patents … Software patents risk mustn't be underestimated but, on the other hand, I think that a programmer shouldn't ignore a widely used framework like .NET and Mono is a cheap way to learn about it.

Installation and first project

Installing Mono is a quite trivial task: just matter of looking for it in the Ubuntu software centre. To develop applications with graphic user interface GTK# libraries must be also be installed.


once installed Mono-develop starts showing it's welcome page


from here it's possible to start a new solution (this is how projects are called in Mono-develop). A “New Solution” window opens from where it's possible to choose among the various available templates. In order to do my very first test I did choose the “Console project” template


and here is my first Mono “Hello World”.


In similar mode the GTK# project template provides a skeleton program, with one application window, to begin development of applications with graphical user interface.


the user interface can be coded, like usual, or designed with Mono-develop GUI designer.
Last but not least Mono-develop docked windows can be minimized in a “auto-hide” mode so that they can be expanded by moving mouse pointer over them. A great solution, especially with the small Netbooks screen size.