in Search
Welcome to Neopoleon - Sign in | Join | Help
Navigation: Home | Forums | Galleries

Jim's Mono Survey

As I mentioned in my last post, I haven't been reading blogs lately. My bad, as I missed something good.

Jim had mentioned that he might be putting up a survey about Mono (Miguel de Icaza's blog here), and it turns out that he went through with it.

I figure that it's sort of my civic duty to respond, so here we go...


The Mono Survey

[Note: I'm not including a list of all available answers - rather, I'm including the question itself and the answer that I chose which best fits how I feel - in cases where there wasn't an answer that came close to how I feel, I made my own up]

1) Is Mono...
A) Good for developers. Why?

I'm a fan of having choices. Whether that means choices between different brands of bubble gum, or different brands of development platforms, I like 'em. Choices are good.

2) Is Mono...
A) Good for Microsoft. Why?

Mono does quite a few things for Microsoft that I would consider to be "good." Here are a couple...

- Goal: Spread .NET adoption

If the people you're trying to sell your product to don't trust you on any level, then you have some problems. You have to earn their trust somehow - you have to start building a relationship somewhere. With Mono, there's the commonality of .NET between MS and the OSS world, which is at least a place to start.

If a few OSS devs use Mono and think, "Hey - this MSish stuff isn't so bad," then that's a big win for Microsoft.

- Goal: Drive more developers to .NET on MS platforms

Obviously, I think it's great that Mono will expose OSS devs to a development platform that has its roots in Redmond, but that doesn't do my company a whole lot of good if development stays off of MS platforms.

With Mono experience, OSS devs now have a migration path. I know that a lot of the excited talk in the OSS world is about migrations to *nix, but my reaction to that is a position of skepticism.

Mono is an incredible project. However, there are so many advantages to developing with .NET on an MS platform that it's kind of nuts.

The IDE, for example, is a place where MS kicks butt. Sure, sure, sure - some of you out there have some serious gripes about VS.NET, and you'd rather use notepad/vi/emacs/pencil and paper/rune stones/whatever. There are always people who don't like a particular product.

However, for so much of the kind of work that goes on in typical business development, VS.NET does a great job, and VS 2005 is going to do much better job.

If I were a *nix developer who was truly interested in a positive dev experience rather than making a political statement, and if I had some experience with Mono, and if one day, just out of curiosity, I decided to give VS.NET a go, I don't see what could possibly drag me back.

MonoDevelop is cool, but it doesn't hold a candle to VS.NET.

In that way, Mono is potentially great for MS.

3) Do you think Mono infringes on Microsoft's intellectual property rights for .NET?
D)
I'm not a lawyer - I can't even begin to respond to this question (I made this answer up) Why?

People like to speculate on topics like this one, but it doesn't do much good. Without a freakishly thorough knowledge of .NET, of Mono, of the way the two were built, of the patents involved, and about a bajillion other issues, you're kind of screwed.

4) What do you think about the viability of a Mono-based solution?
B) Ready today (or soon) for prime time. Why?

There are real Mono deployments out there on some real scale.

I was talking to Miguel about this at O'Reilly's OSCon several months ago, and was very impressed by the accomplishments of Mono in the real world.

It's not for everybody, and, in fact, probably isn't for most people, but if you're that interested, and if you're willing to do the work, then Mono is definitely ready to go.  

5) Do you see Mono becoming a viable web application environment? 
C) Already there. Why?

A perfectly good example is Question 90 from the Mono Technical FAQ:

Q: Does Mono support ASP.NET?

Yes.

Mono supports ASP.NET, we have shown an unmodified IBuySpy installation running on Mono as well as various other programs. You can try it yourself downloading the XSP server.

6) Do you see Mono becoming a viable desktop application environment? 
D)
 Sure (I made this answer up) Why?

With GTK#, QT#, Cocoa#, and others, the Mono world has several solutions out there for desktop development.

It's not really easy to develop with these toolkits, but that's another story. It's still going to be significantly easier than C++ing your way to baldness and late nights of forgone food and personal hygiene.

When I used to do work in *nix environments, I never considered writing desktop applications. Everything was server side.

That said, with Mono, I would at least give it a chance if I were asked to do it again today.

7) Do you think Mono is a threat to the Microsoft Windows platform?
A)
No. Why?

I see Mono as being of great use to *nix developers who are losing their patience with trying to write desktop applications in C++ (and other arcane languages).

