Advertisement

Opinions on Mono?

Started by June 21, 2003 03:25 AM
20 comments, last by Oluseyi 21 years, 4 months ago
quote: Original post by -vic-

You want to write software that runs in Linux and Windows? Use Java .



I never said I wanted to write Linux/Windows compatible software right away.

However, even if I did, I''d avoid Java. Java''s versioning support is next to nil (filename-based), side-by-side Java installs don''t work, and Sun''s JVM often sacrifices speed for the "purity of Java," i.e. everything is an object...unless you use JNI, which lets Sun get away with what they are lambasting .NET for...the ability to run native code. With .NET, I can lock to certain versions of assemblies, and if they aren''t installed, I can install them without worrying about overwriting an assembly being used by someone else, or just include them with my application in my product''s directory. If I''m worried that Mono 1.1 or 2.0 will affect my product, I just have to put a single line in my app''s .config file and my app will always run on Mono 1.0 exclusively.

In addition, my testing responsibilities would increase exponentially. I''d have to test not only on multiple Windows installs and multiple Linux distributions (and with Java [until Rotor for OSX finally matures], Mac), but multiple JVM''s from multiple vendors to ensure that there aren''t any platform-specific or JVM-specific optimizations that affect my performance.

So right now, my choices are C/C++ with a ton of #ifdef''s in my platform-specific source files, or wait for Mono to be done.

I''ll wait for Mono.
Michael Russell / QA Manager, Ritual EntertainmentI used to play SimCity on a 1:1 scale.
quote: Original post by RomSteady
quote: Original post by -vic-

You want to write software that runs in Linux and Windows? Use Java .



I never said I wanted to write Linux/Windows compatible software right away.

However, even if I did, I''d avoid Java. Java''s versioning support is next to nil (filename-based), side-by-side Java installs don''t work, and Sun''s JVM often sacrifices speed for the "purity of Java," i.e. everything is an object...unless you use JNI, which lets Sun get away with what they are lambasting .NET for...the ability to run native code. With .NET, I can lock to certain versions of assemblies, and if they aren''t installed, I can install them without worrying about overwriting an assembly being used by someone else, or just include them with my application in my product''s directory. If I''m worried that Mono 1.1 or 2.0 will affect my product, I just have to put a single line in my app''s .config file and my app will always run on Mono 1.0 exclusively.

In addition, my testing responsibilities would increase exponentially. I''d have to test not only on multiple Windows installs and multiple Linux distributions (and with Java [until Rotor for OSX finally matures], Mac), but multiple JVM''s from multiple vendors to ensure that there aren''t any platform-specific or JVM-specific optimizations that affect my performance.

So right now, my choices are C/C++ with a ton of #ifdef''s in my platform-specific source files, or wait for Mono to be done.

I''ll wait for Mono.


lol, the fact that in Java everything is an object is one of the things that i just *love* about Java... but anyway, i''m not gonna discuss about Java.

Victor.
c[_]~~
Advertisement
I think it''s probably a waste of time. It doesn''t provide anything sufficiently new to warrant all this development.
---New infokeeps brain running;must gas up!
quote: Original post by -vic-
lol, the fact that in Java everything is an object is one of the things that i just *love* about Java...

Yeah, and it''s sooo easy to put an integer in a collection...


AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.
--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
quote: Original post by Flarelocke
I think it''s probably a waste of time. It doesn''t provide anything sufficiently new to warrant all this development.

And your statements are of course based on your extensive experience with the platform?


AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.
--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
quote: Original post by Arild Fines
quote: Original post by -vic-
lol, the fact that in Java everything is an object is one of the things that i just *love* about Java...

Yeah, and it''s sooo easy to put an integer in a collection...


AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.



Huh? What''s so hard about it? Like... c.add(new Integer(1)); Boy, that was so hard... Oh come on, let''s not discuss about Java anymore...


Victor.

