Post a Comment
The implementation of the ASP.NET 2.0 features is far behind the .NET implementation (no webparts, no masterpages). I have dealed with Mono for 2 years and was usually really disappointed because I could never use the features under Linux that were available for .NET under Windows. Furthermore the .NET/Mono source is heavily influenced by developers with a Windows related coding style: They never think of interoperability with other operating systems and understand the term "interoperability" as the interoperability to other Windows systems. The most projects were developed under MS VS 2005 so you can not open them with monodevelop easily.
Since Java became (will become) open source there is absolutely no reason for me to use Mono as a platform for my website (CMS development). Java is a mature platform independent framework that is well implemented under Linux - Mono definitely not: Bad performance and incomplete feature implementation of the .NET framework.
Mono is a good development tool.
Even if it competes directly with Java, Mono is very useful for porting ASP.NET and Windows applications.
Of course, you don't have the WORA promise that Java has, but then again, SUN always wanted to maintain Java's purity, and while that's very good for portable applications, almost all Java desktop applications are crap ... because of Swing and all compromises made for portability reasons, like the java.io package that's also crap.
And although there are GTK bindings for Java and soon we'll also have quality QT bindings provided by Trolltech, Java programmers are so indoctrinated with the WORA promise that it really doesn't matter.
Not to mention that JNI is really hard to program against as compared to P/Invoke.
Also, many companies haven't switched to ASP.NET 2.0, and ASP.NET 1.0 is a fine framework for a web application.
If you have to choose between Java and C#, there's also the question of taste.
C# has features that are not in Java, and vice-versa, and some people prefer Java, and others prefer C#.
People do not understand that the goal of Mono is not to be 100% compatible with .NET.
The goal of Mono, as Miguel de Icaza said numerous times, is to provide a good Linux platform for applications.
If Java will go open-source, great ... but it would be kind of dumb for all programmers to have only 1 choice when it comes to a high-performance virtual machine that runs on top of Linux.
And I don't know where you have those benchmarks from, but Mono moves quite well compared to Python, Ruby, PHP, and the possibilities for optimizations are endless ... and even if Java will always be faster, Mono already has advantages right now, like lower memory consumption.
Edited 2006-11-10 01:22
All of the new Microsoft products are going to require the 2.0 Framework. So, unless a company has no upgrade plans, they will be installing it. However, having said that, you can install more than one Framework version at the same time.
But, I agree with you that choice is good.
Edited 2006-11-10 03:32
like the java.io package that's also crap.
Have you had a look at the java.nio package?
And although there are GTK bindings for Java and soon we'll also have quality QT bindings provided by Trolltech, Java programmers are so indoctrinated with the WORA promise that it really doesn't matter.
Java Gnome was not popular because of licensing problems with Sun's JRE (which means installing the JRE on any linux distro used to be a hassle)and immaturity of Classpath.
almost all Java desktop applications are crap ... because of Swing and all compromises made for portability reasons
Personally, I think it has more to do with Sun's lack of focus on the desktop and it's easy to see: Just compare the nativeness of Swing's Windows theme versus Qt's theme (both are emulating the native theme).
They only started to seriously focus on making Java a viable desktop application platform in Java 5. However, Java 6 will bring many improvements to Java SE, including better JIT, desktop integration, more-native looking LnF, instant splash screen among other things.
As I remember I tried to use Java gnome bindings for some simple app but I was quickly overthrown by stream of bugs and coredumps that shouldn't even happen in managed env.
I gues it still haven't achieved the criticall mass of developers and users to be seriousely usefull.
gtk# is in that matter much more solution right now.
People do not understand that the goal of Mono is not to be 100% compatible with .NET.
The goal of Mono, as Miguel de Icaza said numerous times, is to provide a good Linux platform for applications.
No it isn't. If that was the goal then they would have looked at .Net, looked at what they could have learned from it, then looked at Java and up and coming languages like Ruby to create a new platform that took all that into account.
They didn't do that because they thought .Net was the greatest thing since sliced bread, they wanted to clone the .Net framework and create a situation where .Net applications could be copied and run under Mono.
Certainly for Novell, 100% .Net compatiblity is the only selling point of Mono, and therein they will always be stuck trying to achieve that non-achievable goal.
Edited 2006-11-10 14:21
"""They didn't do that because they thought .Net was the greatest thing since sliced bread, they wanted to clone the .Net framework and create a situation where .Net applications could be copied and run under Mono.
Certainly for Novell, 100% .Net compatiblity is the only selling point of Mono, and therein they will always be stuck trying to achieve that non-achievable goal."""
... at the expense of anyone who stands in their way.
To be fair, though, I think Miguel *does* think that .Net is the best thing since sliced bread.
And maybe it is good. But that does not mean that it is the best for OSS software.
I view Mono much as I view Samba. I'm exceedingly glad that we have it (somewhat less exceedingly in the Mono case), but wish we didn't need it, and hope that we don't depend upon it any more than absolutely necessary.
Edited 2006-11-10 20:23
Mono 1.2 does not claim to have a complete 2.0 implementation.
But you must not have tried very hard (or in the last 9 months), because master pages is one of the standard demos and standard samples of the XSP download.
Regarding your comment about "Windows style", the entire class library can be built with MonoDevelop (shocking, I know), and it is in fact, simpler than trying to build Mono on Windows.
Linux has always been the easiest platform to get Mono working. So am curious about what kind of problems you had, or even if you had one, or you have not yet mastered the use of "vi" or "emacs" to open a file (which is what I personally use).
Now, you might be referring to the fact that *Windows* developers do not care about MonoDevelop, and that is certainly true. Which is why we are working on having MonoDevelop open Visual Studio project in the future.
In the meantime, you can use "prj2make" to generate makefiles from visual studio solutions.
Now, I get the impression that you are a troll. Becaues there is an open source Java that you could use today, it is very complete, and Sun opening up Java will only make it more complete.
So I doubt that you are actually a Mono user, you seem to be a troll.
Keep cool Miguel!
The masterpages feature is well implemented and I forgot to test it with xsp2 but the webparts feature is definitely not implemented. And under .NET webparts currently working only with IE. So I think, it will be not that easy to implement them in Mono because (currently) it is a MS/IE only feature as many other things under .NET (Windows.Forms).
The "Windows style" (code) statement were ascribed to the most .NET/Mono projects (not to Mono itself) that is nothing unusual because the most .NET devs usually working in a MS dominated environment.
I know about prj2make but as I said: It is *not easy* (not impossible) to open MS VS projects under monodevelop.
You doubt if I am (was?) a Mono user? mono-asp.de is (was) my website running xsp.exe/MySQL on Ubuntu.
And I am not against Mono because I have choose Mono because of the superior .NET/Mono framework design. But the dark site of Mono is the MS dominated environment (as I mentioned: the most .NET/Mono based projects were developed in a MS environment).
Of course your are furious about my statement because Mono is "your" project and it is very difficult to stay impartial in such discussions.
Btw, a troll is not a person that criticizes something relying on facts.
No trolling intended. But...
Is this real 1.2 or release candidate?
Sources are flagged as 1.2 while spec for rpm says:
Source0: mono-1.2.tar.gz
...
Provides: mono = 1.2-rc0.novell
wasn't it said that 1.2 will ship with gmcs merged in mcs (or instead, as far as I got it gmcs was mcs with generics and other 2.0 features)?
Mono 1.2 ships with complete C# 1.0 and C# 2.0 compilers, called mcs and gmcs respectively
does mkbundle now eliminates need for mono installed aka. complete binary or this just works for libraries it depends on, I was testing it long ago, and couldn't do zilch without mono.
one more question regarding inotify? Just my little "conspiracy theory" curiosity:) (I might be even wrong here, if so please do correct me)
Is the implementation of FileSystemWatcher limited to single folder as inotify or does it enable watching subfolders. Later might be a problem when used improperly or without thinking over. limits of inotify are 4096 (or so) watched instances. Which could result in unpredictable problems if not extra specified. Example. Few global locks on very large (or even not so large) storage devices could simply present problem where the first would take all the locks and second would get errors. Just asking this as question, because if I'm right problems could arise with inotify implemented the MS way.
btw. Wonderfull I/O layer solution for crossplatform apps. One big problem is nailed (in ease of creating crossplatform apps) with that. And damn good job in speeding up Windows.Forms
No offence, but your comment and people who modded you up have never been Mono community. By the way, serious coders and developers have no time to waste to disscuss how Novell is bad, how Mono is bad, how it violates patents, how it is evil, how we must boycot it...
Get over it. World isn't black and white, and lot of people doesn't agree with sentiment of Novell/Microsoft deal bashers.
Post Scriptum: FYI, I am not Mono developer, but I use Beagle on Ubuntu, which is very usable right now. I don't use SUSE, because it is so bloated and hard to use. And it is the same for Fedora. However, I dig Novell enterprise stuff like Groupwise and eDirectory. So far there is no plug and play eq. for these apps in free software/open source world.
1.2 has been a long time coming. It is time for celebration. Now that Managed Windows Forms are released we will likely get Mike Kestner back on the Gtk# hacking camp.
Congratulations to all of the Mono team both Novell employees as well as all of the devoted contributors.
Finally, I thank OSNews for always keeping track of this great technology.
Mono will not see more usage until commonly used computers will be equiped with Athlon128 FX-GTO-R Vroom! (tm) Edition or Core 6 Trio 3 Duo 2 and 32GB of ram. It's so slow it's not even funny.
Yeah, it's a flamebait but I think Mono devs should work on making it faster. Java was like that too but now Java apps just use slightly more ram, not 50% of CPU power.
So I've taken a little utility I've written on Windows and tries to run it (using the already compiled assembly).
It worked, although mono doesn't seem to implement the AutoSize property for labels.
I then tried to compile the application using mono. Unfortunately I got plenty of errors.
MainForm.cs(32,4): error CS0117: `System.Windows.Forms.Application' does not contain a definition for `SetCompatibleTextRenderingDefault'
MainForm.Designer.cs(75,4): error CS0117: `System.Windows.Forms.ListBox' does not contain a definition for `FormattingEnabled'
MainForm.Designer.cs(100,4): error CS0117: `System.Windows.Forms.Button' does not contain a definition for `UseVisualStyleBackColor'
MainForm.Designer.cs(112,4): error CS0117: `System.Windows.Forms.Button' does not contain a definition for `UseVisualStyleBackColor'
MainForm.Designer.cs(135,4): error CS0117: `System.Windows.Forms.Button' does not contain a definition for `UseVisualStyleBackColor'
MainForm.Designer.cs(158,4): error CS0117: `System.Windows.Forms.Button' does not contain a definition for `UseVisualStyleBackColor'
MainForm.Designer.cs(163,4): error CS0117: `FolderMerger.MainForm' does not contain a definition for `AutoScaleDimensions'
MainForm.Designer.cs(164,25): error CS0234: The type or namespace name `AutoScaleMode' does not exist in the namespace `System.Windows.Forms'. Are you missing an assembly reference?
MainForm.Designer.cs(164,4): error CS0117: `FolderMerger.MainForm' does not contain a definition for `AutoScaleMode'
To be honest, I built this application on SharpDevelop, using the .NET 2.0 framework. However, I haven't (to my knowledge) used any .NET 2.0 abilities in my application (if these error messages say otherwise, please correct me).
So I'm afraid that Mono is not quite there yet. To me it still seems that Windows.Forms is incomplete.
Edited 2006-11-11 09:15