There is a lot of pressure in the OSS world to use "cool" technologies (i.e. whatever you don't understand, and what everybody else pretends to).

Eventually, though, there's a desire to just SHIP THE GOD DAMN THING. Modern languages like C# allow you to do that.

That, of course, raises the question of "Why not just use Java?"

To that, I have a very simple answer: Because Java is a bloated, academic piece of overarchitected shit. When I was doing Java development, I had the same thoughts over and over: "Why does String seem so incomplete? Why do I have to do all this boxing and unboxing myself? Why can't I just have properties? Why can't I have these things, but I have my choice of 95 different XML parsers?"

It drove me nuts that the movers and shakers in the Java world were more concerned with looking intelligent by sitting around and discussing the benefits of utterly retarded academic theories than just giving me the bloody productivity that I need when I'm actually working, which is something the Java Inner Sanctum must never do since THEY'D ALL GO ASS-FLAMING CRAZY IF THEY EVER HAD TO TRY AND USE ALL THIS WEIRD ESOTERIC CRAP THEY COME UP WITH AFTER DOING A LOT OF HALLUCINOGENIC DRUGS AND HAVING THEIR SICK ORGIES.

OK - I don't really know about the drugs or the orgies, but it sounds cool.

We all need drugs and orgies every now and then.

8) Will Mono provide "write once/run anywhere" ability (as in a run on Mono/Microsoft .Net without re-compiling)?
A)
Never. Why?

Ha.

Hee hee. Ho. Ha.

Ha ha. Ha ha ha ha. HA HA HA HA. HO HO HO HO HO HOA AH AHOAOHA HAO AHAHAHAHAH HAO HAO HOHOHOHOHOH [gasp] HO HO HOH O HA HA AHO HHEEE HEE HEEE HEEE HEE HO HO [wheeze] HO HARF HARF HA HA HA HARFFITY HO HO HO HO [gag] HIP HIOOF HA HA HA HA HA HA HA HA [gag, cough] HEE HEE TEE HO HO HO [cough, cough, gag] HAR HAR HAR HEE HOOOOOOOOO HA H AHA HA HA HA HA HA HA [cough, gag, *puke*]

Ha. Ha ha.

Ho.

That was a good one. 

9) Do you use Mono for production applications?
B) No. Why?

I love .NET, and I love developing .NET apps on Windows.

My interest in *nix and OSS nowadays is just nerd curiosity.

Given that I'm almost always really pressed for time, I like to do things in the way that allows me to get them done the fastest. For me, that's VS.NET on Windows.

Period.

10) Any other comments?

I like gladiator movies.

Published Monday, October 11, 2004 6:56 AM by Rory

Filed Under:

Comments

 

Andy said:

"Why not just use Java?" - People who ask this question have probably never had to use Java in a commercial app.

I use Java a lot because I work on embedded stuff quite a bit now days like phones and such for our company. J2ME is the biggest steaming pile of sh!t ever in the history of the Universe. I f#cking hate working with Java.

I came from a C background then learned C++. People say C++ is bloated (and rightly so, it really is) but Java makes C++ pale in comparason when you talk about sheer useless bloat. So far to date the only reason I have ever wanted to use Java over C++ (and yes, I can and do develop full GUI's in both) is for threading. Java has C and C++ beat hands down in the threading dept.

All that being said I work on both Unix and Windows here at work and we write our stuff in ISO compliant C++ and it compiles on both. Sure Java may run on both too but the GUI's in Java look good on one but suck on the other where as the C++ GUI's look good on both but require recompiling. I'd rather recompile than throw Java at a project any day if given the choice.

I wish Nextel would catch a clue and start allowing C++ embedded apps back on their newer phones cause I'd switch back in a heartbeat. So would I use Mono? No, not for what I do. I write systems level stuff mostly, drivers, embedded apps, etc. So since I wouldn't use C# for that ( per MS's recommendation no less ) I have no reason for using Mono. But that's just me I can see definitely how it would appeal to other folks doing a different type of work.
October 11, 2004 1:27 PM
 

Ryan Rinaldi said:

Your RSS is all sorts of borked. :( Please make-ey work-ey.
October 11, 2004 6:54 PM
 

TrackBack said:

Outwardly Normal 2
October 11, 2004 8:27 AM
New Comments to this post are disabled

About Rory

I *own* this site, you loser.