c[_]~~
Advertisement
quote: Original post by -vic-
Java is a standard de facto, instead. Java was on its way to the ECMA, but Sun abandoned the process, for a good reason. The reason is that Sun was afraid that making it ECMA standard would cause some Java programs to not work on different enviroments.
That doesn''t make any sense. How does ECMA standardization prevent Java programs from working on certain platforms any more than "de facto" standardization does?

quote: Microsoft isn''t very interested in the "write once, run anywhere" the way Sun is. In my opinion, Java already is open enough.
You are entitled to your opinion. I don''t trust Sun much either, so anything that is proprietary, especially if it may become a critical component of global information infrastructure, is not as good as anything that is non-proprietary/open.
So... uhm, yeah. Everyone who's used .NET, raise your hand.

(Raises hand)


So, for the microsoft platform, there's something called COM that you can do a whole bunch of cool stuff with. You don't HAVE to use it just to make cool stuff, but it itself is cool. People didn't really understand the point of it, but there it was nonetheless. The people who said "hmm, let's see what we can do with this?" found out all the cool stuff, and the people who didn't went happily on their way.

And now there's this .NET stuff. It's sorta like MFC (except it doesn't super bloat your stuff and isn't a pain in the %%#%^)... and sorta like COM (you can do a whole bunch of the same cool stuff), and there's a lot more that's just a bunch of stuff that doesn't really make sense to put all under one name. But you don't HAVE to use it. The people who've used it usually find it's pretty darn cool. The people who don't aren't left out, either.

[edited by - Nypyren on June 23, 2003 4:47:03 AM]
quote: Original post by Oluseyi
quote: Original post by -vic-
Java is a standard de facto, instead. Java was on its way to the ECMA, but Sun abandoned the process, for a good reason. The reason is that Sun was afraid that making it ECMA standard would cause some Java programs to not work on different enviroments.
That doesn''t make any sense. How does ECMA standardization prevent Java programs from working on certain platforms any more than "de facto" standardization does?

quote: Microsoft isn''t very interested in the "write once, run anywhere" the way Sun is. In my opinion, Java already is open enough.
You are entitled to your opinion. I don''t trust Sun much either, so anything that is proprietary, especially if it may become a critical component of global information infrastructure, is not as good as anything that is non-proprietary/open.


Ok, i agree that maybe Sun was stupid to not open Java. But still i kinda understand why they didn''t open it... to be sure Java will work OK on every platform it''s a lot easier if you have more control over the JVM''s running in these platforms, and that''s why they didn''t want to open Java.

Victor.
c[_]~~
quote: Original post by -vic-

Ok, i agree that maybe Sun was stupid to not open Java. But still i kinda understand why they didn''t open it... to be sure Java will work OK on every platform it''s a lot easier if you have more control over the JVM''s running in these platforms, and that''s why they didn''t want to open Java.

Victor.


Given the sheer amount of testing required to ensure that the differences in event firing orders, core libraries and race conditions in the processor- and OS-specific threading models takes, I don''t think they''re doing a good job.

Sun wanted to maintain control of Java. By handing Java over to a standards body, they were afraid that they would relegate themselves to the sidelines because beyond the platform, Sun doesn''t give much of a value-add to the platform. They would have to shift gears from creating and maintaining the platform to adding to the platform.

Microsoft had no problems handing the base of .NET over to ECMA/ISO because they have several value-adds. Examples: the full Framework (not just the BCL); the Visual Studio .NET toolset; interop with Office 2003, SQL Server v.Next, and Windows Server 2003. In addition, rather than lock it down, they have other development tools manufacturers (Borland/Interbase, for example) developing tools so that developers can create .NET applications in their language of choice. I know many Delphi developers who are really looking forward to Delphi.NET (doubtful that will be the final name). Ximian is simply giving them not only a choice of language, but a choice of operating systems.

So, let people choose. After all, isn''t choice one of the tenets of the Linux movement? Or is it just "any choice but Microsoft?"
Michael Russell / QA Manager, Ritual EntertainmentI used to play SimCity on a 1:1 scale.

This topic is closed to new replies.

Advertisement