LWN.net Logo

Advertisement

E-Commerce & credit card processing - the Open Source way!

Advertise here

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Edd Dumbill examines the growth of Mono, and reports on a recent Mono developer meeting. "The Mono project has a clear goal: to become the first-choice platform for Linux software development. Considering that Mono is an implementation of Microsoft's .NET framework, that goal might sound particularly audacious to many Linux fans."
(Log in to post comments)

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Posted Mar 12, 2004 16:51 UTC (Fri) by pointwood (subscriber, #2814) [Link]

When MS makes a their .NET patents available under terms that satisfies RMS, I'll not be worried anymore, but until then I see Mono as a no go.

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Posted Mar 12, 2004 19:51 UTC (Fri) by elanthis (subscriber, #6227) [Link]

Did you read the article? The patent issue is moot. The patents only apply to certain parts of the API, not the core runtime (which is licensed to ECMA under non-discrimatory terms).

Even if certain widely used (in the Windows world) APIs become patented, that doesn't destroy the usefulness of Mono. Mono still would offer a very high class set of languages on top of a very powerful and performant VM (not to mention the JIT compiler), along with a slew of very useful APIs like C#.

If you don't beliece the usefulness of these, look at some of the C# applications floating around already using Mono and, more importantly, notice how quickly they were developed. Doing the same things in C or C++ would take much, much longer (especially when you toss in the extra debugging time caused by things like memory mismanagement and buffer problems and all that other fun stuff C# gets rid of), and doing the same things in Python/Perl/etc. can result in much less performant code, for applications in which performance matters.

Additionally, even if certain APIs become patented, that will be a small percentage of them, so porting applications between platforms can still be quite easy, at least compared to trying to port a complex C/C++ app that uses platform-specific APIs.

No, Mono/C# isn't a magic silver-bullet end-all ultimate development platform, but it *is* still very useful. I don't think either C nor C++ are going to be dead anytime soon, anymore than Java or Python or anything else killed them, but those latter languages *do* see a lot of use because of the advantages they hold over C/C++ in certain development contexts.

Mono is just another tool in the programmer's arsenal, one many of us are glad we now have. :)

"reasonable and non-discrimatory" terms are a problem

Posted Mar 12, 2004 20:56 UTC (Fri) by JoeBuck (subscriber, #2330) [Link]

Perhaps you missed the recent W3C battles, in which the position of the free software and open source communities was that RAND licensing is not adequate. If Microsoft has promised "reasonable and non-discriminatory" licensing, this still permits it to collect patent fees, as long as the fees are "reasonable"; it just prevents Microsoft from using patents to take competing products off the market. Unless Miguel can point to a firm commitment from Microsoft to allow open source competition, he's playing with fire. He needs to extract a promise of royalty-free terms, with no other restrictions that would bar GPL implementations, before Mono should be allowed into the heart of Linux and GNU software.

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Posted Mar 12, 2004 16:58 UTC (Fri) by rknop (guest, #66) [Link]

Even then, I'm not happy with standards controlled by Microsoft.

If the standards can get hijacked for the community at large, that's another thing.

Right now, at BEST, Mono/.NET could go as far as Java has. But unless the underlying framework is truly free, it will always be at a huge disadvantage.

(Java could well have taken over from C++ by now if the darn thing had just been actually free, instead of only downloadable for zero cost.)

-Rob

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Posted Mar 12, 2004 17:19 UTC (Fri) by ncm (subscriber, #165) [Link]

No, thank you. If C# were the Right Thing for C++, Java would have been the Right Thing, earlier. As it happened, Java never caught on outside of those areas where its use was enforced by corporate directive, and there are very few Java programs meant for use by anyone not already using the language. There are good reasons for this.

The problems that both languages try to solve are not problems that Free Software has. Free Software has much better solutions for its own problems, and has no need to trade off speed, power, and simplicity to solve them. Even portability to non-Unixy environments, the raison d'etre for a CLR, is not compelling: both Python programs and the Python interpreter have always been more portable than Java, to a much more varied range of target platforms.

typo

Posted Mar 12, 2004 17:22 UTC (Fri) by ncm (subscriber, #165) [Link]

Sorry, that should say "the Right Thing for Free Software".

Java != JVM

Posted Mar 12, 2004 19:22 UTC (Fri) by ibukanov (subscriber, #3942) [Link]

I presume by Java and C# in this context you actually mean JVM and CLI, right? Free Software does not need a portable bytecode indeed but as languages Java and C# are very reasonable and much more suitable for GUI and server applications then C/C++ due to supported garbage collection and impossibility to have buffer overflows. IMHO C# even contains enough syntax sugar to make programming in it as productive as in Python while providing benefits of static type system to catch many errors during compilation.

GCJ makes it possible to write Java applications that easily integrates with the rest of Free Software and I only wish Mono guys would take the same approach to C#. And even if Microsoft holds patents to parts of the language itself (which I doubt as C# does not contains anything new, it just put known constructs in a reasonable basket), then dropping those features should not cripple the language.


Java != JVM

Posted Mar 12, 2004 20:21 UTC (Fri) by ncm (subscriber, #165) [Link]

The JVM/CLR and its follies constitute just part of the languages' problems.

Other problems include the poor range of choices for libraries that comes with an immature language. Another (although this has less effect on adoption than it should) is faulty language design, insufficient, for example, to encapsulate resource management, or to localize exception handling. Another is the execution model (independent of VM games) that requires garbage collection, thus big footprint, thus poor cache locality, thus unavoidable sluggishness, and memory leaks (despite the GC) that never get fixed. Another is the unfortunate 16-bit character type, too narrow to represent all the scripts it should, but too wide to represent atomically in a file system.

C++ works better than Java or C# for hard problems, and Python works better for easy problems, and for many hard problems too. There's plenty of overlap between them. Free Software just doesn't need a high-overhead language dropped into the middle of that overlap, unsuitable for either end of the spectrum.

Java != JVM

Posted Mar 12, 2004 21:28 UTC (Fri) by raytd (guest, #4823) [Link]

"...impossibility to have buffer overflows."

I used to know a guy that claimed he could code fortran in *any* language.

My first inclination is to think that for any language to be sufficiently powerful it should never *prevent* one from hanging {him,her}self; However, I don't necessarily think that it should be *easy* either.

"...programming in it [C#] as productive as in Python..."

I've come to love python more and more each time I use it, but I'm still a die-hard c coder. Nothing, and I mean *nothing* gives you the power and flexibily of c when you're coding close to bare-metal. I may be wrong, but I seriously doubt C# or Java (or anything else for that matter) will ever come close to providing the portability, ease of programming *and* performance one gets when coding the high-level in python and the low-level in c.


Java != JVM

Posted Mar 12, 2004 23:04 UTC (Fri) by ibukanov (subscriber, #3942) [Link]

> I may be wrong, but I seriously doubt C# or Java ... will ever come close to providing the portability, ease of programming *and* performance one gets when coding the high-level in python and the low-level in c.

For server software as long as there is C or C++ code there is a risk of buffer overflow. On the other hand Python is often too dynamic and many errors that would be caught in a staically typed language are happen at run time.

Java even with its language design problems and even with only features available currently in GCJ fits network-bounded-server role resonably well. C# could fit even better due to more flexible features. One can argue that functional languages or 100% safe versions of C would fit that role even better but searching Google for "open source Java" gives 5_490_000 results and for "open source OCaml" gives 20_100. Which tells something about amount of open source libraries available in Java and OCaml.

Java != JVM

Posted Mar 14, 2004 9:51 UTC (Sun) by joib (guest, #8541) [Link]

On the other hand Python is often too dynamic and many errors that would be caught in a staically typed language are happen at run time.

Personally, I think that static typing has its place, and that is in low level high performance languages like C/C++. For writing applications in a high level language like Java or python the argument is much weaker.

Write any non-trivial program in Java and it's almost certain that you'll make extensive use of the collections classes. Well gee, say goodbye to your type safety. The only thing that static typing gives you here is lots of type casts all over the place (Ugh!).

But I don't worry that much about the loss of static type safety. Unit tests (you do practice test driven development, now don't you?) will catch type errors, among many other things.

Java even with its language design problems and even with only features available currently in GCJ fits network-bounded-server role resonably well.

Personally, I would like to use python for this task too. But what saves Java, is that there is *a lot* of very high quality open source stuff for almost anything you can imagine. For starters, the spring framework and hibernate will take you a long way towards server-programming nirvana, despite the "over-verbosity" of Java. The only thing in the python world that even comes close is zope, and that is IMHO a bit too weird and un-pythonic. However, zope 3 does look promising, and I'm planning to take another look at zope once it's released.

High-level vs. low-level useless

Posted Mar 14, 2004 20:56 UTC (Sun) by ncm (subscriber, #165) [Link]

For modern languages, the distinction between "high-level" and "low-level" doesn't mean very much. A much more useful distinction is dynamic range -- how hard are the problems it's good for?

For easy problems almost any language will do -- speed doesn't matter, programs are small, and maintenance is easy, so coding convenience is the most important thing.

For hard problems, you need efficiency, apparatus to help organize lots of code, compile-time evaluation to abstract code generation, control of execution details to enable tuning, and effective compile-time error checking to make sweeping changes safe.

Python covers the easy-problem space easily, and reaches far up into hard-problem space. C++ has everything needed for the hardest problems, but is not so convenient to use for banging out trivia. Java and C# fall somewhere in the middle -- way too inconvenient to displace Python, but lacking most of the features needed to take on hard problems confidently.

Java != JVM

Posted Mar 18, 2004 12:05 UTC (Thu) by hjernemadsen (subscriber, #5676) [Link]

Write any non-trivial program in Java and it's almost certain that you'll make extensive use of the collections classes. Well gee, say goodbye to your type safety. The only thing that static typing gives you here is lots of type casts all over the place (Ugh!).

But that is not a problem with type safety, but rather a problem with the Java language. I you do the same thing in C++ you can use the STL-library, which amongst other things provides lists and sets of any type, with guaranteed type safety. So no type casts are needed, and you are guaranteed that you can only add the elements to the list, if they have the correct type.

In my experience having type safety catches many programming errors.

Java != JVM

Posted Mar 14, 2004 17:11 UTC (Sun) by oak (subscriber, #2786) [Link]

> On the other hand Python is often too dynamic and many errors that would be caught in a staically typed language are happen at run time.

If you have proper development process in place, these errors have been catched by your test cases and fixed. Test coverage testing tells whether you have enough test cases.

Or are you claiming that with statically typed langauges testing is not needed? :-)

Java != JVM

Posted Mar 15, 2004 7:39 UTC (Mon) by ibukanov (subscriber, #3942) [Link]

> Or are you claiming that with statically typed langauges testing is not needed? :-)

In a statically typed language you need less test suits since the compiler can do type checking.

Here is an example when test suite is a hard to achive option.

At work I have to maintain a driver of html pages so business data can be submitted autonatically against a web site that useses extremely complex JavaScript and ActiveX mixture in place of vanilla HTML forms. The driver uses a browser library to maintain the state of dynamic DOM and previosly used JavaScript to stuff the DOM with business data.

When the site changes it is critical to update the driver ASAP. Fortunately it is not that hard since the browser library continue to work and it is a matter of finding proper places in the new DOM for the data. Unfortunately any delay in that means that someone has to spend time enetering data manually into MSIE. So you simply can not afford time to create test suits which may not be even feasible since effectively you need a copy of the web site to test properly.

I stopped using JavaScript in the driver when after a couple of trivial mistypes that caused submittion of wrong data. The bug would be caught trivially by the compiler in a static language and now the driver is all in Java.

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Posted Mar 12, 2004 17:45 UTC (Fri) by zooko (subscriber, #2589) [Link]

It sounds like the Mono folks are still falling for the hype from a couple of years ago -- that soon everything would be written in Java.

In fact, Java seems to have crested, and has given a little ground against C++ in terms of job listings during the last 12 months. And of course truly open source upstarts like Python have gained a lot more respect in the last year or so. And of course good old C remains the most widely used language for open source development. And of course functional programming language hackers continue to develop open source tools in their favorite languages. And then there's Perl (and hopefully Perl 6 and Parrot).

Java will never take over the world. C# will never take over the world. And Mono will definitely never take over the world.

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Posted Mar 12, 2004 19:01 UTC (Fri) by stuart2048 (subscriber, #6241) [Link]

Java will never take over the world. C# will never take over the world. And Mono will definitely never take over the world.

It's a shame, really. C is painful in so many ways.

C painful? Upgrade.

Posted Mar 13, 2004 17:00 UTC (Sat) by ncm (subscriber, #165) [Link]

If you had just a choice among C, Java-Gcj, and Mono, it wouldn't be very interesting. However, there are other choices.

Most people have no idea how many of the packages they run are written in C++, because (unlike Java) there's no need to know what they are written in. You unpack them, and they just work. There are nice and safe bindings to C++ for all the GNOME libraries, and of course the KDE libraries start out that way.

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Posted Mar 12, 2004 17:47 UTC (Fri) by danielpf (subscriber, #4723) [Link]

How can free software programmers be enthusiastic for software directed by the most hostile company toward free software? That is beyond my understanding, sorry.

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Posted Mar 12, 2004 20:41 UTC (Fri) by crankysysadmin (guest, #19449) [Link]

As far as I can tell, the only thing Mono has going for it that's at all convincing is Miguel de Icaza. In my opinion, even if license-wise Mono isn't as dangerous as it seems (as de Icaza says in the article), PR-wise it is extremely silly for Linux.

Sorry to be marketing-oriented for a minute, but the whole hearts and minds argument (unfortunately) really does carry weight. If M$ is still perceived to be the industry leader behind which Linux follows/must follow, why would anyone ever switch to Linux?

Not to mention that a development platform can be as cool as you want, but if it's bloated it will allow bad developers to write seethingly bad code. Can't we come up with a development platform that to a greater extent forces people to bring a freaking clue to the party? I mean, I'd use a Mono app if Miguel wrote it, but not the guys I work with. Same with Java.

</rant>

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Posted Mar 15, 2004 20:10 UTC (Mon) by angdraug (subscriber, #7487) [Link]

I mean, I'd use a Mono app if Miguel wrote it, but not the guys I work with.

Don't be too harsh to your guys, and don't overestimate the purely public figure which Miguel de Icaza is. The only real app Miguel wrote that I use is the venerable mc, and it was never known for code quality or stability, and it has gotten much much better since he left it alone.

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Posted Mar 18, 2004 15:37 UTC (Thu) by nix (subscriber, #2304) [Link]

He's done quite a lot of UltraSPARC Linux kernel work in days of yore as well.

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Posted Mar 12, 2004 17:47 UTC (Fri) by mmarq (guest, #2332) [Link]

IMHO Mono want get it until is developed a Desktop shell replacement for Windows

Projects are starting to abound, like ( http://www.colinux.org/ ) for windows interoperability, but what about the most desktop logic ones ??

Like:
http://www.stardock.com/products/desktopx/
http://www.lighttek.com/talisman.htm
http://www.astonshell.com/aston/ss.htm
http://www.litestep.net/

Why there isnt already a Windows KDE or Gnome shell replacement ??...

Sure, its very much missed, common Icons, color engine, menu engine, fonts(?), window controls and basic dialogue widgets, (to name a few)...
...then we could have a common "Open-Source" toolkit meta-framework, and a common Windows shell replacment engine...

Then misture of windows based Machines and Linux based machines could have a common interface,... the windows leveling force will be faded away... and projects like Mono could rock, if M$ dont start(like before) a incompatibility or a litigation program...

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Posted Mar 12, 2004 18:41 UTC (Fri) by josh_stern (guest, #4868) [Link]

My experiences with Java can be summarized as follows:

Pro: Can download one or two big packages that have a bunch of
well documented libraries that work nicely together with threads,
runtime class loading, and exceptions more or less across
platforms. The fast compilation speed is also a plus.
The virtual sandbox for applications is greate for apps where
sanbox code runs fast enough to be usable.

Cons: Important chunks of the package can't be directly
distributed to others; overall amount of high quality
libs is much less than for C/C++; footprint is large and
speed is slow compared to C/C++ for *some* types of applications;
the virtual OS layer that is provided is lowest common denominator
and can't be extended within Java itself; the GUI libraries
(both AWT and Swing) are poorly designed and can't be replaced
within Java itself.

IMO, app development within both C/C++ and Java or C# could be
improved if some of the open source tools for cross platform
C/C++ that are out there now-e.g. glib, ACE, Mozilla/NPSR,
gtk, Swig, Boost, etc. could be integrated in a best of
breed framework that would provide a stable virtual OS
layer and libs with at least the functionality of Java 1.2.
This would give C/C++ developers many of the benefits of
Java and would enable developers of new virtual machine
platforms like Mono a large base of functionality
that wouldn't need to be reinvented and re-coded.
Furthermore, if the virtual platform contained binding
to the most complete and extensive virtual OS facilities
provided by some of these libraries, it would be much easier
for developers in those languages to build the extensions
they need within the language itself.

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Posted Mar 13, 2004 12:25 UTC (Sat) by salsaman (guest, #3671) [Link]

As a Linux developer, I see no need at all to use mono. The tools I have already are adequate for my needs.

If I want to write something for speed, I use C. For cross platform apps, there is Java or Python.

This standard is used under a "Reasonable and Non-Discriminatory License". In other words, Microsoft can start charging for it at any time.

So why should I use a language that offers no real advantage, and which I could be asked to pay for at any time ? Because it has a 'nice IDE' ? Get real.

Does anyone really think that a company which supports and funds SCO could really be doing this out of kindness to Linux developers ?

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Posted Mar 13, 2004 20:07 UTC (Sat) by einstein (subscriber, #2052) [Link]

2 words: patent minefield.

If you think the sco lawsuit is a pain, just wait until microsoft starts their litigation assault, based on their .net patents.

For this reason it is crucial that there continue to be a viable, healthy kde presence - let the ximian boys play with .net if that amuses them, but let's make sure we don't put all our eggs in that shaky basket.

If mono is successful, microsoft will launch the .net patent wars, and kde will quickly become the defacto linux desktop standard.

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Posted Mar 15, 2004 2:14 UTC (Mon) by bojan (subscriber, #14302) [Link]

> 2 words: patent minefield.

Yep. Scary stuff.

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Posted Mar 14, 2004 5:02 UTC (Sun) by huffd (guest, #10382) [Link]

Mono may not ever become the tool of choice for Linux, but reviewing the comments from others I think their comparison between Java and C# is what people are getting hung up on.
Java has peaked and is now on the decline (much faster than the rise).

The main problem initially to generate interest in Java, deals were struck in smoky back rooms, money changed hands, wink and a nod the whole 9 yards. To keep it on top requires constant infusion of news worthy success stories which means someone somewhere spent a lot of cash.

Now C# comes along, a direct knock-off of Java. This time however it is Microsoft that does the introduction. Bottomless pockets they can shell out the green until hell freezes over to keep their project on everybodys radar.

Whose boat do you think is going to sail further, fastest?

Windows to Linux server migrations of C# and .Net projects will NEVER happen unless there is some way to do it. In comes Mono, a little ray of sunshine.

What does Mono cost the Linux community? Wait let me re-phrase that, what do you fear to loose by Mono's existence?

While you're all sitting around with dour faces, expounding on virtues of your pet language, understand that Java would never have become the preferred language on Linux and most doubt that Mono would either.

But ask yourself, what if it did? Damn, all those open source windows applications could run natively on Linux..wouldn't that be a heart-breaker?

Total Rubbish

Posted Mar 14, 2004 13:32 UTC (Sun) by davidl (guest, #12156) [Link]

If it does, Linux fails, but it is highly doubtful. There are a lot of awful things that Microsoft are doing to .NET to make it into a general purpose programming environment. Microsoft can just about manage this - Ximian can't. Through weight of numbers, rather than patents, Microsoft totally controls the development direction of .NET, and henceforth, Mono in any incarnation.

There are no serious deployments of Mono - period. Miguel de Icaza and Nat Friedman have been talking about deployments of what they are doing for years and it is totally evident that it just isn't happening. It sounds like Miguel is trying to justify this expensive vapourware (and non-ROI vapourware at that) to Novell more than anything else. For crying out loud, Microsoft is trying to get some serious deployments of .NET!

Developers were able to take their ASP.NET web applications and run them under Mono, after a little accounting for a few pieces of non-portable code.

What utter rubbish! Who in their right mind is going to take their brand new ASP.NET code, brand new Windows 2000/2003 servers and trash them to move to Mono? If someone has already made that investment when I take a new job, whatever I feel about Windows, I just can't throw everything away on a whim. If Mono/ASP.NET is indeed taking over then why aren't people throwing out their PHP/Java implementations?

From conversations with some of the early adopters at the meeting, it's plain that the Windows migration strategy is working.

Since .NET is so new, and no one is really using it, I highly doubt that anyone that has moved to .NET will then suddenly decide to move to Mono after such a short space of time. That is total BS.

There's benefit to them in more implementations of the common runtime, but the wholesale duplication of Windows APIs is causing them some concern.

.NET are not Windows APIs - those are still COM with .NET wrappers. Longhorn will merge .NET and Windows APIs, and that will be damn near impossible to pick apart.

A great deal of serious end-user application coding on Linux still goes on in C or C++. Using Mono vastly reduces the amount of boilerplate code that must be written, along with the opportunity for bugs to creep in.

That already exists, and you can compile natively, which will be highly important for many applications. You can't do that with Mono. You will be able to do that with Longhorn .NET, but it will happen transparently. As a Windows C++ developer, that is what I want to see.

So far, there's a surprising enthusiasm for Mono and C#. Perhaps the respect Miguel de Icaza and Nat Friedman command makes developers willing to try Mono.

It seems as though this guy wants to get down and kiss their feet for some reason.

The expectation for GNOME 3.0, however, is that a lot of the platform will use Mono, rather than the C implementation it has now. While no formal announcements have been made to this effect, it seems to be the strong hope of Ximian personnel.

Well it would be wouldn't it? I doubt whether some people will take kindly to this, especially given Miguel's promise that it would not happen like this:

http://linuxtoday.com/news_story.php3?ltsn=2002-02-06-011-20-OP-GN-MS

The Windows migration stuff is just total rubbish, simply because there is not enough people using .NET to migrate from. I've never heard such rubbish as migrating people from a future Microsoft technology. Past yes. Future? Are you a masochist? Linux technologies need to create mindshare on their own I'm afraid, and Mono is doing, and will do, an incalculable amount of damage to the prospect of widespread Linux-desktop usage. However, I suppose saying that you are developing an open-source version of .NET is fashionable, creates a lot of media interest, attracts venture-capital and makes it look as if you are actually doing something :). Maybe I'm missing the point.

Unfortunately, there are, however, a lot of other things people need to migrate from, that perhaps aren't quite as fashionable :), that need to be addressed, and haven't been, rather than hyping this meaningless piece of vapourware. Makes sense?

This article is total and utter BS, and the writer has obviously got suckered in. Dumbill. He deserves that name.

Timeline view

Posted Mar 15, 2004 2:32 UTC (Mon) by bojan (subscriber, #14302) [Link]

Sometimes I view choices of programming languages and development environments through a timeline perspective. When a new type of problem occurs in programming, it is usually solved by quick and dirty first, read scripting. Later on, a more mature implementations displace it, done probably in some kind of intermediate language, Java/Python style. Even later, a full set of solutions written in C/C++ displaces almost all previous efforts, due to its unparalleled perfomance, low memory footprint etc.

I sometimes try to imagine a situation where all software on my system (apart from the kernel) would be Java (or Python, or other similar language) based. My bet is that such a system would be at least 3 times (possibly even 10 times) slower than any current Linux distribution. The reasons for the poor performance would be VM issues, increased memory usage, unnecessary bounds checking, unnecessary exception constructs and so on. Your garden variety "make my programming experience a pleasant one" things. Nice for programmers, not so nice for people that use the applications.

In other words, it pays to write things by hand in a "bare metal" programming language. It is painful, it opens up the possibilities of security issues, memory leaks and what not. And yet, it is the only way to get decent performance on today's hardware. And when I say performance, I mean relative performance. Of course, Java programs run much better on on 3 GHz CPUs then on 200 MHz CPUs. However, users only see the relative performance to other applications. Maybe one day, when this relative performance becomes be as small as the difference between 3 micro seconds v. 1 micro second in real world applications, middle level environments will be in the position to completely (or largely) displace the "bare metal" environments.

As for Mono, I don't care for it much. I doubt anything that comes out of Microsoft. They are primarily about making huge amounts of money on software, so making sure things are interoperable, freely available, documented etc. doesn't seem like their first priority. It also could be a patent minefield, as some other people pointed out. I'll give it a miss.

Timeline view

Posted Mar 15, 2004 2:40 UTC (Mon) by bojan (subscriber, #14302) [Link]

> As for Mono, I don't care for it much. I doubt anything that comes out of Microsoft.

The above is not very clear, sorry. I'm not saying here Mono is an MS product, of course. Only that is it an implementation of some of their specs. Microsoft would not be Microsoft if the didn't throw a few wrenches in, just to prevent easy porting, interoperability with their real world apps etc.

Will Mono Become the Preferred Platform for Linux Development? (O'ReillyNet)

Posted Mar 15, 2004 15:16 UTC (Mon) by meyrat (guest, #6103) [Link]

Did you ever ask you, why MS was forced to develop .NET? At that time (at least) they
believed in the future of Itanium and that would break compatibility, the thing MS did a
really good job and that for people love MS. To save compatibility with different CPUs -
and to be free for substantial changement on the OS - they introduced .NET. Free
software just does not have these Problems and so does not need MONO.

Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds