Mono is cool

Archives Forums/Linux Discussion/Mono is cool

D4NM4N(Posted 2008) [#1]
I started playing around with mono and monodevelop last night and wrote my first C# program on linux.

It seems really good. Has anyone tried this yet?

I managed to write a small proaram using IrrlichtNETCP . This C# seems to be quite nice and doesnt have the annoying c++ things like cstrings and the need to dispose everything.

I have not actually tried it yet on windows, but the generated binary.exe that i can run using mono xxxx on linux should just run on windows too (or a mac too by using the mono prefix). Have i got this right or am i missing something? If true then this is awesome!

I assume there is a catch for such easyness? come on, what is it? serious performance hits? instability?
-It just seems too good to be true.


Picklesworth(Posted 2008) [#2]
Indeed, Mono is nice. Particularly, though, ModoDevelop is nice! Probably the nicest development environment Linux has. It's tightly built, easy to use, stable and flexible. It doesn't try to justify itself by piling in useless tools that have nothing to do with programming or that could easily be accessed externally. Instead its tool set is aimed largely at project management, including such goodies as the ability to generate Makefiles, which is fantastic. This makes MonoDevelop more than just a glorified text editor with its own window manager (eg: Every other useless IDE), and actually an indespensable tool that does something I can't get with just Scribes / GEdit and a terminal.
I use MD mainly for C, and I'm quite excited for the Vala bindings coming in version 2. (Vala is C#-like but compiles to C and then machine code. It's targeted at GNOME, with inherent knowlege of the GObject system. It's going to be awesome).
I'm hooked on Python for the easy cross-platform stuff, so I probably won't ever use the Mono bindings except when I'm writing extensions.

I still don't understand the point of having a UI form editor built in there for the Mono bindings, though. Glade does a good enough job already, and makes it as easy as is at all possible. It's only an Alt-Tab away...

There are also the great software projects that use Mono, like Tomboy, Banshee and F-Spot. Nobody knows how it happened, but they are consistently either totally unique or best in class.
There is a performance hit from using Mono (just like Microsoft's .Net implementation), and the benchmarks are rather interesting if I remember correctly. It theoretically can be reasonably quick, and the fact that development isn't by a bunch of loons (*COUGH*Sun Microsystems*choke*) means it will only get quicker. Like any language using a VM, it is nowhere near C speed. However, the fact that an unclever Mono/C# developer makes a much smaller mess than an unclever C developer, as well as how C# is way easier to make quick (thanks to using a VM), this can be ignored for most things. The exception is games, and then only those crazy action-oriented games that use heavy graphics and need super-responsiveness.