“Mono currently doesn’t have an impact on most of my clients,” said Thomas Murphy, VP of research services for Meta Group. “Use of Linux in the enterprise is growing, but most people are using it for Java and if they are comfortable with .Net they generally are comfortable with Windows,” he told LinuxInsider.
well this isn’t really a reaction to this article but on another article I read in .Net Asia Magazine May/June 2004 issue. It’s an “HP Special Report” entitled “Maximizing the Combined Benefits of .NET and J2EE.” The article seems to espouse the idea of moving away from J2EE and implementing systems using .NET, while interoperating them using web services.
The catch is that under a section labeled “.NET: The realities,” it says that .NET is “Operating system dependent: programs can only run on Windows and Linux.” Is this referring to either Mono or dotGNU? Given that HP is co-sponsor with Microsoft on their ECMA filings, is this evidence enough that MS won’t be asking for patent royalties from these open source projects? (my opinion is “no”)
MS and their henchmen seem to be using Mono/dotGNU to espouse the idea that .NET is somewhat cross-platform…they seem to be trying to capitalize on these open source projects as a means to win support from the J2EE crowd…hmmm!
But when the Longhorn application modell (client-side .NET in browers) will spread the linux will dead without mono. If the users can’t use web stores, forums, news portals, etc under linux nobody will use it.
is mono being developed because there is a need? or is it to represent microsoft on linux platforms?
if there is a real need, thats good ofcourse. that means it will be a threat to ms. but ms is probably pushing software to depend on certain .net services.
conclusion: it useless for linux.
Interesting. I’d as soon NOT even approach the situation. It may not end up a Patent, or SCO-like issue, but why even tempt fate? And for what benifit?
“But when the Longhorn application modell (client-side .NET in browers) will spread the linux will dead without mono. ”
Any particular reason why you see near universal adoption of .NET? That’s the only thing[1] that’ll make your dream come true. Otherwise it’s all smoke, and mirrors at this point. And MS already is having trouble with people moving to what’s already out.
[1] Actually I should amend that as there needs to be MS technologies on BOTH ends, for their utopia to come about.
i was able to watch a demo of Longhorn/Avalon/XAML in the Philippines MS DevDays 2004, and I wasn’t impressed. Of course, Longhorn alpha is very buggy, even during that short demo. The demo showed some cool effects (video, text, shapes, images all animated seamlessly) and will definitely out-flash Macromedia Flash
XAML, while cute and probably very useful, will only run on Longhorn (and future Windows versions). What good will that be? I don’t foresee it supplanting HTML. You may notice how many businesses and users haven’t even budged from Win98, how much more could you expect them to spring up lots of money for new hardware (with the so-called 4 GHz CPU and DirectX 9 GPU requirement) just so they can run XAML apps? That’s a great way to alienate yourself from the rest of the world. I can foresee that XAML will be put to good use on enterprises that can afford to standardize on Longhorn across the board. But if you’re after a wide audience, XAML is a no go. That was even what the MS speaker said during the presentation.
I can see that this can be a good opportunity for Mozilla/XUL to upstage Microsoft. Maybe more so if someone can create a XUL plugin for MS IE and even other browsers like Opera
Mono would be nice if .Net was very widely used, but its not, and so Mono is only going to make .Net MORE popular. Encouraging more people to build apps on a technology owned by Microsoft seems an especially bad idea. Mono is only driving us toward a more closed and MS dominated world.
Mono is Microsofts biggest boon in a while, and they didn’t even have to pay for it, the OSS devs did it to themselves!
Devon that is just not true. Mono is based on .net but it extends well beyond the closed source implementation that MS has. Go compare the two stacks yourself.
I say if people want to use Java then use it, it’s a good tool (the same goes for Python, C, etc). On the other hand .net will certainly be a very popular development tool so I only welcome it as a choice for Linux as well. If MS breaks compatibility it still doesn’t change that it’s a really good environment to build applications in (I, like many people, will never ever touch C or C++. I used to mess around in C++ and won’t go back). Choice is the important thing.
As for patents I’m taking the stance of waiting and seeing what Novell has to show (referring to their entensive legal research they are doing on the matter). I think this course is more effective than doomsaying.
When XAML will spear the win98 will disappear. This operatition system not to useable for business because it is not too sercure and the FAT is a stupid joke and not a filesystem. And because it is very important for microsoft IMHO they will be give a way to existing XP users to use XAML.
MS will backport XAML to XP?
The MS speaker in the presentation I attended said that MS will *NOT* backport XAML to XP or earlier versions. Not even a “XAML Lite”. Why? Because MS claims that XAML is very much tied to the new functionalities and features of the Avalon engine which will only be available on…*surprise!* Longhorn.
So doing a XAML will terribly limit your audience. Which is good for businesses planning on wide-scale Longhorn deployment. But not good for someone interested in enabling access to the majority of the Internet
Any particular reason why you see near universal adoption of .NET?
1. The present technologies are not too comfortable. On the client side the javascript is very depend on your browser. The java applets are very unstable and slow and needs installation of JRE for the machine. All the client side a little bit weak. On the server side the java is useable but IMHO the .NET webforms and ADO.NET is more attractive then JSP and JDBC. And IMHO the C# far better language then java.
2. The most of programmers are windows programmers. And the .NET give a easy way to this programmers to create processor-independent applications for a desktop (windows.forms) and for the web (webforms). And the next step the XAML will oblitereate the boundary between this things.
IMHO microsoft can chage this approach. If the spread of XAML depend on “XAML lite” on XP they will port it. And IMHO if the newer versions of XAML will useable only on longhorn or run better on longhorn microsoft will win the battle. And incidentally kill linux, OSX, etc. IMHO this is a good reason for microsoft to create “XAML lite”.
— “Devon that is just not true. Mono is based on .net but it extends well beyond the closed source implementation that MS has. Go compare the two stacks yourself.”
But will everyone who uses Mono avoid the parts of it that are Microsoft owned and patented? Most certainly not. At least dotGNU will be free of such concerns, but either one will still only serve to make MS tech more popular.
Oh, and to LC: If the .Net stuff truly only worked on Windows, then all those online stores and such wouldn’t use it. They are in the business of making money, and that means not turning nearly 10% of customers (on macs, linux, and others) away. Unfortunatly, now that won’t be the case. Don’t you think it would have been better if they didn’t use the .Net stuff at all, and used truly open technologies instead?
Mono will put MS in charge of the future, stealing it away from standards groups. Why can’t anyone see that?
“At least dotGNU will be free of such concerns, but either one will still only serve to make MS tech more popular.”
In your frame of mind how exactly is dotGNU free from such concerns?
There is no doubt in my mind that if .NET makes it cheaper to make applications, then companies will use it. Even for web applications. Webdesigners are used to targetting only Windows users. Why would that suddenly change?
The biggest hurdle in this is the transition period. If Microsoft doesn’t allow legacy platforms (ie. pre-Longhorn) to run the stuff, they will hamper adoption of .NET a lot.
.NET is so technically superior to java and all the other technologies available for linux that people would have to abandon linux in order to stay competitive.
Most of the hosting companies will soon add mod_mono to the list of supported apache modules, so you will be able to deploy asp.net applications on them.
If asp.net were not available for linux, many people would soon switch to a win2003 server from a linux server.
Believe it or not, but most people who run small webshops and stuff on linux do it because it is cheaper and more flexible, and not because they hate microsoft.
But will everyone who uses Mono avoid the parts of it that are Microsoft owned and patented?
In mono the windows.forms, asp.net, etc are separated from the core, GTK#, monodevelop. Let see the download sections of SuSE, Redhat and other binaries.
They are in the business of making money, and that means not turning nearly 10% of customers (on macs, linux, and others) away.
Most of web users are uses internet explorer (~95%). And the most of web pages are designed for IE only. Nobody care with other platforms. If your Mozilla or Konqueror can display the web page it is very good but if not it is not a tragedy, the comfort of the remain 95% and the price of the development is more important then browser and OS independency.
dotGNU is only implimenting the open standards that MS submitted to the ECMA and therefore no longer has control over, while Mono is going beyond that and implementing additional .Net technology that is owned and patented by MS. MS has licensed it to anyone for free, but they still own it, and could change the licensing terms later, charging for any Mono based software that had been developed, including FOSS software.
Here is some related links that better explain my concerns:
http://www.dotgnu.org/danger.html
http://nwc.linuxpipeline.com/showArticle.jhtml?articleID=20300445
I dispute your 95% figure, but even 5% of customers can mean alot of money, and a 5% drop in sales is a damn good reason to either stay with their current setup, or move to something that EVERYONE can use. Why spend more to move to .Net only so you can make less money as a result?
“Most of web users are uses internet explorer (~95%). And the most of web pages are designed for IE only. Nobody care with other platforms. If your Mozilla or Konqueror can display the web page it is very good but if not it is not a tragedy, the comfort of the remain 95% and the price of the development is more important then browser and OS independency.”
So if I’m interpreting this correctly this is just fine with you… right? You have some numbers down – but that doesn’t paint the whole picture.
thanks for the articles and I’ve read many just like it but where does it say that Portable .net is *only* using ecma stuff. don’t they have a full roll out of windows.forms? – was that in the ecma stuff?? I’m looking for that info now after I hit the submit key.
dotGNU is only implimenting the open standards that MS submitted to the ECMA
It is not true. dotGNU also implement windows.forms.
I see a couple of mild references to windows.forms in a very specific context but no standards.
I dispute your 95% figure
It is not my figure, this is the result of the statistics. I don´t know how reliable this number, but the M$ won the browser var. It is sad but true.
but even 5% of customers can mean alot of money, and a 5% drop in sales is a damn good reason to either stay with their current setup, or move to something that EVERYONE can use. Why spend more to move to .Net only so you can make less money as a result?
It is depend on the size of your company. If your company is very big the 5% can be very important. And the other very important thing: the comfort of the 95% can be more important then the remain 5%. If the XAML applications are can be more attractive, easier to use, ritcher and faster user interface then browser independent apps the companis vill prefer it. Remember the “optimalized for IE only” web pages.
This is maybe dated by now but this was pulled from their site. Looks to me like Portable .net doesn’t have an issue using the non-ecma stuff. Guess you shouldn’t say that anymore.
http://www.southern-storm.com.au/pnet_faq.html#q12_1
12.1. Can I use ADO.NET with DotGNU Portable.NET?
The ADO.NET is based on the Mono project’s implementation and also includes some useful SQL providers like NPgsql. This is included in the ml-pnet module of DotGNU Portable.NET.
12.2. Can I use ASP.NET with DotGNU Portable.NET?
The Mono project is already working on some of the necessary libraries, which we hope to support when they mature.
While mono does have MonoDevelop in alpha right now, in reality what is needed is a killer eclipse plugin with a crossplatform gui builder.
But who knows, maybe the sharpdevelop guys will resurrect their SWT port.
I’m sure there will be a lot of ASP.NET development using VS.NET and then deployed on unix servers with mono, but you’re not going to see many windows developers jumping over to linux and MonoDevelop in the near(and probably far) future.
But will everyone who uses Mono avoid the parts of it that are Microsoft owned and patented? Most certainly not. At least dotGNU will be free of such concerns, but either one will still only serve to make MS tech more popular.
Sorry to burst your dotGNU reality distortion field bubble, but dotgnu is implementing Windows Forms and that makes it just as “encumbered” as Mono.
We absolutely need more non-IE browser market share to keep the web healthy. I hope we have enough time for that to happen before IE 7 releases…
I’ve been mostly developing/using windows for many years. But I guess I’m the exception because I wouldn’t mind borrowing what I love about windows and bringing it to linux. vs .net (barring some major features) is the best editor I’ve ever used – and the .net stuff is a lot of fun and really understandable. If monodevelop does for .net on linux what eclipse did (for all it’s platforms) that would be awesome!
“but you’re not going to see many windows developers jumping over to linux and MonoDevelop in the near(and probably far) future.”
while I think this is very true for the corporate environment this is not necessarily the mind set of little developers working at small shops. Also, there are some pretty cool tools you can get and that are coming that may or may not ever get included with vs suite of tools. Many of which come from the java world but I don’t see that as a disadvantage. And perhaps most of them will be useable and /or ported to mono. If java-popularized non-Microsoft tools start gaining ground who knows what will happen with mono (and ms).
NUnit
http://www.nunit.org/
http://nunitasp.sourceforge.net/api.html
NAnt
http://nant.sourceforge.com
NHibernate
http://nhibernate.sourceforge.net/
Draco .net
http://draconet.sourceforge.net/
CruiseControl .net
http://confluence.public.thoughtworks.org/display/CCNET/
Spring .net
http://www.springframework.net/
full portability of .NET is very limited outside of the windows platform. If they want to be 100% compatible they will have a hard time doing it.
“.NET is so technically superior to java and all the other technologies available for linux that people would have to abandon linux in order to stay competitive.
”
This is untrue! C# and everything are so similiar but the portability of .NET is very limited! Furthermore, it takes up more resources! IT may be similiar and IDEAL for the windows platform–but its not for the entire world.
It’s not surperior.
.NET is a marketing spin from M$. IBM and Sun must capitolize on the great things about Java.
But when the Longhorn application modell (client-side .NET in browers) will spread the linux will dead without mono. If the users can’t use web stores, forums, news portals, etc under linux nobody will use it.
I think LC is trolling, but here it goes.
The Internet is not owned by Microsoft. IE might make 90+% of the browser market, but on the server side, Unix/Linux rules. Apache is at 60+%. Many many biggest sites (except microsoft.com/msn.com): Amazon, Yahoo, Google, use Linux/Solaris.
Apache is not going to use .NET anytime soon (if ever). Google or Yahoo won’t use Windows (even if Microsoft offers free licenses).
Perhaps dotGNU is more encumbered then I thought. I still stand by my view however that both dotGNU and Mono are not good things.
As for browser statistics, you should also consider that all Macs shipped with IE as the default browser until quite recently, so thats at least several more percentage points of non-windows users, and getting quite close to 10%. Having IE doesn’t mean you could use windows only stuff.
And to anonymous: Most computer users comfort levels are dependant on things NOT changing. They are used to the way things are done now, and would be uncomfortable if things started working differently, wether or not it might be a technically better way (though that too is debatable).
Apache is not going to use .NET anytime soon (if ever). Google or Yahoo won’t use Windows (even if Microsoft offers free licenses).
Newsflash: mod_mono for Apache implements parts of ASP.NET already today, and of course all of the Mono stack. People will be able to drop a single package (RPM/deb) on their systems and be up and serving pages generated in Mono in minutes, just as they do with PHP or Python. Support from Apache.org doesn’t enter the picture.
This is untrue! C# and everything are so similiar but the portability of .NET is very limited!
It is not true. C# far better language (properties instead of idiotic getter/setter functions, operator overloading, etc). And the source also closed. If SUN become bankrupt (and IMHO it is not impossible) nobody know what happen with Java. Remember to the big american linux distributor named Caldera…
.NET is a marketing spin from M$. IBM and Sun must capitolize on the great things about Java.
Oh give it a rest already. I guess all those .NET sdks and runtimes are just MS spin too. Nobody is buying your ignorance. I like Java and its better from a crossplatform point of view, but I feel that C#/.NET is technically superior .
This is untrue! C# and everything are so similiar but the portability of .NET is very limited!
.NET has quite a few things going for it compared to Java. For one, MS isn’t pussyfooting around when it comes to extending the and VM Doing Things Right(tm). Sun is making some really shortsighted solutions right now for instance regarding generics. The syntactic sugar solution they’re pushing is going to come back and bite them on the ass a couple of years down the line, it’s like they’re not at all interested in improving their VM. .NET on the other hand is moving towards a completely general purpose VM.
Let’s face it: People care a whole lot more about native looking solutions over platform independence. Java on the desktop is dead as a doornail, with the exception that is Eclipse (no thanks to Sun). Mono runs on all platforms that matter and is quite possibly the best thing to happen to Linux application development in a long time. Any OS X/Windows portability is just sugar on the top.
Is a decent eclipse plugin which at least gives most of the stuff you have in java, that means syntax coloring, code preview and refactoring, before that, only die hard fans will touch it.
About the vm issues, as far as I know, IBM And Sun are working currently on a general purpose VM for supercomputers, the current JavaVM does it´s job, probably due to the minimalistic approach it takes it is very flexible, but I assume we will see that fruits of the IBM/SUN VM in the long run will trickle down into java.
As for what happens if Sun goes bankrupt. Not a big deal.
First of all Sun does not have full control over Java anymore. The JCP a consortium where basically every big company, and lots of private developers (it does not cost a fortune to become a member) except Microsoft participate in. Second probably the instant Sun has problems with maintaining java, IBM will buy the developers from Sun, they have too many investments in the technology and too many customers to let it die.
Besides that Mono is not the only project which tries a clean room implementation of a closed source language (well java is semi closed source, a few NDA click throughs and you have access for free to the full java source)
there are projects to do a clean room implementation of the vm and the class libs (project classpath comes to my mind, which in the long run will run on parrot)
basically the state of a real open source java is around the same level as mono, but does not really get the huge press mono gets. In the long run having a real opensource VM like parrot, a real clean room class path lib like classpath and a decent opensource compiler against parrot might be the way to go.
basically the state of a real open source java is around the same level as mono, but does not really get the huge press mono gets
And there are very good open source Forth implementations…
Right now there are no known patent issues with either DotGNU or Mono.
There are however differences in how the two projects approach the possibility of MS possibly having some dirty tricks up their sleeves.
DotGNU will fight. We have a strict policy of not using any patent-endagered stuff internally. Providing it for compatibuility purposes should be ok legally even in the US, even if MS has or gets a patent. (Anti-trust law limits what patent holders can do; if the patent holder is guilty of “patent abuse” it’s legally ok to ignore the patent to some extent.) In the worst case some compatibility features will be available only outside the US. The important thing is that the GPL guarantees that no company can ever buy a patent license from MS and use it to make any part of DotGNU proprietary software.
Mono/Novell has publicly stated that if MS says that a paid license is required, they will buy one. Yes, the affected parts of Mono would stop being open source, they’d become proprietary Novell software. That is undisputed. The question is just how much of Mono could be affected. Bruce Perens has expressed concern that the affected parts could be so significant that in effect all of Mono might become proprietary: “I’m concerned that Mono may eventually be proprietary Novell software rather than open source, simply because there will be too many patents involved that require royalty licensing” (source: http://nwc.linuxpipeline.com/showArticle.jhtml?articleID=20300445 ) The root of the problem is Mono’s use of the MIT X11 license for their class libs; that license does not protect the code from being turned into proprietary software by means of royalty-requiring or otherwise discriminatory patent licenses. (Even if Novell changes their mind, some other company could buy a license from MS, thereby making Mono *their” proprietary software. The MIT X11 license really is a foolish idea when the reasonable thing to do is to get prepared for the possibility of MS trying to use some patents to make a SCO-like attack. Oh, and by the way, the idea of using this endangered codebase in GNOME is probably the worst idea of the millenium.)
its mind boggling to see the amount that people have bought into microsoft marketing hype. .net is not superior to java, not by a long shot. there are things .net does better, theres alot more java does better. it will take at least another five years or so for the .net api to even come close to the java one. not to mention security issues. java is the industry standard in enterprise webapps for a reason, it has been proven to be robust and secure. the same cannot be said for .net, and with microsofts track record i doubt it ever will be.
dont let an experience of a sluggish java applet running in IE through the microsoft JVM (something which was intentionally designed to be bad, and which they are no longer allowed to distribute) tell you that java is inferior to .net. theres a huge difference between java 1.2 (which the microsoft jvm is based off of) and 1.5.
forgot to include this link 😉
http://www.manageability.org/manageabilityWiki/WhyJavaIsBetterThanD…
That is an interesting statement. In my company, the directors only became interested in .Net when I let them know that as a backup plan, we can run ASP.NET on Linux. Take the time to think about that one. These are non technical directors (but teckie wannabes). They trust the Linux platform over the Windows platform.
In our experience, Windows is pig slow as a server (especially for database using SQL server). We use AIX and Linux as servers using Oracle database and Apache web server.
Our internal web pages are Windows – but we would like to change that. We are embarking upon a transition to first bring all internal web servers into a central intranet using the .Net environment (dumping SQL server in favor of Oracle). The reason for the ASP.Net direction is to be able to switch over to Linux using Mono.
In a similar vein, we are looking to make the move of changing our agents desktops from Windows to Linux. Currently, a legacy product based on SmallTalk is holding us back. We are currenty rewriting the product so that we can move forward with the transition. The directors were impressed with a demonstration of Xandros’ running the rest of the Windows based products that the agents use.
I don’t believe that a company that is profit motivated is unusual – we are becoming comfortable with .Net in order to eliminate Windows and Windows based products.
if we had a working-like #Develop app in GNU/Linux then everyone would be happier. VS.NET is a great IDE, but #D is a very good freesw alternative, so we can just wait for such stuff to be ported in GNU/Linux.
for me, and for others GLADE is not an option
dont let an experience of a sluggish java applet running in IE through the microsoft JVM (something which was intentionally designed to be bad, and which they are no longer allowed to distribute)
I think you got that backwards. It is Suns JVM that is considered to be sluggish, not Microsoft’s.
And your claim that MSJVM was designed to be bad is pure zealotery. As most of your post.
Norbert Bollow,
Your comments are very interesting. Question though. If they licensed this would probably, or most likely, for the swf and that stuff right? I mean the EMCA stack wouldn’t face that same issue (I know some people maintain there is liability but the chances are slim to none) so that still provides a very good platform for just open source developers (read: my main interest).
I really liked that article. I agree with a lot of what it says. Novell makes heavy use of java (web pages more than anything which now makes up the majority of their administration tools) and I don’t expect this to change so it will be interesting and important to see what they themselves commit to mono. We should remember that they have already committed ifolder and an ldap class library. This is early but still promising. If I had my money to put on it I would say they will start doing client stuff on .net more and all web stuff on java. On the client end they will use EMCA for Linux and swf stuff for windows. I am pretty close with the working of Novell so this isn’t a completely ignorant estimation. Still no one knows but Novell.
NOW ABOUT JAVA VS .NET
I hope no one discounts java as being a very powerful language and a platform we should support and grow on Linux but the same should be the case for .net. I haven’t seen anything to convince me that java is better for client stuff. Just look what’s out there. Generally, unless the application has received many years of development and omtimization, java application run slower and are less usable than normal native programs. Based on my experience .net applications don’t share these same attributes (cross platform isn’t there yet though but it isn’t always there for java either). I hope this will change more and more for Java.
‘I dispute your 95% figure’
“It is not my figure, this is the result of the statistics. I don´t know how reliable this number, but the M$ won the browser var. It is sad but true. ”
The problem with that thinking is that it assumes the “battle” is staying put. It is not. Rich clients is were things are moving to, and there are no “winners” presently there.
cendrizzi asked: If they licensed this would probably, or most likely, for the swf and that stuff right? I mean the EMCA stack wouldn’t face that same issue (I know some people maintain there is liability but the chances are slim to none) so that still provides a very good platform for just open source developers (read: my main interest).
The ECMA stuff alone doesn’t provide a useful platform, so you really have to look beyond that. System.Windows.Forms (SWF) is safe from patent-related trouble because it’s just a translation of old MS Windows APIs to a new programming language. Similar arguments can be made for many (but possibly not for all) of the .NET APIs outside the ECMA spec.
For example even the Basic XML Dom support in System.Xml namespace is not included in the ECMA spec.
Also SWF is essential , as I don’t suppose most .NET programmers will program in Wx.NET or Gtk# or Qt# . For example DotGNU’s primary Client has chosen DotGNU because it has Windows.Forms support running on all platforms.
And dotgnu’s Windows.Forms can support native themeing too . It looks ugly right now , but is heaps faster than some of the native controls in X.
>its mind boggling to see the amount that people have bought >into microsoft marketing hype. .net is not superior to java, >not by a long shot. there are things .net does better, theres >alot more java does better. it will take at least another >five years or so for the .net api to even come close to the >java one. not to mention security issues. java is the >industry standard in enterprise webapps for a reason, it has >been proven to be robust and secure. the same cannot be said >for .net, and with microsofts track record i doubt it ever >will be.
Don’t be ridiculous, .NET is of course better, it was developed after Java so has had the advantage of seeing what Java did wrong and fixing the problems. Personally I wish Java were .NET!
@anon
no, i got it right. the microsoft jvm was an implementation of java 1.1, which not only is years old, but totally and completely unsuitable for gui applications. it was also incompatible with sun java, and preinstalled on all windows machines. microsoft has been fighting java for a long time now, this is well documented, and there are all kinds of lawsuits over it. i would like to know what you base your opinons on…
as for being zealotous, i dont think thats completely fair. i like .net quite a bit, there are alot of stuff about it thats just a pleasure to use. but to compare it to java at this time is just foolish, and if you dont believe me do a comparison of the .net api and the java api. one is a year and a half old platform, the other has been around and used for about a decade.
@cendrizzi
its a popular conception, mostly based on the gui framework (swing). basically, sun made a terrible descision during the design of swing, to draw everything in java itself rather then just calling the native api. there are some advantages to this, but the disadvantages vastly outweigh them, most of which you have mentioned. speed wise, java is slightly under c++, if we are talking about a non graphical app. as soon as you throw in swing, you end up with an unresponsive, and all around ugly application.
as for .net being better, quite honestly compared to swing your right. its still quite a bit slower then an equivilent c++ app until you use it enough, but thats more due to the way it does its JIT compiling, and ive noticed significant speedups with each new release of the framework. compare a java 1.5 app using SWT (ibms gui api) and a .net app and i think you would be quite suprised. java is just entering the realm of being suitable for fullsized desktop apps, expect to see quite a few appearing in the months after the 1.5 jvm comes out.
its a bit more complicated then that. alot of the design aspects of the CLR are significantly better then the JVM, but .net is just simply too new at this point to really compeat on javas turf. i would definately agree that it has potential to be far superior then java in a few years, but we’ll see how that plays out.
at the moment, java stands as the enterprise web platform. there are significantly more java developers right now then for any other language, simply because thats where the money is. analysts are saying that .net will grab up a nice chunk of the marketshare, but that java will still be dominant for the forseeable future.
So there is no XML support outside the non-EMCA stuff huh??
That’s terrible.
Norbert,
Are you saying that developing outside of the MS way is not useful? I understand that the ability to use SWF and stuff is very nice and important but for Linux programmers themselves going the GTK# (or QT) route is a great, and easier, way to develop a nice GUI application.
For myself personally this is the exciting thing.
A THOUGHT
What is the potential of taking the core technology and developing cross platform API’s on top of it? For example what is the potential of making GTK# bind into the native widget set on windows, mac. So if you want true cross platform compatibility you can just write to these API’s instead. If done well this could be of interest to businesses.
MATT
I haven’t actually heard the full details but I remember seeing a lot of swing in all it’s glory.
My biggest concern with java, and I see echoed often, is that it, in it’s current state of management, is incapable of “staying current”. It just seems like it moves like a dinosaur when it comes to adapting. This appears to be why there are so many people for open sourcing it. While there would certainly be risks associated with this (forking) I would love to see them moving and adapting as fast as you see with a lot of open source programs. With this overseeing commity I just don’t see how this is possible. I sincerely hope this will change.
and ive noticed significant speedups with each new release of the framework. compare a java 1.5 app using SWT (ibms gui api) and a .net app and i think you would be quite suprised.
And the SWT will officially supported in java 1.5 like swing ?
All i know most of the open source fan is very very close minded. So sad to say that MONO still not popular until now because of this bunch of moron.
you’ve sorta got it, but not quite. for the last few years, sun has been really fighting to maintain its control of java. on the one hand, you have sun with the JCP with swing and JavaOne (or whatever they renamed forte) with swing, on the other youve got IBM with the eclipse foundation on SWT. IBM pushes for really radical changes (several of them would involve sun admitting that they fucked up, which will never happen) and sun resisting. this is probably what your picking up on.
java is still pretty much the cutting edge (i would call .net the bleeding edge). every increment of the jvm gets significantly better, theres alot of innovation still going on. the problem is though that there are some really big problems, that have been there for years, that sun refuses to admit are problems. (if you want to see a particularly fun bit of drama, try and find stuff on when someone reverse engineered parts of the jvm to prove that .finalize() did nothing, or how sun refuses to let ibm call jikes java)
opensourcing java would be fantastic for java, but not nessicarily for sun. java is one of their most important assets, and its in their best interest to maintain control. we saw an attempt at standards corruption by microsoft a few years back, and pretty much continual pressure from ibm, but sun has managed to hang onto it for this long.
the push your seeing now has more to do with the fact that java is a perfect platform for a FLOSS system, especially in response to .net being the longhorn api. first apple, then microsoft are moving to managed code for their operating systems, while we have qt which is still c++, and gtk which is c (c++ still has its place for the time being, but c is just archaic compared to objective c, .net, or java.) at the moment, an open java implementation is perfectly and clearly legal, while .net is rather ambigious. the problem is it takes alot more work to do java then .net, and we just wont have a feasable platform in the forseeable future if we go that route. .net is alot easier to implement as the api is still in its infancy, but not only is it a competing technology but we dont know when ms will pull the rug out from under us. sun, on the other hand, is supposed to be on our side. java becomming the official free api would give java a similar desktop entry point as .net has with longhorn. and for such a core part of an open platform, java would also benefit from the rapid bug fixes, added features, and optimizations that are the hallmark of big open projects.
officially supported by sun and the JCP? nope.
officially supported by IBM and the eclipse foundation? yes.
If they drink from the same glass.
I am a .Net dev, and have been for a while now.
I love linux and use it all the time away from work.
I have tried and tried to use mono, but without a replacement for Visual Studio, its impracticle.
.Net is great, but what makes it super great is the awesome tools that exist to develop with.
Please stop miss-representing what I have said on
the way we will deal with patents. Our way of dealing
with patents is outlined on the Mono FAQ.
Like I have said in the past: we will try to find prior art,
we will work around engineering wise, and if not possible,
we will amputate the code from the Mono distribution.
That being said, if there is a valid patent that Microsoft
holds and they require it to be licensed, we would consider
licensing the patents on behalf of shipping a complete stack. That is how the law works, and we dislike it, but
we are not going to infringe it.
That being said, we are building an independent stack
from the Microsoft stack to minimize the risk of a problem.
Microsoft has made no guarantees on anything outside the
scope of ECMA, and that is why we consider the creation
and encouragement of third-party innovative stacks to be so
important.
Miguel.
cendrizzi asked: Norbert, Are you saying that developing outside of the MS way is not useful? I understand that the ability to use SWF and stuff is very nice and important but for Linux programmers themselves going the GTK# (or QT) route is a great, and easier, way to develop a nice GUI application.
No, I just said that you need to add something (a lot of stuff, actually) to the ECMA stuff before you get a useful framework. For example you want something in the GUI toolkit slot. This role can be filled by wx.Net, Gtk#, Qt# or SWF (all of these four options are unproblematic from the patents perspective). And there’s quite a lot of other slots that you want to fill too, before you have a useful, reasonably complete framework. Hence I think that the idea of using one of the alternatives instead of SWF doesn’t make you any more or any less vulnerable to patent issues. If there will be trouble, it’ll be in some other area. I think most likely the attack would be based on some non-ECMA MS-patented idea that is used, in an essential way, either in Mono’s C# compiler (which is written in C#, and hence potentially volnerable) or in Mono’s ASP.Net stuff, or in both.
In fact I believe DotGNU’s strategy of implementing both the C# compiler and ASP.Net without using either C# or the .Net class libs reduces the risk not only for DotGNU but also for Mono: MS is much likely to attack if the likely effect of an attack would merely be to drive users to an unaffected Free Software project.
Miguel de Icaza wrote: Please stop miss-representing what I have said on the way we will deal with patents. Our way of dealing with patents is outlined on the Mono FAQ.
I’m referring to the following statement, which I believe you made: “In our case, if Microsoft in fact owns patents to the technology and they require the licensing of those, we are willing to license those for the sake of our users and customers.”
I what way do you think that I have misrepresented your statement?
You miss-represent me in that you cherry-pick what I say.
`License those for the sake of our customers’ is the least
desirable solution, but also the last resort given the
current patent law: the full explanation (which you conveniently
fail to mention) is what I said above: first we try to find
prior art; if that fails, we rewrite the code to not infringe,
if that is not possible, we amputate and at that point if
possible (because a patent holder *might* choose not to
license) we try to negotiate a license for distribution
of the software that we have written.
That is the miss-representation.
In the future, I would appreciate if you can state my
position as am stating it here, or as it has been stated
on the Mono FAQ, instead of picking a quote out of
context.
Thanks in advance,
Miguel.
“In fact I believe DotGNU’s strategy of implementing both the C# compiler and ASP.Net without using either C# or the .Net class libs reduces the risk not only for DotGNU but also for Mono:”
The fact that the compiler wasn’t written c# is safer why??? Sounds to me like it might be more difficult for developers to extend the existing asp. net class libraries if they are not exposed as classes. Anyhow, I put this in this thread before but I’ll put it again (from the Portable .net FAQ):
The Mono project is already working on some of the necessary libraries, which we hope to support when they mature.
which are all written in c#.
Also as a side note to my above comment – the word some (as in some of the necessary libraries) is a huge understatement.
http://www.go-mono.com/asp-net.html
“Also SWF is essential , as I don’t suppose most .NET programmers will program in Wx.NET or Gtk# or Qt#.”
Please. =D Most of us would give our… uh… well, we’d give our vast collection of soda-cans sitting by the desk if we could have a crossplatform toolkit that had a .NETified API and was crossplatform.
wx.NET? Sorry, it uses macros in too many places and really fucks up code flow. Oh, and it pleasantly uses its own color structures, etc. Gee. Thanks. Even though Mono and P.Net have a very good System.Drawing implementation, let’s just not use that. ;(
Qt#? Sorry, no Windows support.
GTK#? API is pretty good, but, oops! Huge (size-wise) dependency and its still glitchy and a PITA on Windows. Sometimes it doesn’t even *look* like a Windows application; if I wanted that, I’d be using Swing right now.
Any crossplatform, .NET-style GUI (that INTEGRATED WELL) would be appreciated.
Also, widget packing would be fun.
Miguel de Icaza wrote: You miss-represent me in that you cherry-pick what I say.
Miguel, I’m not interested in misrepresenting you. I’ve been specifically thinking about the possible situation of MS having a relevant patent and saying “here, buy a license”. I thought that your statement “In our case, if Microsoft in fact owns patents to the technology and they require the licensing of those, we are willing to license those for the sake of our users and customers” was appropriate to this possible situation.
On the other hand, the statement in the Mono FAQ, which is “The Mono strategy for dealing with these technologies is as follows: (1) work around the patent by using a different implementation technique that retains the API, but changes the mechanism; if that is not possible, we would (2) remove the pieces of code that were covered by those patents, and also (3) find prior art that would render the patent useless” does not give any specific information about how Novell would handle that possible situation. I don’t think that I did anything wrong by picking a statement which contains relevant information over a statement which didn’t answer the question that interested me.
If/when I write about that topic again, I’ll be happy to include the text which you gave me above (I mean the “`License those for the sake of our customers’ is the least desirable solution, but also the last resort given the current patent law: the full explanation is: first we try to find prior art; if that fails, we rewrite the code to not infringe, if that is not possible, we amputate and at that point if possible (because a patent holder *might* choose not to license) we try to negotiate a license for distribution of the software that we have written.”) as an additional clarification to make your position fully clear.
Chris wrote: The fact that the compiler wasn’t written c# is safer why???
Because when you write just about any program in C#, you use more of the .NET classes than just those in the ECMA spec. Hence writing the compiler in a language which doesn’t use .NET classes avoids a potential set of headaches: If there is patent-related trouble from some .NET classes, the trouble can only come from stuff which is not part of the ECMA specs, because MS has promised royalty-free, non-discriminatory licensing for any patants that are needed for implementing the stuff that is covered by the ECMA specs. It’s much easer to remove patent-troubled classes from your framework if by doing so you don’t risk breaking your compiler.
Nota bene: I’m not recommending to avoid Mono because of this. My point was that it’s good for both DotGNU and Mono that DotGNU has a compiler which is not vulnerable to this kind of attack, since Microsoft has no incentive to use an attack against Mono which, even if successful, would have no positive benefit for Microsoft. (I don’t think that it would benefit Microsoft in any way to force users to use DotGNU’s compiler instead of Mono’s.)
Listen, I’m nowhere near being a lawyer and I don’t write compilers but why would a compiler use things like ado .net anyhow??? How much offending code could there actually be in there? Most of the interesting stuff is in the class libraries which need to be exposed in a useful (un-hidden) way. Everyone’s compiler produces IL code and you can do that from any language you like. Some might produce bite code and the like, but that’s besides the point. Adequate replacements can be built for parts of the functionality – asp .net is really cool but not irreplaceable and it’s not fundamental. Anyhow, the language that you build the IL code in is just a means to get there – not the actual finished product.
“In fact I believe DotGNU’s strategy of implementing both the C# compiler and ASP.Net without using either C# or the .Net class libs reduces the risk not only for DotGNU but also for Mono: MS is much likely to attack if the likely effect of an attack would merely be to drive users to an unaffected Free Software project.”
And having an strategy without working code is, I believe, building castles in the air.
I’m eagerly waiting to see an implementation of ASP.NET not in written in C# and not using .Net class libraries.
I guess I will timeout.
-Gonzalo
Norbert, stop embarassing yourself and the dotGNU project. You know as well as everybody else that writing the compiler in c# doesn’t “encumber” it anymore than the actual implementation of ecma 334 and 335.
Seriously, do yourself a favor and get some professional help if you’re going to result to the most of demented of all FUD.
Lumbergh, I think what Norbert is talking about is that mono’s compiler uses System.Reflection.Emit for code generation which is outside of ECMA scope and (probably?) patentable.
And if that happens, there goes your free compiler.
If you ask me, that’s a valid point Norbert made. (Yes, I know, no one asked me but, duh, also wanted to post something, mmk? 😉
I’m not exactly sure of the context you meant this statement:
“Apache is not going to use .NET anytime soon (if ever).”
Here is a project BY Apache that IS .net: http://logging.apache.org/log4net/
And we’ll talk about your Apache (as a server – which is what I think you meant) theory in maybe a year when people start to realize mod_mono.
“Google or Yahoo won’t use Windows (even if Microsoft offers free licenses)”
Who cares if they use windows.
“Who cares if they use windows.” *should* be “Who cares if they don’t use windows.”
you’re interpretation makes more sense at least – but again, why does this encumber the *compiler* – ok, maybe the compiler was written in c# but it is in IL form now. Is it the act of relection being argued here – I doubt it. The compiler compiles classes – not c#, only external programs use reflection I think. Writing programs in pure c# shouldn’t be affected even a little…. right?
damn your being rude. C# is so similiar to Java there really isnt much comparison… Infact i like C# because its so much like Java. It’s the portability of .NEt and the actual system performance im talking about.. mainly .net has some libraries that are crap in my opinion
next time lets all try to be nice and not act like jerry springer people
> compiler was written in c# but it is in IL form now
All right, run that without an .NET VM …
Lumbergh, I think what Norbert is talking about is that mono’s compiler uses System.Reflection.Emit for code generation which is outside of ECMA scope and (probably?) patentable.
Better tell Norbert that Windows Forms is outside of the ECMA scope too. But in reality everybody knows that dotgnu is just as “encumbered” as Mono, but because Norbert considers himself “marketing director” of dotGNU it’s not surprising that he’s willing to make an ass of himself and spread some FUD about Mono.
Yes, parts of Mono may be at risk, but I haven’t seen anything, even in the Microsoft namespace implementations, that would be really greatly at risk. ADO.NET uses other libraries underneath. It would be rather different if the underlying code was exactly the same, as then some patents would actually stand up. As I have said before, Microsoft uses patents to get these flamefests going. Rather clever. Look at Wine or Samba. There’s basically nothing Microsoft can do about those, even from a patent perspective, and they know it. Notice the articles on MSDN about not writing vanilla .Net code, and using P/Invoke and other Windows specifics. That’s where they’re heading.
Back to the original article, many people will be using Java on Linux. Those using .Net will be doing so on Windows, and .Net seems to have gone right over the top of many peoples’ heads even on Windows. There isn’t very many people using it, and there probably won’t be until Longhorn comes around. Please don’t quote me internet job sites with all the .Net jobs on there, because agencies and these sites have always hyped the newest technologies beyond reality. They did it for Java.
I think it is good that .Net implementations exist because it is a different way of doing things. You can’t stop that open source way of doing things. Hopefully, if nothing else, it will push Java implementations to respond to the lack of performance on the client-side. Java on the server, and as middleware works great, but the client-side is a problem. Let’s face it, Sun isn’t going to solve them.
Quite honestly, I’m sick of people on the Mono side getting everyone to use GTK and Gnome libraries, and not only that, but trying to tie everything to them. I’m also sick of people on the DotGNU side trying to hype any potential patent problems of Mono for their own ends.
ok – the vm then. the namespaces all get collapsed by the time it hits the vm so are you arguing that reflection is covered by some patent? which part of the vm are vulnerable … none?