A mono article that preemtively addresses the issues that seem to plague the discussions on OSNews. This article addresses a number of hot-button issues, including:
Why would the open source community want Mono?
Won’t Microsoft sue someone over Mono?
What are the advantages of Mono over more traditional open source development frameworks?
And it does the obligatory hello world example in a particularly *nix-like manner.
>A mono article that preemtively addresses the issues
>that seem to plague the discussions on OSNews.
Hardly! The article does not address the fact that the ECMA standard may itself infringe on MS patents and that MS may impose licensing terms for the patented technology including royalties and/or licensing terms which are incompatible with the GPL or other OSS licenses.
It only repeats the “two stacks” fallacy that only serves to confuse the discussion.
Is IBM now offering indemnity against lawsuits for the MS technoloy in Mono?
> It only repeats the “two stacks” fallacy that only
> serves to confuse the discussion.
Actually, this is the way I see it:
1) The ECMA standard *might* have problems with patent licensing. Novell and friends have wagered that it doesn’t and Miguel thinks that he can rewrite around any patent issue that happen to arise. RedHat and friends have wagered that it does have problems that cannot be worked around easily and is a afraid that even the threat of “patent issues” may hold back GNOME the way it held back BSD.
2) Using the Gtk# stack plus the ECMA standard will reduce your risk and work seemlessly on Linux/Unix, but since the Gtk# stack is not native to Windows, you’ll gain no portability advantage over PyGtk++ or portable native UI support over Java/SWT or wxPython..
3) Using the WinForms/ASP.NET stack will decrease your porting time from Windows, but it will expose you to the more risk than (2) because Microsoft has not licensed patents to those parts. WinForms/ASP.NET apps might not also be directly portable to Linux (e.g. SharpDevelop has to be forked as a separate project (MonoDevelop), because SharpDevelop can’t compile under Mono despite the desire to do so by the SharpDevelop team.)
4) Mono supporters believe that even if they have to abandon the “Windows” Stack, the “Gtk#” Stack presents several useful technologies that are not available anywhere else. Mono detractors believe that Mono provides little value that is no available in other languages/APIs.
5) Mono supporters believe that they can develop so much Mono software that they can play a part in defining the .NET standard and if they are wrong, the advantages of (4) will leave this point moot. Mono detractors believe that Microsoft.NET will always be the defactor standard and as a consequence Mono will always be playing catchup and will have little or no say in the .NET standard.
6) Mono supporters see Mono as another Samba — Linux will always need it to survive in the corporate world. Mono detractors see Mono as another WINE — WINE may have some uses as a transitional technology to move off of Windows, but it’s generally a bad idea to write new apps using WineLib (e.g. Corel Office) and if possible native apps should be used over WineLib apps.
Most software patents are flawed and unenforcable and when challenged in court the majority dont stand up.
Broad patents are especially vulnerable to being overruled in a court as its one of the main things a judge will take into account.
Lastly, anti-monoopoly laws prohibit a monopolist from using patents to stifle legitimate competition so MS’s entire patent haul is totally worthless (whilst they remain a monopolist of course).
Additional : in the EU and generally outside the US software patents are worthless and unenforcable period.
So we know that MS has a broad patent application for .NET which (if granted) mono probably infringes.
But you say we should ignore the risk because the patent “probably won’t be valid”.
Sorry no thanks.
I have a simple solution for the Mono fans, why doesn’t Novell get MS to clarify the licensing requirements for the .NET IP? This will settle the issue once and for all.
I have a simple solution for the Mono fans, why doesn’t Novell get MS to clarify the licensing requirements for the .NET IP? This will settle the issue once and for all.
Beacuse its in MS’s interest to keep quiet on the issue as they then win.
EG on the one hand, MS get to claim .Net is multiplatform and that there is no vendor lock-in whilst on the other, they let Linux tear itself appart over the patent issues such that mono is not widely used and therefore cannot seriously threaten their monopoly. They can also mutter the word “patent” to create enough FUD to terrorise businesses into not using mono.
Why let MS win?
Mono is a very useful piece of technology and while we can be cautious about its use in Gnome, I see no reason not to take advantage of it in other areas. There are no issues with the core c# and in the EU software patents are dead so i say go do the entire .net stack and make MS squirm.
Beacuse its in MS’s interest to keep quiet on the issue as they then win.
And it is in Novell’s interest to get MS to clarify it’s position on Mono. What’s the point of Mono getting corporate backing in the guise of Novell, if they aren’t even going to do something as essential as this?
then why has Havoc P, representing Red Hat, clearly stated that the introduction of Mono into Gnome would mean Red Hat will either fork or abandon Gnome?
“initially try to reimplement or live without the Mono bits, maybe using language-translation hacks to port stuff to Java; while finding a non-GNOME or forked-GNOME path to get out of this losing approach in the long term.”
I’d expect to see Sun also dropping Gnome soon after aswell.
Im sure is not dead but surely I haven’t had the inpact that should.
The Halo effect of promoting .NET 2 more than 2 years before its release had left many developers in doubs about waithing for 2.0 or start programing with 1.1.
Great getting-started article. It’s good also to see the “polical” part of the article for clearing things up (everyone who’s starting with Mono and reading this article will probably thanks this information).
I can no other words to call you, than troll. I mean, this topic is about a Mono related article, and then, we first get a troll complaining about Mono an that Havoc and rh thing. Second, and worst of all, we get a second troll -you-, which comes to comment a stupid thing.
If you like KDE, that’s great. If you don’t like Gnome, that great. But please, if you are smart enough, don’t come with comments like that in this topic. I’m very sure you could find otehr site with people trolling about Gnome vs Kde or Mono vs Java.
The fact is: I don’t see the point about complaining about Gnome in a Mono article topic, where you could complain about the article. Go and read the old Mono related to get a view and stop flaming about things we have commented 1000 times.
The latest versions are so far beyond Gnome in terms of performance, cleanliness and code quality, it isn’t even in the same ballpark anymore.
There’s only the issue that KDE is based on Qt a propietary toolkit owned by Trolltech who will char you wuth at least $2200 dls if you are not willing to write GPL software.
The latest versions are so far beyond Gnome in terms of performance, cleanliness and code quality, it isn’t even in the same ballpark anymore.
There’s only the issue that KDE is based on Qt a propietary toolkit owned by Trolltech who will charge you with at least $2200 dls if you are not willing to write GPL software.
I found it an interesting read and tried the examples. When I read about the fact that one can use other languages with the .Net-framework I had to think about xpcom (the framework on which firefox, … is build). They have that too as far as I know. It’s called xpConnect. Anyway, they have it for javascript/C++/… I believe they are working on python. Maybe also other languages … Reading it again, I can be wrong …
I have looked at XPCOM and let me tell you the c bindings were horrific and made Corba look nice. GObject is a far better common object system especially when full introspection gets added as you will be able to do everything that XPCOM can do.
The latest versions are so far beyond Gnome in terms of performance, cleanliness and code quality, it isn’t even in the same ballpark anymore.
You clearly have no clue what you’re talking about. We might argue about “performance” and “cleanliness”. But please, don’t tell me about KDE code quality!
Did it ever occured to you, why the biggest/best/most-advanced Linux applications we have are written in G-technologies? (GObject, Gtk, GStreamer, Glib) This is solely because the G-API is superior to Qt/Kde API and developers are smart enough to see that.
then why has Havoc P, representing Red Hat, clearly stated that the introduction of Mono into Gnome would mean Red Hat will either fork or abandon Gnome?
Havoc P, in the same blog entry, has also said:
…Red Hat not shipping Mono is currently a can’t rather than a won’t. Making it worse, we are not able to spell out all the facts on why we can’t. In fact, none of the Red Hat engineers (including myself) knows all the facts (and we couldn’t share them in public if we did)…
so basically, I don’t care. It simply doesn’t hold any water.
Times have changed and .NET is pretty much dead so I don’t see much reason to use Mono.
Hint: Mono and mono-enabled applications are (likely) already a part of your Linux distribution. You clearly missed the moment they killed Kennedy.
You might not want to hear it, but you’re being told.
Did it ever occured to you, why the biggest/best/most-advanced Linux applications we have are written in G-technologies? (GObject, Gtk, GStreamer, Glib) This is solely because the G-API is superior to Qt/Kde API and developers are smart enough to see that.
Pardon? Glib and everything that surrounds it is an absolute pile of junk for programmers – a necessary evil sometimes, but junk nontheless. In terms of the desktop you need the power of natively compiled code and the ability to do rather low level things (you can’t run a whole desktop in a VM I’m afraid), but with the object-oriented power of C++, a development toolkit and higher level attributes that actually allow you to do things rather than debugging your own development tools.
As KDE 4 comes around (and other desktops get left behind) the non-political, straightforward reasons why KDE chose to use Qt will become very, very visible, and we’ll start to see some people get ever more uncomfortable.
Hint: Mono and mono-enabled applications are (likely) already a part of your Linux distribution. You clearly missed the moment they killed Kennedy.
The primary applications that use Mono are a desktop search tool with Lucene re-written in C#, and an application to arrange your photos that everyone treats as the second coming that isn’t really a patch on something like Digikam. *sarcasm*Yer, Mono is really rocking my world*/sarcasm*. Mono applications are certainly in my distribution, somewhere, but I’m not using them much (there actually aren’t that many, and they consume an absolutely incredible amount of memory). I can really see why Novell is investing all that money and people are so excited :-).
The supposed productivity benefits of .Net are certainly not translating into better applications either. Well, that is a more crucial area for Gnome but it isn’t in certain other desktops. They have better development tools already ;-).
Glib and everything that surrounds it is an absolute pile of junk for programmers – a necessary evil sometimes, but junk nontheless. In terms of the desktop you need the power of natively compiled code and the ability to do rather low level things (you can’t run a whole desktop in a VM I’m afraid)
Please learn something before you open your mouth. Glib is written in pure C.
From gtk.org:
GLib is the low-level core library that forms the basis of GTK+ and GNOME.
Please learn something before you open your mouth. Glib is written in pure C.
Wow, really?! And what’s that got to do with my comment? That comment was directed at Mono, and to an extent Java, (hence the ‘in terms of the desktop…’ bit) because that’s what people are looking to develop applications and desktop infrastructure in – otherwise, what’s the point?! That’s why people are looking to use stuff like Mono, because stuff like Glib are just simply not condusive to developing applications.
Can you think about what someone is writing before opening your mouth?
Did it ever occured to you, why the biggest/best/most-advanced Linux applications we have are written in G-technologies? (GObject, Gtk, GStreamer, Glib) This is solely because the G-API is superior to Qt/Kde API and developers are smart enough to see that.
Ah yes, of course. I guess you have names, numbers and evidences for backing that up. And nothing has to do with the LGPL, right?
Not so much for the porting ability (winforms will never be truly portable), but more for the RAD capabilities on linux. Look at all the cool apps that have sprung up as a direct result of mono. Apps that are simple, effective and well thought out.
I’m glad mono is around, and I can’t believe this discussion has yet again been turned into an anti-mono flame fest, including repeated quotes of Seth etc. So what. If you dont like it, don’t use it, stay away from it and shut the hell up.
You are dead right – it can only benefit linux to have better RAD tools (irrespective of whether you are completley paranoid about non-existant legal issues).
It also harms MS for Linux to have these tools but more importantly Linux has always been about choice so yeah its cool to have so many languages to choose from.
Whilst I have a problem with the mono bloat being in Gnome core, I really do hope people will wake up and see that mono can only be good for Linux in general.
Monodevelop is under construction, they want to create ASP.NET and GTK# form designer. Until you can create your app under Visual Studio and port the code to linux via mono.
2 years of development full of memory leaks,over engineered which does absolutely nothing of important.
on the Windows side,do you seen Google Desktop Search ? 400k only which comprise an embedded web server,true search based on 100 different factors,sidebar database berkeley db.
The article mentions somewhere that Solarias and SPARC aren’t supported, but Mono 1.1.9 was just out a few days ago with JIT support for those platforms:
>then why has Havoc P, representing Red Hat, clearly >stated that the introduction of Mono into Gnome would >mean Red Hat will either fork or abandon >Gnome?
The article incorrectly states that we do not support the SPARC. We have supported the SPARC since the 1.0 release.
It also claims that we are missing JIT support on OSX, Linux/PPC and Linux/S390 which is also incorrect. We have had JIT support for those architectures since Mono 1.0 (15 months ago) and the author was using Mono 1.1.7 which has such support.
In addition to those platforms Mono 1.1.9 added Itanium and ARM support.
SPARC might be supported, but there’s no binary for it yet (at least there doesn’t seem to be a link to one). I think that’s what the author was trying to say.
Ha! Miguel, in the middle of this storm of debate, squeeks out an off topic correction to a point in the article that no one cares about anyway!
Miguel! I think your silence is making it pretty clear that you have no ability to refute people’s concerns over MS right to charge a RAND fee or require licensing, both of which would absoultely murder gnome if mono were widely adopted!
It is becoming increasingly obvious to everyone that you are full of crap. Why don’t you either quell these objections by responding or *do the right thing* and shoot mono in the head and jump over to java?
Had you and Ximian/Novel spent all this effort on Java it would be 90% as useful (I agree .net is better) and all of gnome would be jumping in with both feet! How good is your technology if it stinks like rotting meat to the entire gnome community? Your legacy as the gnome founder is being severly tarnished by this mono debacle and if people’s concerns prove to be founded (if MS goes after us) you will die in imfamy for the damage you did.
Seth is one of the top gnome guys, and one of the redhat engineers. That is his reasoning on why there are problems with mono in a legal sense, and gives a very compelling reason not to let it become an official gnome dependancy.
The only thing that shakes his argument is an email by a .net engineer in a non official context on a non official mailing list. And yet, miguel and co. writes off *any* hesitation as zealotry, and huge amounts of people who have been drinking the ms hype (.net isnt anywhere near as revolutionary as its made out to be, and there are plenty of more mature, crossplatform RADs out there that you can develop on). Seth offers some compelling arguments that i dont think are even remotely zealotous, and i have yet to see any counter points that address these issues. and quite frankly, im a tad annoyed that all it takes to be marked as zealotous nowadays is to not stand with ms, and someone to point a fingure.
1. historically, ms hasnt been one to play fair
2. historically, ms doesnt stay consistant
3. ms has explicitly use their patents against oss
4. ecma is not ANSI, you retain IP ownership, and are allowed to charge a “reasonable” royalty. a royalty of 0.0000001$ is more then reasonable, and makes mono gpl incompatible. i think it would be prudent to have more then a non official email on a non official mailing list from ms before trusting they will not do this. yet that is what the mono project is telling us.
5. it isnt in ms’ best interest to exploit any of this until the day when it needs a weapon against gnome.
6. microsoft has a long history of shifty, anti-competitive behavior. why put a (potential) weapon in their hands when we dont need to?
saying something is zealotry doesnt make it so. i would like to hear a more cohearent argument from some mono guys that actually adresses these issues, rather then implying rabid anti-ms behavior. for the record, i use windows every day at work to develop on a propriatary platform. i know c#, mono is installed on my system and i use many mono apps. mono as a technology is fantastic, and i have nothing but respect for miguel and the rest of the mono team. we need something like this in gnome, but i dont think its a good idea to use this specific platform, and i have yet to hear a compelling arguments that stand up to what seth (and to a lesser extent, havoc) were talking about.
The problem I have with the arguments that people make against Mono is that they’re all hypothetical. The whole argument is “What if Microsoft sometime in the distant future does…”?
It’s like the Open Source communities drive to have an Open Source implementation of Java. When you ask why, the whole argument is “Sure, Java is free now (as in free beer), but what if in the future Sun decides to…”?
It’s all based on some hypothetical situation that may never happen.
“If only I could get a penny every time somebody mentioned Seth’s blog post in a mono related article then I would be a rich man!”
If only I could have a million dollars for every time someone convincingly refuted Seth’s blog post in a mono related article, then I would be a rich man! Wait, no, I wouldn’t.
If you think you are smart enough, then please bring the entire discussion links. Bringing Seth’s comments only, doesn’t help at all. Or maybe you didn’t even try to read the responses from Mono community?
the responses from the mono community (for the most part) is that redhat are zealots/pawns of sun. their response to the ecma royalties thing is that a ms engineer posted an email on some mailing list saying they wouldnt. given the history of microsoft when dealing with their competition, even if ms lawyers came out and said that they would never charge royalties, people should still be warey. hell, we have yet to hear novells lawyers say that its all good, let alone ms. really, all we have is miguel saying “dont worry about it”.
as for patent infringement, there are cute diagrams about what is under microsoft patent, and what is under ECMA, again not mentioning that even the ECMA stuff can be used against us. ECMA allows the company to retain IP ownership, it isnt the same thing as ANSI, and the response has been “well, its a standard”.
the reason the seth post comes up again and again is that we have yet to see a miguel post that addresses the points he brings up. he tends to say that redhats refusal to adopt mono is plain old anti-microsoft hatred, that .net is really good tech, and everyone nods sagely, because everyone knows how zealotous those free software nuts are. this bugs me, seth has a very good argument that not only has yet to be addressed, but is dismissed left right and center.
dont get me wrong, im a big fan of .net, i feel its java++ (or will be eventually once the platform matures more), and that mono itself is an extremely impressive accomplishment. i have nothing but respect for miguel, anyone who will take an interview at ms as a platform to evangelise free software will become a geek hero to me, for that reason alone. my problem isnt with mono, its with the dismissal of perfectly lucid and valid arguments as “Zealotous”, and being ignored.
Mono is not equal to .NET. How can I say that? Simple, if you look at them you notice that they only share a very few select bits, C#, CLI, some command line classes and some other low level stuff. The whole .NET compatibility stuff is the Mono ghetto if you want (just like Posix is the Plan9 ghetto). Mono and its apps are GTK/Gnome based and not Windows Forms (the Mono version isn’t even done yet) and Mono uses different languages compared to .NET. What am I talking about? What are the popular .NET languages you can think about? Right, C#, VB.NET and Delphi for .NET. What are popular Mono languages? They are C# (the only repeat from .NET), Boo, Nemerle and Java.
So IMHO .NET != Mono. But they sure are damn similar.
It is hard to say if Mono < or > then .NET, since it is a subset and a superset all at once.
(sortof like java = c++–++)
You could run everything that runs on Mono by installing all needed libs on .NET, but few people are going to do that and those that do will probably bee Gnome/Mono guys anyway. You can’t get all of .NET running on Mono since Microsoft isn’t porting and Mono isn’t implementing it.
You just have two separate cultures that share a technological subset to further their own agenda.
Just more of the same crap comments that has ruined OSnews. Maybe we can get a new version of OSNews for adults and not children.
Nobody is forcing you to use Mono, you have no power to stop anybody from using or programming in Mono. You have no influence on anybody’s language/framework of choice.
No, but we can make sure people are aware of the risk so they make an informed decision.
everybody who is concerned is already aware of the issues. You have no influence
And yes, you will see this discussion come up in every mono-related article until Miguel or someone else at Novell addresses these issues.
And the mono flaming over the years has been a complete failure. Mono is used more than Java ever will be on Gnome. RedHat, Havoc, you, and the others have failed.
Mono adoption is growing, you are right. But why do you gloat over this fact? Seriously, please, tell me why I am wrong to be concerned over mono and the unresolved RAND licensing issues and I will be more than happy to use mono.
Really, mono and .net look fantastic and could do wonders for gnome development. However, as is, using mono is just not worth it.
Until you refute this, which you have not even tried to do (only call people zealots and tell them to shut up), you are very misguided for gloating over mono’s successes and redhat’s failures.
And, even though mono adoption has increased, it is still largely shunned:
Gnome officially does not allow mono in the core libs. Redhat and most other distros are also refusing to include it. Very few really nice apps have been done in mono. Monodevelop is junk. Sorry. Beagle just doesn’t really work day in and day out. Smaller apps like Muine are nice but are hardly enabled by C#. They could have been easily done in another language and in fact there are still many many more new apps in languages other than mono than in mono.
Seriously people like you who dismiss legitimate arguments and concerns with mocking and insults and no actual rebuttal make me sick.
Really, no kidding, you are my definition of an ass hole.
I think we need to add “Mono flamewar” to the list: Death, taxes, mono legal flamewar.
Anyways, if not Mono, then what is the next great hope for managed code on free software? Java? Python? Something new? Or none, I don’t need no stinkin’ garbage collection?
I vote for SML. The code practically proves itself.
Mono has to be one of the biggest wastes of OSS developers time, ever.
Mono is the last chance to survive of OSS in the future. Without mono the linux-line will disappear in the next 5-10 years.
The platforms is always fighting, and the weapon in this fight the API-s and development environments. Until now, the main API of windows was the win32 API. It is not the best thing, it is based on very old win16 API from the DOS age. The enemy of windows is the linux with many incoherent, redundant, unstable, but more modern little libraries, desktop environments (paralell KDE, GNOME, XFCE, ICEWM, etc – if anything wastes the OSS developers time…), and the legacy of unix – POSIX, X11, binutils, etc. And java. This forces are in balance. But the .NET will change the power relations: this is a complex, coherent, well-designed class library and powerful, language-independent, safe, processor-independent runtime environment with JIT support. And with a very powerful development environment.
Let see it with the professional developers (or customers) eye. On the one side the 95% of the market, 95% of the applications with a very powerful development environment and with a very big, reilable company, and on the other side the 5% with many uncoherent libs, slow and unreilable scripting languages, but it is free.
The companies creates multi-platform applications if it is not claim too many resources, but the 5% of market is not too important if it need additional 100% resources. And the first is the customers. If you can create better applications in 100 programmres hour with .NET then java and you choose java the 95% of customers will be very disaffected, the remain 5% will be very happy. It is not a too good business…
Let see the prices: the JDK, JRE and Eclipse is free. This is very good. Linux, Tomacat also free, it is also very good. But if you want a really powerful solutinos, you must buy oracle, ibm, etc server stuffs – and this things are NOT free.
And let see the future: who is behind the java ? Only the SUN. Nobody else. IBM, Oracle, etc supports java – but this companies also supports .NET. Yes, there are FOSS implementations of java – gcj, kaffe, etc, but the legal state of this implementations not better then mono. M$ and SUN agreed with their patent portfolio, but this areement probably not stood to independent java implementations.
In a nutshell: if FOSS (and especially the linux) want to survive they must implement mono – and hoping for the best but excepting the worst – or create a totally new and far far better development environment. But in this case the survive is a little bit dim, because the most of companies will support .NET instead of this little bit sandy new platform.
Jesus, instead of just saying stuff like “god I hope those zealots don’t start up again” why doesn’t someone who feels that way actually refute the fact that MS retains the ability and right to charge a small fee or require registration for use of mono and that either of those things would kill gnome if mono were deeply integrated?
Come on, I’m waiting…
Anyone? No I didn’t think so. Mono integration into gnome is indefensible because it is obviously a bad idea.
How can people say Havoc and others are resisting mono because of “politics and/or zeolotry” when they fail to address or refute a single one of his and others concerns.
Give me a break. That is just rude and pathetic. Seriously snowflake you sound like one of those idiots who say anyone who is against George Bush is against him out of jelousy and anti-americanism.
Honestly I love mono as a developer for the MS.NET framework using C# it gives me the oppurtunity to finally program in Linux doing either Rich clients or Web applications. I am not a fan of PHP, personal preference, and to me C++ takes to long to do anything in. So to me mono is an excellent option. I think it is great that OSS is doing a .NET implementation.
This article (as most of them do) fails to mention about possible future costs of using .Net technologies. Microsoft has rights to start billing users of .Net technologies. So there is no guarantee Mono will be free.
It also possible if you use Java. The java is free at this moment but I can’t see any warranty for the future. Yes, the gcj always will remain free, but if SUN (or any successor) sue the gcj developers or users the free state of java can be changed.
But it is the smallest problem. The bigger is the power of .NET. M$ have enought money and interest to develop .NET. IMHO the future is the .NET, and the costs of refusing .NET/mono can be very-very hight.
Java is under a RAND grant. Anyone is free to implement a java environment with no strings attached, other then that sun reserves the right to what is called “Java”, and what isnt. If Sun could start sueing IBM for Jikes asap (sun and ibm have been in even more of a tug of war match over then then sun and microsoft)
As for ignoring .net, we arent talking about that, we are talking about adopting it. .Net is extremely new, and in the world of APIs new is generally not a good thing. It means it has some nifty new features that java does not, but java has a collosal head start in many areas. it will take microsoft years to get .net up to the same level as the java api for one. another thing to consider is that java is virtually synonmous with “enterprise computing”, if your making an enterprise webapp, chances are you will be using j2ee/oracle/*nix not .net/sqlserver/win2k3. the reason for this is that java has proven itself to be both secure and robust. Many desktop users dont realise how insanely popular the platform is in the business world, because they dont see many desktop apps (this is because of the swing issues i mentioned earlier)
Last but not least, there are (currently) more people working with java for their day to day jobs then any other language. It would be a nice bonus to use a language that is the majority of programmers bread and butter, it would mean the barrier to entry for writing gnome apps is next to nothing. it would be a big change from C, which has been on a steady decline for decades now (its not even taught in many courses anymore). Java would definately be the best choice at this point in time for getting young blood into gnome (to be fair, .net probably will be second best within the next few years, and if history has taught us anything, take the lead)
.Net is extremely new, and in the world of APIs new is generally not a good thing
It is true, but IMHO the .NET will successor of java. The C# and java language, basic class libs are very similar. But the designers of java created many wrong decisions when java was born: no properties, no operator overloading, no databinding, AWT, etc. And some of this early decisions can’t change without break the compatibility.
because they dont see many desktop apps (this is because of the swing issues i mentioned earlier)
Not only the swing. IMHO a biggest problem is a virtual machine. The .NET (and Mono) uses only one VM for every desktop applications. But every desktop java apps are uses their own runtime environment. The java 1.5 promised change, but now, after 1 years of 1.5 the most of java apps are use separated JVM.
And the biggest problem of desktop java is the future. IMHO if .NET will strong enought the running of desktop java apps will be uneasy on windows. And the 95% of desktop market is windows based. And IMHO in the near future the .NET will replace the flash on the client side. In this case the linux desktops without .NET support will dead.
if your making an enterprise webapp, chances are you will be using j2ee/oracle/*nix not .net/sqlserver/win2k3
At this moment. But IMHO it will change in the near future.
Last but not least, there are (currently) more people working with java for their day to day jobs then any other language.
It is true, but if you count the potential .NET developers you must count every Visual Basic, Delphi, (or maybe java :-)) and other programmers, not only the C# developers.
It is true, but IMHO the .NET will successor of java. The C# and java language, basic class libs are very similar. But the designers of java created many wrong decisions when java was born: no properties, no operator overloading, no databinding, AWT, etc. And some of this early decisions can’t change without break the compatibility.
Well, AWT got fixed with Swing… (i know, i know… ;-))
.net is giving sun the kick in the pants it needs though, Swing is getting exponentially better with every release. I find that C# gets more “right” then java, but only in a handful of ways, most of which can be solved with good IDE code generation (manditory plug for the greatest IDE of all time, IDEa http://www.jetbrains.com ;-))
Not only the swing. IMHO a biggest problem is a virtual machine. The .NET (and Mono) uses only one VM for every desktop applications. But every desktop java apps are uses their own runtime environment. The java 1.5 promised change, but now, after 1 years of 1.5 the most of java apps are use separated JVM.
first of all, keep in mind we are talking 10-20megs overhead here. that being said, the jvm per app thing is because performance in java takes a back seat to security. the 1.5 changes you mention only allowed for shared memory between jvms, not one jvm for multiple apps. imho, they should try to make this an option for situations where security is non-vital (i.e. most desktop apps). in a more general way, i get the feeling that javas design descisions were for the server first, desktop second, while .net is the other way around.
And the biggest problem of desktop java is the future. IMHO if .NET will strong enought the running of desktop java apps will be uneasy on windows. And the 95% of desktop market is windows based. And IMHO in the near future the .NET will replace the flash on the client side. In this case the linux desktops without .NET support will dead.
this is the biggest misconception out there. first of all, the “.net languages” (c# and co) will never replace everything, and they arent meant to. Apple uses objective C, most linux apps are written in C++, these languages arent going anywhere, no matter what windows does or doesnt do. Secondly, java isnt that successful on the desktop. but like i mentioned, its practically synonomous with enterprise computing. java lives in the server room, and the mobile device market. i dont see .net conquoring either any time soon. the only negative effect of not having .net means that programmers who only know the .net languages will have a much higher barrier to entry for writing on linux. while this is not a good thing, it doesnt exactly spell the death of the platform.
At this moment. But IMHO it will change in the near future.
I disagree. Microsoft is very far behind at the moment. I believe we will see a shift to where ms has a decent market share, just for the shear amount of money they are pouring into marketing the damn thing. but java has an *extremely* good reputation in the enterprise, microsoft has a very bad one that they are desperately trying to turn around. everyone is quite aware there has never been an oracleSlammer, but sqlSlammer cost everyone who had the misfortune of running sqlserver quite a bit of time and money. Not to mention that linux is the hip thing now for the server room, and while its possible to run .net on linux (obviously), i dont think anyone here is seriously comparing mono to the sun jvm.
I would say its possible that this will change in the far future, i seriously doubt theres going to be major changes to the enterprise stack any time soon.
It is true, but if you count the potential .NET developers you must count every Visual Basic, Delphi, (or maybe java :-)) and other programmers, not only the C# developers.
Currently, there isnt much non C#, vb.net, asp.net, etc development being done on the platform. why would you write a perl script on the .net vm? sure, its possible, but its far from desireable, except if you are planning to use it as a dll. and why would you do that in perl? the main attractiveness to the language agnostism of the cli is in porting legacy apps, not writing new ones. imho of course, but i have yet to see anything to suggest otherwise.
most linux apps are written in C++, these languages arent going anywhere
The M$ Visual Studio implements C++. And reportedly the C++ support is very good in the .NET 2.0.
but java has an *extremely* good reputation in the enterprise, microsoft has a very bad one that they are desperately trying to turn around
But IMHO the most of FOSS applications are not enterprise applications. And IMHO the linux is never will the main platform of the enterprise applications, it always will the playfield the *nix and IMHO in the near future the windows platforms.
would say its possible that this will change in the far future, i seriously doubt theres going to be major changes to the enterprise stack any time soon.
IMHO the M$ rich and motivated enought to develop .NET platform and the neccessary servers. They can buy the best developers, arcitecths. SUN is far less ritch then M$ and the profit of the SUN IMHO come from hardware and not from Java. M$ always have more money to develop .NET then SUN to develop Java.
why would you write a perl script on the .net vm?
Why would you write perl (or python, PHP, visualbasic) code at all ? I doesn’t like perl, but there are many programmers who love it. In .NET you can develop your favorite language. Yes, VB.NET is more complex then VB6, but IMHO the VB coders will change to VB.NET and not to Java or C#. I like C++, Object Pascal and Java languages, my favorite is the C#. If anybody like the scripting languages (I hate this langs) he/she will use python, php, etc. But this languages they can use common class libraries, and calling Java, C++, etc classes from Python or Visual Basic or C#, etc is very easy. And IMHO it is a very strong thing, it can kill the other platforms.
Look at all those problems which raise with pointers, malloc and other (mainly C/C++-specific) problems which raise with unmanaged code: buffer over/underflows, weak casting and other bad things which lead to security leaks. Managing the memory manually is a very heavy duty task and no single application (maybe except hello-world-alikes) never somewhere suffered from writing to wrong parts of the memory.
Even best programmers run into problems with memory and code management. Of course, Mono/Java cannot make the code 100% secure against abuses, but it reduces the amount of code you have to maintain to somewhere under 50% of the original C code by taking away memory and code management. I ran into situations where the GC could not get rid of a variable because it thought that it was still referenced – no code is perfect. Manually nilling it helps – but such a situation is very rare compared to random segmentation faults you run into with C or C++ just because the data was of wrong type.
Yes, you cannot replace essential things with managed code. Writing a kernel in c# or java is hardly possible, but if the runtime environment (here I mean mono or java) allows accessing the kernel, then you can do anything you wanted to do low-lvl. Yes, for every task only best suitable tool should be used – and in a lot of cases C isn’t the suitable language anymore. Sorry, but you can write to block devices even with brainfuck/fuckfuck, but I doubt you’ll do that.
It is the point we should achieve: move the majority of code to managed runtimes and in my eyes to you make more sense to let the kernel, the RE, xorg stay as they are and move everything else [you can] to Mono or Java. That will raise code quality rapidly.
But that means that 96% of the code will have to be rewritten. But hey, a lot of code had to be rewritten from COBOL and Fortral once upon a time, too.
This is the race and Microsoft does everything wrong it can: win32-winforms-avalon – 3 API changes in only several years. That’s why .NET hasn’t been adopted until now [except by ATI and HP]. The one who manages to move the majority of the code base from unmanaged to managed will rule upcoming 20 years of IT.
And yes, while Java is a very consistent development environment, it is not usable for such a task. GCJ exists with a lot of ambition and GCC is in unmanaged (GCJ has a GC) world is what .NET is in managed. It is a good move from mono’s side to support java. And I hope that they will do that good.
Sorry, folks – it still seems that here are unmanaged advocates here who just tell “who can’t maintain the memory, he shouldn’t begin programming”. We are humans and we won’t manage memory as the computer does, so let the runtime environment do the job and return back to the UNIX roots: do one job, but do it good (and until now C programming meant two jobs: your task and managing all possible failures)
I agree completely about the technical merits of .net/mono, and how nessicary it is that we get a managed language as a core platform for gnome.
Where i disagree starts here
“And yes, while Java is a very consistent development environment, it is not usable for such a task. GCJ exists with a lot of ambition and GCC is in unmanaged (GCJ has a GC) world is what .NET is in managed. It is a good move from mono’s side to support java. And I hope that they will do that good. ”
Java as a platform is far more mature and complete, it will take .net years to get to the point that java is at already. There is huge amounts of open java development out there already (check out the jakarta project, or spend some time on sf.net), java is made by a company that is far more open source friendly, and doesnt have a long history of dirty pool that microsoft is famous for.
The big problem with desktop java isnt even java, its swing. Swing, while being a fantastic toolkit, is insanely easy to misuse. What you get is an extremely unresponsive and ugly application. But if java were the new gnome platform, we wouldnt be talking swing, we would be talking something like Java-Gnome, the GTK bindings for java, in which case you would expect the same responsivness as a Gtk# app. If you dont believe me, look for benchmarks. The argument isnt weather java is slow or not, its weather its faster then something natively compiled in C.
Last but not least, java is a managed language. So is python. It would make far more sense for gnome to embrace the two of those as the new api of the future then go for mono, which is a baby by comparison.
This is the race and Microsoft does everything wrong it can: win32-winforms-avalon – 3 API changes in only several years. That’s why .NET hasn’t been adopted until now [except by ATI and HP]. The one who manages to move the majority of the code base from unmanaged to managed will rule upcoming 20 years of IT.
But M$ in a very good position. Easier to port the existing Visual Basic, C++, Delphi code to .NET to Java. The .NET environment give a language-independent class library and give a common CLR to every language. There are COBOL, RPG, Python, Object Pascal, etc. implementation for .NET.
And yes, while Java is a very consistent development environment, it is not usable for such a task.
It is true, but the major reason: the java is NOT changed to API. No databindnigs, no client-side database cache, etc. Yes, there are some independent development, but there is not any only one widely accepted. With ADO.NET any company can develop data-bounded web controls, windows.forms controls or any external components.
But M$ in a very good position. Easier to port the existing Visual Basic, C++, Delphi code to .NET to Java. The .NET environment give a language-independent class library and give a common CLR to every language. There are COBOL, RPG, Python, Object Pascal, etc. implementation for .NET.
Try vb 6 to .net sometime, and tell me how easy it is 😉 but in general, your right. this is one of the coolest things about .net.
It is true, but the major reason: the java is NOT changed to API. No databindnigs, no client-side database cache, etc. Yes, there are some independent development, but there is not any only one widely accepted. With ADO.NET any company can develop data-bounded web controls, windows.forms controls or any external components.
Im not sure what you mean there. API stands for application programmers interface, and java has a better API then .net (or anything else ive ever used, its a cross platform os encapsulation). Data bindings and client side caching are very specific to the visual studio way of doing things, you are talking about VS code generation. And if you are going to tell me ASP offers more power to the developer then JSP, ill have to call bullshit. And say what you will about swing, its crime is over engineering, not under engineering. its power is staggering, unfortunately, so is the amount of code required to do anything (properly).
Data bindings and client side caching are very specific to the visual studio way of doing things, you are talking about VS code generation.
It is not only a visual studio way, all modern RAD-oriented systems use it (Delphi, Visual Studio, etc). And the most of professional java environments (JBuilder, Oracle JDeveloper, etc) also support it, but this tools are uses their own cached dataset versions. It can be very important if you creata applications with many forms and data elements.
Won’t Microsoft sue the Mono guys, or even the users because this is a copy of their .NET platform?
Mod parent into oblivion, please.
A mono article that preemtively addresses the issues that seem to plague the discussions on OSNews. This article addresses a number of hot-button issues, including:
Why would the open source community want Mono?
Won’t Microsoft sue someone over Mono?
What are the advantages of Mono over more traditional open source development frameworks?
And it does the obligatory hello world example in a particularly *nix-like manner.
>A mono article that preemtively addresses the issues
>that seem to plague the discussions on OSNews.
Hardly! The article does not address the fact that the ECMA standard may itself infringe on MS patents and that MS may impose licensing terms for the patented technology including royalties and/or licensing terms which are incompatible with the GPL or other OSS licenses.
It only repeats the “two stacks” fallacy that only serves to confuse the discussion.
Is IBM now offering indemnity against lawsuits for the MS technoloy in Mono?
> It only repeats the “two stacks” fallacy that only
> serves to confuse the discussion.
Actually, this is the way I see it:
1) The ECMA standard *might* have problems with patent licensing. Novell and friends have wagered that it doesn’t and Miguel thinks that he can rewrite around any patent issue that happen to arise. RedHat and friends have wagered that it does have problems that cannot be worked around easily and is a afraid that even the threat of “patent issues” may hold back GNOME the way it held back BSD.
2) Using the Gtk# stack plus the ECMA standard will reduce your risk and work seemlessly on Linux/Unix, but since the Gtk# stack is not native to Windows, you’ll gain no portability advantage over PyGtk++ or portable native UI support over Java/SWT or wxPython..
3) Using the WinForms/ASP.NET stack will decrease your porting time from Windows, but it will expose you to the more risk than (2) because Microsoft has not licensed patents to those parts. WinForms/ASP.NET apps might not also be directly portable to Linux (e.g. SharpDevelop has to be forked as a separate project (MonoDevelop), because SharpDevelop can’t compile under Mono despite the desire to do so by the SharpDevelop team.)
4) Mono supporters believe that even if they have to abandon the “Windows” Stack, the “Gtk#” Stack presents several useful technologies that are not available anywhere else. Mono detractors believe that Mono provides little value that is no available in other languages/APIs.
5) Mono supporters believe that they can develop so much Mono software that they can play a part in defining the .NET standard and if they are wrong, the advantages of (4) will leave this point moot. Mono detractors believe that Microsoft.NET will always be the defactor standard and as a consequence Mono will always be playing catchup and will have little or no say in the .NET standard.
6) Mono supporters see Mono as another Samba — Linux will always need it to survive in the corporate world. Mono detractors see Mono as another WINE — WINE may have some uses as a transitional technology to move off of Windows, but it’s generally a bad idea to write new apps using WineLib (e.g. Corel Office) and if possible native apps should be used over WineLib apps.
Have I missed anything?
>Have I missed anything?
Just that MS has a fairly broad patent application for .NET.
See http://news.com.com/2100-1001-984052.html — “.Net patent could stifle standards effort”
If this patent is approved, I’d like to see how Miguel could “rewrite around” it.
Most software patents are flawed and unenforcable and when challenged in court the majority dont stand up.
Broad patents are especially vulnerable to being overruled in a court as its one of the main things a judge will take into account.
Lastly, anti-monoopoly laws prohibit a monopolist from using patents to stifle legitimate competition so MS’s entire patent haul is totally worthless (whilst they remain a monopolist of course).
Additional : in the EU and generally outside the US software patents are worthless and unenforcable period.
So we know that MS has a broad patent application for .NET which (if granted) mono probably infringes.
But you say we should ignore the risk because the patent “probably won’t be valid”.
Sorry no thanks.
I have a simple solution for the Mono fans, why doesn’t Novell get MS to clarify the licensing requirements for the .NET IP? This will settle the issue once and for all.
I have a simple solution for the Mono fans, why doesn’t Novell get MS to clarify the licensing requirements for the .NET IP? This will settle the issue once and for all.
Beacuse its in MS’s interest to keep quiet on the issue as they then win.
EG on the one hand, MS get to claim .Net is multiplatform and that there is no vendor lock-in whilst on the other, they let Linux tear itself appart over the patent issues such that mono is not widely used and therefore cannot seriously threaten their monopoly. They can also mutter the word “patent” to create enough FUD to terrorise businesses into not using mono.
Why let MS win?
Mono is a very useful piece of technology and while we can be cautious about its use in Gnome, I see no reason not to take advantage of it in other areas. There are no issues with the core c# and in the EU software patents are dead so i say go do the entire .net stack and make MS squirm.
>Why let MS win?
Yes, why should we let MS win by intentionally introducing a potentially poisoned technology into the heart of the Linux desktop.
A certain group of primates should have addressed these issues several years ago before we got to this point.
Beacuse its in MS’s interest to keep quiet on the issue as they then win.
And it is in Novell’s interest to get MS to clarify it’s position on Mono. What’s the point of Mono getting corporate backing in the guise of Novell, if they aren’t even going to do something as essential as this?
“…is a afraid that even the threat of “patent issues” may hold back GNOME the way it held back BSD.”
There are no patent issues that has held back the BSD’s.
Wow… That’s new. I mean mono has only been around for how long? News hot off the press…..
You can use Mono to write apps for Mac/FreeBSD/Windows too.
Why do OSnews seem to only care about linux? is the owner a bumchum of Linus Torvalds?
anyway this is hardly news, how long has mono been out for already.
mistake on the ibm’ers part. You left your e-mail in the submission this time. Not the normal article plant.
i hope it doesnt trigger off another round of discussions on the same old topic…
yeah, ‘ere we go again…
That’s a fantastic article,you’ll learn how to write cross platforms “Hello Worlds” apps
IMHO who cares of mono if people work into windows they will prefer .NET and for the linux side there’s even python or java…..
then why has Havoc P, representing Red Hat, clearly stated that the introduction of Mono into Gnome would mean Red Hat will either fork or abandon Gnome?
http://log.ometer.com/2005-05.html#10
“initially try to reimplement or live without the Mono bits, maybe using language-translation hacks to port stuff to Java; while finding a non-GNOME or forked-GNOME path to get out of this losing approach in the long term.”
I’d expect to see Sun also dropping Gnome soon after aswell.
Red Hat could allways move to XFce (Xfwm4 is a lot better window manager the Metacity) and stay with a GTK2 desktop.
Times have changed and .NET is pretty much dead so I don’t see much reason to use Mono.
Why is .NET dead?
Why is .NET dead?
Im sure is not dead but surely I haven’t had the inpact that should.
The Halo effect of promoting .NET 2 more than 2 years before its release had left many developers in doubs about waithing for 2.0 or start programing with 1.1.
It would be interesting if you could be bothered to explain your statement that .NET is pretty much dead.
I can’t see a single sign of it being “Pretty much dead” much less of it dying… It’s actually growing as far as I can tell.
Great getting-started article. It’s good also to see the “polical” part of the article for clearing things up (everyone who’s starting with Mono and reading this article will probably thanks this information).
One word: KDE.
The latest versions are so far beyond Gnome in terms of performance, cleanliness and code quality, it isn’t even in the same ballpark anymore.
IMHO.
Hey lads, this thread is for flaming/praising mono not KDE/GNOME. So would you be so kind to keep it on topic please.
I can no other words to call you, than troll. I mean, this topic is about a Mono related article, and then, we first get a troll complaining about Mono an that Havoc and rh thing. Second, and worst of all, we get a second troll -you-, which comes to comment a stupid thing.
If you like KDE, that’s great. If you don’t like Gnome, that great. But please, if you are smart enough, don’t come with comments like that in this topic. I’m very sure you could find otehr site with people trolling about Gnome vs Kde or Mono vs Java.
The fact is: I don’t see the point about complaining about Gnome in a Mono article topic, where you could complain about the article. Go and read the old Mono related to get a view and stop flaming about things we have commented 1000 times.
The latest versions are so far beyond Gnome in terms of performance, cleanliness and code quality, it isn’t even in the same ballpark anymore.
There’s only the issue that KDE is based on Qt a propietary toolkit owned by Trolltech who will char you wuth at least $2200 dls if you are not willing to write GPL software.
The latest versions are so far beyond Gnome in terms of performance, cleanliness and code quality, it isn’t even in the same ballpark anymore.
There’s only the issue that KDE is based on Qt a propietary toolkit owned by Trolltech who will charge you with at least $2200 dls if you are not willing to write GPL software.
I’m failed to see any.
Before talking about porting the applications, .Net has to prove its vitality first…
Heya,
I found it an interesting read and tried the examples. When I read about the fact that one can use other languages with the .Net-framework I had to think about xpcom (the framework on which firefox, … is build). They have that too as far as I know. It’s called xpConnect. Anyway, they have it for javascript/C++/… I believe they are working on python. Maybe also other languages … Reading it again, I can be wrong …
greetings,
Michel Brabants
I have looked at XPCOM and let me tell you the c bindings were horrific and made Corba look nice. GObject is a far better common object system especially when full introspection gets added as you will be able to do everything that XPCOM can do.
The latest versions are so far beyond Gnome in terms of performance, cleanliness and code quality, it isn’t even in the same ballpark anymore.
You clearly have no clue what you’re talking about. We might argue about “performance” and “cleanliness”. But please, don’t tell me about KDE code quality!
Did it ever occured to you, why the biggest/best/most-advanced Linux applications we have are written in G-technologies? (GObject, Gtk, GStreamer, Glib) This is solely because the G-API is superior to Qt/Kde API and developers are smart enough to see that.
then why has Havoc P, representing Red Hat, clearly stated that the introduction of Mono into Gnome would mean Red Hat will either fork or abandon Gnome?
Havoc P, in the same blog entry, has also said:
…Red Hat not shipping Mono is currently a can’t rather than a won’t. Making it worse, we are not able to spell out all the facts on why we can’t. In fact, none of the Red Hat engineers (including myself) knows all the facts (and we couldn’t share them in public if we did)…
so basically, I don’t care. It simply doesn’t hold any water.
Times have changed and .NET is pretty much dead so I don’t see much reason to use Mono.
Hint: Mono and mono-enabled applications are (likely) already a part of your Linux distribution. You clearly missed the moment they killed Kennedy.
But please, don’t tell me about KDE code quality!
You might not want to hear it, but you’re being told.
Did it ever occured to you, why the biggest/best/most-advanced Linux applications we have are written in G-technologies? (GObject, Gtk, GStreamer, Glib) This is solely because the G-API is superior to Qt/Kde API and developers are smart enough to see that.
Pardon? Glib and everything that surrounds it is an absolute pile of junk for programmers – a necessary evil sometimes, but junk nontheless. In terms of the desktop you need the power of natively compiled code and the ability to do rather low level things (you can’t run a whole desktop in a VM I’m afraid), but with the object-oriented power of C++, a development toolkit and higher level attributes that actually allow you to do things rather than debugging your own development tools.
As KDE 4 comes around (and other desktops get left behind) the non-political, straightforward reasons why KDE chose to use Qt will become very, very visible, and we’ll start to see some people get ever more uncomfortable.
Hint: Mono and mono-enabled applications are (likely) already a part of your Linux distribution. You clearly missed the moment they killed Kennedy.
The primary applications that use Mono are a desktop search tool with Lucene re-written in C#, and an application to arrange your photos that everyone treats as the second coming that isn’t really a patch on something like Digikam. *sarcasm*Yer, Mono is really rocking my world*/sarcasm*. Mono applications are certainly in my distribution, somewhere, but I’m not using them much (there actually aren’t that many, and they consume an absolutely incredible amount of memory). I can really see why Novell is investing all that money and people are so excited :-).
The supposed productivity benefits of .Net are certainly not translating into better applications either. Well, that is a more crucial area for Gnome but it isn’t in certain other desktops. They have better development tools already ;-).
Glib and everything that surrounds it is an absolute pile of junk for programmers – a necessary evil sometimes, but junk nontheless. In terms of the desktop you need the power of natively compiled code and the ability to do rather low level things (you can’t run a whole desktop in a VM I’m afraid)
Please learn something before you open your mouth. Glib is written in pure C.
From gtk.org:
GLib is the low-level core library that forms the basis of GTK+ and GNOME.
Please learn something before you open your mouth. Glib is written in pure C.
Wow, really?! And what’s that got to do with my comment? That comment was directed at Mono, and to an extent Java, (hence the ‘in terms of the desktop…’ bit) because that’s what people are looking to develop applications and desktop infrastructure in – otherwise, what’s the point?! That’s why people are looking to use stuff like Mono, because stuff like Glib are just simply not condusive to developing applications.
Can you think about what someone is writing before opening your mouth?
Did it ever occured to you, why the biggest/best/most-advanced Linux applications we have are written in G-technologies? (GObject, Gtk, GStreamer, Glib) This is solely because the G-API is superior to Qt/Kde API and developers are smart enough to see that.
Ah yes, of course. I guess you have names, numbers and evidences for backing that up. And nothing has to do with the LGPL, right?
Not so much for the porting ability (winforms will never be truly portable), but more for the RAD capabilities on linux. Look at all the cool apps that have sprung up as a direct result of mono. Apps that are simple, effective and well thought out.
I’m glad mono is around, and I can’t believe this discussion has yet again been turned into an anti-mono flame fest, including repeated quotes of Seth etc. So what. If you dont like it, don’t use it, stay away from it and shut the hell up.
You are dead right – it can only benefit linux to have better RAD tools (irrespective of whether you are completley paranoid about non-existant legal issues).
It also harms MS for Linux to have these tools but more importantly Linux has always been about choice so yeah its cool to have so many languages to choose from.
Whilst I have a problem with the mono bloat being in Gnome core, I really do hope people will wake up and see that mono can only be good for Linux in general.
Tell me this, what RAD ability is there for Mono? Is there a form builder a la VB? Is there a usable debugger? Good refactoring tools?
I’ve heard this argument of RAD before, but I have found no tools to backup such a claim.
Monodevelop is under construction, they want to create ASP.NET and GTK# form designer. Until you can create your app under Visual Studio and port the code to linux via mono.
mono doesn’t have good apps
for example take a look at beagle,
2 years of development full of memory leaks,over engineered which does absolutely nothing of important.
on the Windows side,do you seen Google Desktop Search ? 400k only which comprise an embedded web server,true search based on 100 different factors,sidebar database berkeley db.
http://en.wikipedia.org/wiki/Straw_man_argument
Mr Troll, you seem to be just a kid. Grew up, and bring better reasons -and explain them- please.
The article mentions somewhere that Solarias and SPARC aren’t supported, but Mono 1.1.9 was just out a few days ago with JIT support for those platforms:
http://www.mono-project.com/Supported_Platforms
Also, I happen to like Beagle I’ve yet to experience any memomory leaks, maybe the other anonymous is using an aging build.
That should be THAT platform not those. I realise that one is the chip, the other is the OS.
>then why has Havoc P, representing Red Hat, clearly >stated that the introduction of Mono into Gnome would >mean Red Hat will either fork or abandon >Gnome?
Politics and/or zealotry?
>Times have changed and .NET is pretty much dead so I don’t see much reason to use Mono.
There are some strange people on this thread.
The article incorrectly states that we do not support the SPARC. We have supported the SPARC since the 1.0 release.
It also claims that we are missing JIT support on OSX, Linux/PPC and Linux/S390 which is also incorrect. We have had JIT support for those architectures since Mono 1.0 (15 months ago) and the author was using Mono 1.1.7 which has such support.
In addition to those platforms Mono 1.1.9 added Itanium and ARM support.
Miguel.
SPARC might be supported, but there’s no binary for it yet (at least there doesn’t seem to be a link to one). I think that’s what the author was trying to say.
Ha! Miguel, in the middle of this storm of debate, squeeks out an off topic correction to a point in the article that no one cares about anyway!
Miguel! I think your silence is making it pretty clear that you have no ability to refute people’s concerns over MS right to charge a RAND fee or require licensing, both of which would absoultely murder gnome if mono were widely adopted!
It is becoming increasingly obvious to everyone that you are full of crap. Why don’t you either quell these objections by responding or *do the right thing* and shoot mono in the head and jump over to java?
Had you and Ximian/Novel spent all this effort on Java it would be 90% as useful (I agree .net is better) and all of gnome would be jumping in with both feet! How good is your technology if it stinks like rotting meat to the entire gnome community? Your legacy as the gnome founder is being severly tarnished by this mono debacle and if people’s concerns prove to be founded (if MS goes after us) you will die in imfamy for the damage you did.
Is it possible to use WINE on Linux with MONO for application which use P/Invoke WIN32 API calls?
ok, first of all, read this http://www.gnome.org/~seth/blog/mono.
Seth is one of the top gnome guys, and one of the redhat engineers. That is his reasoning on why there are problems with mono in a legal sense, and gives a very compelling reason not to let it become an official gnome dependancy.
The only thing that shakes his argument is an email by a .net engineer in a non official context on a non official mailing list. And yet, miguel and co. writes off *any* hesitation as zealotry, and huge amounts of people who have been drinking the ms hype (.net isnt anywhere near as revolutionary as its made out to be, and there are plenty of more mature, crossplatform RADs out there that you can develop on). Seth offers some compelling arguments that i dont think are even remotely zealotous, and i have yet to see any counter points that address these issues. and quite frankly, im a tad annoyed that all it takes to be marked as zealotous nowadays is to not stand with ms, and someone to point a fingure.
1. historically, ms hasnt been one to play fair
2. historically, ms doesnt stay consistant
3. ms has explicitly use their patents against oss
4. ecma is not ANSI, you retain IP ownership, and are allowed to charge a “reasonable” royalty. a royalty of 0.0000001$ is more then reasonable, and makes mono gpl incompatible. i think it would be prudent to have more then a non official email on a non official mailing list from ms before trusting they will not do this. yet that is what the mono project is telling us.
5. it isnt in ms’ best interest to exploit any of this until the day when it needs a weapon against gnome.
6. microsoft has a long history of shifty, anti-competitive behavior. why put a (potential) weapon in their hands when we dont need to?
saying something is zealotry doesnt make it so. i would like to hear a more cohearent argument from some mono guys that actually adresses these issues, rather then implying rabid anti-ms behavior. for the record, i use windows every day at work to develop on a propriatary platform. i know c#, mono is installed on my system and i use many mono apps. mono as a technology is fantastic, and i have nothing but respect for miguel and the rest of the mono team. we need something like this in gnome, but i dont think its a good idea to use this specific platform, and i have yet to hear a compelling arguments that stand up to what seth (and to a lesser extent, havoc) were talking about.
Miguel, since you are reading this (and offering corrections to the article), why don’t you address these issues?
And preemptively, no your mono FAQ does not address these issues.
The problem I have with the arguments that people make against Mono is that they’re all hypothetical. The whole argument is “What if Microsoft sometime in the distant future does…”?
It’s like the Open Source communities drive to have an Open Source implementation of Java. When you ask why, the whole argument is “Sure, Java is free now (as in free beer), but what if in the future Sun decides to…”?
It’s all based on some hypothetical situation that may never happen.
If only I could get a penny every time somebody mentioned Seth’s blog post in a mono related article then I would be a rich man!
“If only I could get a penny every time somebody mentioned Seth’s blog post in a mono related article then I would be a rich man!”
If only I could have a million dollars for every time someone convincingly refuted Seth’s blog post in a mono related article, then I would be a rich man! Wait, no, I wouldn’t.
If you think you are smart enough, then please bring the entire discussion links. Bringing Seth’s comments only, doesn’t help at all. Or maybe you didn’t even try to read the responses from Mono community?
the responses from the mono community (for the most part) is that redhat are zealots/pawns of sun. their response to the ecma royalties thing is that a ms engineer posted an email on some mailing list saying they wouldnt. given the history of microsoft when dealing with their competition, even if ms lawyers came out and said that they would never charge royalties, people should still be warey. hell, we have yet to hear novells lawyers say that its all good, let alone ms. really, all we have is miguel saying “dont worry about it”.
as for patent infringement, there are cute diagrams about what is under microsoft patent, and what is under ECMA, again not mentioning that even the ECMA stuff can be used against us. ECMA allows the company to retain IP ownership, it isnt the same thing as ANSI, and the response has been “well, its a standard”.
the reason the seth post comes up again and again is that we have yet to see a miguel post that addresses the points he brings up. he tends to say that redhats refusal to adopt mono is plain old anti-microsoft hatred, that .net is really good tech, and everyone nods sagely, because everyone knows how zealotous those free software nuts are. this bugs me, seth has a very good argument that not only has yet to be addressed, but is dismissed left right and center.
dont get me wrong, im a big fan of .net, i feel its java++ (or will be eventually once the platform matures more), and that mono itself is an extremely impressive accomplishment. i have nothing but respect for miguel, anyone who will take an interview at ms as a platform to evangelise free software will become a geek hero to me, for that reason alone. my problem isnt with mono, its with the dismissal of perfectly lucid and valid arguments as “Zealotous”, and being ignored.
Mono is not equal to .NET. How can I say that? Simple, if you look at them you notice that they only share a very few select bits, C#, CLI, some command line classes and some other low level stuff. The whole .NET compatibility stuff is the Mono ghetto if you want (just like Posix is the Plan9 ghetto). Mono and its apps are GTK/Gnome based and not Windows Forms (the Mono version isn’t even done yet) and Mono uses different languages compared to .NET. What am I talking about? What are the popular .NET languages you can think about? Right, C#, VB.NET and Delphi for .NET. What are popular Mono languages? They are C# (the only repeat from .NET), Boo, Nemerle and Java.
So IMHO .NET != Mono. But they sure are damn similar.
So IMHO .NET != Mono.
What abt.
.NET > Mono or
.NET < Mono
It is hard to say if Mono < or > then .NET, since it is a subset and a superset all at once.
(sortof like java = c++–++)
You could run everything that runs on Mono by installing all needed libs on .NET, but few people are going to do that and those that do will probably bee Gnome/Mono guys anyway. You can’t get all of .NET running on Mono since Microsoft isn’t porting and Mono isn’t implementing it.
You just have two separate cultures that share a technological subset to further their own agenda.
I fear that once again a story is going to disappear off of the OSNews front page without anyone offering any real refutation of the Mono IP risk.
Until such a refutation appears, please keep it out of my Linux distribution.
Just more of the same crap comments that has ruined OSnews. Maybe we can get a new version of OSNews for adults and not children.
Nobody is forcing you to use Mono, you have no power to stop anybody from using or programming in Mono. You have no influence on anybody’s language/framework of choice.
>you have no power to stop anybody from using or
>programming in Mono.
No, but we can make sure people are aware of the risk so they make an informed decision.
And yes, you will see this discussion come up in every mono-related article until Miguel or someone else at Novell addresses these issues.
No, but we can make sure people are aware of the risk so they make an informed decision.
everybody who is concerned is already aware of the issues. You have no influence
And yes, you will see this discussion come up in every mono-related article until Miguel or someone else at Novell addresses these issues.
And the mono flaming over the years has been a complete failure. Mono is used more than Java ever will be on Gnome. RedHat, Havoc, you, and the others have failed.
Mono adoption is growing, you are right. But why do you gloat over this fact? Seriously, please, tell me why I am wrong to be concerned over mono and the unresolved RAND licensing issues and I will be more than happy to use mono.
Really, mono and .net look fantastic and could do wonders for gnome development. However, as is, using mono is just not worth it.
Until you refute this, which you have not even tried to do (only call people zealots and tell them to shut up), you are very misguided for gloating over mono’s successes and redhat’s failures.
And, even though mono adoption has increased, it is still largely shunned:
Gnome officially does not allow mono in the core libs. Redhat and most other distros are also refusing to include it. Very few really nice apps have been done in mono. Monodevelop is junk. Sorry. Beagle just doesn’t really work day in and day out. Smaller apps like Muine are nice but are hardly enabled by C#. They could have been easily done in another language and in fact there are still many many more new apps in languages other than mono than in mono.
Seriously people like you who dismiss legitimate arguments and concerns with mocking and insults and no actual rebuttal make me sick.
Really, no kidding, you are my definition of an ass hole.
Monodevelop is a junky fork of sharpdevelop
Suck my cock shit face.
I think we need to add “Mono flamewar” to the list: Death, taxes, mono legal flamewar.
Anyways, if not Mono, then what is the next great hope for managed code on free software? Java? Python? Something new? Or none, I don’t need no stinkin’ garbage collection?
I vote for SML. The code practically proves itself.
Maybe EVERYBODY is Wrong.
Maybe mono is as safe as driven snow, yet, Bill hasn’t cleared up this mess has he. And Miguel was DISSED at the conference.
Seems to me, if this issue wasn’t an issue it wouldn’t be discussed.
Mono is the only language with the ablility to kill linux, yet Miguel, the microsoft fanboy, continues the denials.
This issue ONLY comes up with Mono. So maybe the problem is Mono.
Mono has to be one of the biggest wastes of OSS developers time, ever.
Chasing after M$’s coat tails is a bad idea.
Microsoft should not be trusted.
Just imagine the kick ass OSS JVM we could have right now if the Mono developers did Java instead.
You people trusting in Microsoft to be nice are self-deceived.
Mono has to be one of the biggest wastes of OSS developers time, ever.
Mono is the last chance to survive of OSS in the future. Without mono the linux-line will disappear in the next 5-10 years.
The platforms is always fighting, and the weapon in this fight the API-s and development environments. Until now, the main API of windows was the win32 API. It is not the best thing, it is based on very old win16 API from the DOS age. The enemy of windows is the linux with many incoherent, redundant, unstable, but more modern little libraries, desktop environments (paralell KDE, GNOME, XFCE, ICEWM, etc – if anything wastes the OSS developers time…), and the legacy of unix – POSIX, X11, binutils, etc. And java. This forces are in balance. But the .NET will change the power relations: this is a complex, coherent, well-designed class library and powerful, language-independent, safe, processor-independent runtime environment with JIT support. And with a very powerful development environment.
Let see it with the professional developers (or customers) eye. On the one side the 95% of the market, 95% of the applications with a very powerful development environment and with a very big, reilable company, and on the other side the 5% with many uncoherent libs, slow and unreilable scripting languages, but it is free.
The companies creates multi-platform applications if it is not claim too many resources, but the 5% of market is not too important if it need additional 100% resources. And the first is the customers. If you can create better applications in 100 programmres hour with .NET then java and you choose java the 95% of customers will be very disaffected, the remain 5% will be very happy. It is not a too good business…
Let see the prices: the JDK, JRE and Eclipse is free. This is very good. Linux, Tomacat also free, it is also very good. But if you want a really powerful solutinos, you must buy oracle, ibm, etc server stuffs – and this things are NOT free.
And let see the future: who is behind the java ? Only the SUN. Nobody else. IBM, Oracle, etc supports java – but this companies also supports .NET. Yes, there are FOSS implementations of java – gcj, kaffe, etc, but the legal state of this implementations not better then mono. M$ and SUN agreed with their patent portfolio, but this areement probably not stood to independent java implementations.
In a nutshell: if FOSS (and especially the linux) want to survive they must implement mono – and hoping for the best but excepting the worst – or create a totally new and far far better development environment. But in this case the survive is a little bit dim, because the most of companies will support .NET instead of this little bit sandy new platform.
Here here! Microsoft is not now and never was trust worthy.
kde have the desktop market…. about 70% market share…
now then Red Hat, clearly stated that the of Mono into Gnome…
red hat is the best partner for gnome
red hat have few choice
abandon gnome
fork gnome
use kde
use java for gnome 3
i hope red hat will use kde…
gnome is dead
Jesus, instead of just saying stuff like “god I hope those zealots don’t start up again” why doesn’t someone who feels that way actually refute the fact that MS retains the ability and right to charge a small fee or require registration for use of mono and that either of those things would kill gnome if mono were deeply integrated?
Come on, I’m waiting…
Anyone? No I didn’t think so. Mono integration into gnome is indefensible because it is obviously a bad idea.
How can people say Havoc and others are resisting mono because of “politics and/or zeolotry” when they fail to address or refute a single one of his and others concerns.
Give me a break. That is just rude and pathetic. Seriously snowflake you sound like one of those idiots who say anyone who is against George Bush is against him out of jelousy and anti-americanism.
Agh. Republicans stink!
(Continued, lack of edit for ACs)
It keeps being brought up because it hasn’t been refuted. If you are tired of hearing about it, convince us why it isn’t relevant.
Honestly I love mono as a developer for the MS.NET framework using C# it gives me the oppurtunity to finally program in Linux doing either Rich clients or Web applications. I am not a fan of PHP, personal preference, and to me C++ takes to long to do anything in. So to me mono is an excellent option. I think it is great that OSS is doing a .NET implementation.
This article (as most of them do) fails to mention about possible future costs of using .Net technologies. Microsoft has rights to start billing users of .Net technologies. So there is no guarantee Mono will be free.
It also possible if you use Java. The java is free at this moment but I can’t see any warranty for the future. Yes, the gcj always will remain free, but if SUN (or any successor) sue the gcj developers or users the free state of java can be changed.
But it is the smallest problem. The bigger is the power of .NET. M$ have enought money and interest to develop .NET. IMHO the future is the .NET, and the costs of refusing .NET/mono can be very-very hight.
Java is under a RAND grant. Anyone is free to implement a java environment with no strings attached, other then that sun reserves the right to what is called “Java”, and what isnt. If Sun could start sueing IBM for Jikes asap (sun and ibm have been in even more of a tug of war match over then then sun and microsoft)
As for ignoring .net, we arent talking about that, we are talking about adopting it. .Net is extremely new, and in the world of APIs new is generally not a good thing. It means it has some nifty new features that java does not, but java has a collosal head start in many areas. it will take microsoft years to get .net up to the same level as the java api for one. another thing to consider is that java is virtually synonmous with “enterprise computing”, if your making an enterprise webapp, chances are you will be using j2ee/oracle/*nix not .net/sqlserver/win2k3. the reason for this is that java has proven itself to be both secure and robust. Many desktop users dont realise how insanely popular the platform is in the business world, because they dont see many desktop apps (this is because of the swing issues i mentioned earlier)
Last but not least, there are (currently) more people working with java for their day to day jobs then any other language. It would be a nice bonus to use a language that is the majority of programmers bread and butter, it would mean the barrier to entry for writing gnome apps is next to nothing. it would be a big change from C, which has been on a steady decline for decades now (its not even taught in many courses anymore). Java would definately be the best choice at this point in time for getting young blood into gnome (to be fair, .net probably will be second best within the next few years, and if history has taught us anything, take the lead)
.Net is extremely new, and in the world of APIs new is generally not a good thing
It is true, but IMHO the .NET will successor of java. The C# and java language, basic class libs are very similar. But the designers of java created many wrong decisions when java was born: no properties, no operator overloading, no databinding, AWT, etc. And some of this early decisions can’t change without break the compatibility.
because they dont see many desktop apps (this is because of the swing issues i mentioned earlier)
Not only the swing. IMHO a biggest problem is a virtual machine. The .NET (and Mono) uses only one VM for every desktop applications. But every desktop java apps are uses their own runtime environment. The java 1.5 promised change, but now, after 1 years of 1.5 the most of java apps are use separated JVM.
And the biggest problem of desktop java is the future. IMHO if .NET will strong enought the running of desktop java apps will be uneasy on windows. And the 95% of desktop market is windows based. And IMHO in the near future the .NET will replace the flash on the client side. In this case the linux desktops without .NET support will dead.
if your making an enterprise webapp, chances are you will be using j2ee/oracle/*nix not .net/sqlserver/win2k3
At this moment. But IMHO it will change in the near future.
Last but not least, there are (currently) more people working with java for their day to day jobs then any other language.
It is true, but if you count the potential .NET developers you must count every Visual Basic, Delphi, (or maybe java :-)) and other programmers, not only the C# developers.
It is true, but IMHO the .NET will successor of java. The C# and java language, basic class libs are very similar. But the designers of java created many wrong decisions when java was born: no properties, no operator overloading, no databinding, AWT, etc. And some of this early decisions can’t change without break the compatibility.
Well, AWT got fixed with Swing… (i know, i know… ;-))
.net is giving sun the kick in the pants it needs though, Swing is getting exponentially better with every release. I find that C# gets more “right” then java, but only in a handful of ways, most of which can be solved with good IDE code generation (manditory plug for the greatest IDE of all time, IDEa http://www.jetbrains.com ;-))
Not only the swing. IMHO a biggest problem is a virtual machine. The .NET (and Mono) uses only one VM for every desktop applications. But every desktop java apps are uses their own runtime environment. The java 1.5 promised change, but now, after 1 years of 1.5 the most of java apps are use separated JVM.
first of all, keep in mind we are talking 10-20megs overhead here. that being said, the jvm per app thing is because performance in java takes a back seat to security. the 1.5 changes you mention only allowed for shared memory between jvms, not one jvm for multiple apps. imho, they should try to make this an option for situations where security is non-vital (i.e. most desktop apps). in a more general way, i get the feeling that javas design descisions were for the server first, desktop second, while .net is the other way around.
And the biggest problem of desktop java is the future. IMHO if .NET will strong enought the running of desktop java apps will be uneasy on windows. And the 95% of desktop market is windows based. And IMHO in the near future the .NET will replace the flash on the client side. In this case the linux desktops without .NET support will dead.
this is the biggest misconception out there. first of all, the “.net languages” (c# and co) will never replace everything, and they arent meant to. Apple uses objective C, most linux apps are written in C++, these languages arent going anywhere, no matter what windows does or doesnt do. Secondly, java isnt that successful on the desktop. but like i mentioned, its practically synonomous with enterprise computing. java lives in the server room, and the mobile device market. i dont see .net conquoring either any time soon. the only negative effect of not having .net means that programmers who only know the .net languages will have a much higher barrier to entry for writing on linux. while this is not a good thing, it doesnt exactly spell the death of the platform.
At this moment. But IMHO it will change in the near future.
I disagree. Microsoft is very far behind at the moment. I believe we will see a shift to where ms has a decent market share, just for the shear amount of money they are pouring into marketing the damn thing. but java has an *extremely* good reputation in the enterprise, microsoft has a very bad one that they are desperately trying to turn around. everyone is quite aware there has never been an oracleSlammer, but sqlSlammer cost everyone who had the misfortune of running sqlserver quite a bit of time and money. Not to mention that linux is the hip thing now for the server room, and while its possible to run .net on linux (obviously), i dont think anyone here is seriously comparing mono to the sun jvm.
I would say its possible that this will change in the far future, i seriously doubt theres going to be major changes to the enterprise stack any time soon.
It is true, but if you count the potential .NET developers you must count every Visual Basic, Delphi, (or maybe java :-)) and other programmers, not only the C# developers.
Currently, there isnt much non C#, vb.net, asp.net, etc development being done on the platform. why would you write a perl script on the .net vm? sure, its possible, but its far from desireable, except if you are planning to use it as a dll. and why would you do that in perl? the main attractiveness to the language agnostism of the cli is in porting legacy apps, not writing new ones. imho of course, but i have yet to see anything to suggest otherwise.
Apple uses objective C And nobody else…
most linux apps are written in C++, these languages arent going anywhere
The M$ Visual Studio implements C++. And reportedly the C++ support is very good in the .NET 2.0.
but java has an *extremely* good reputation in the enterprise, microsoft has a very bad one that they are desperately trying to turn around
But IMHO the most of FOSS applications are not enterprise applications. And IMHO the linux is never will the main platform of the enterprise applications, it always will the playfield the *nix and IMHO in the near future the windows platforms.
would say its possible that this will change in the far future, i seriously doubt theres going to be major changes to the enterprise stack any time soon.
IMHO the M$ rich and motivated enought to develop .NET platform and the neccessary servers. They can buy the best developers, arcitecths. SUN is far less ritch then M$ and the profit of the SUN IMHO come from hardware and not from Java. M$ always have more money to develop .NET then SUN to develop Java.
why would you write a perl script on the .net vm?
Why would you write perl (or python, PHP, visualbasic) code at all ? I doesn’t like perl, but there are many programmers who love it. In .NET you can develop your favorite language. Yes, VB.NET is more complex then VB6, but IMHO the VB coders will change to VB.NET and not to Java or C#. I like C++, Object Pascal and Java languages, my favorite is the C#. If anybody like the scripting languages (I hate this langs) he/she will use python, php, etc. But this languages they can use common class libraries, and calling Java, C++, etc classes from Python or Visual Basic or C#, etc is very easy. And IMHO it is a very strong thing, it can kill the other platforms.
The cost will likely be: $619.
The cost of Windows Server 2003.
How is this news?
Look at all those problems which raise with pointers, malloc and other (mainly C/C++-specific) problems which raise with unmanaged code: buffer over/underflows, weak casting and other bad things which lead to security leaks. Managing the memory manually is a very heavy duty task and no single application (maybe except hello-world-alikes) never somewhere suffered from writing to wrong parts of the memory.
Even best programmers run into problems with memory and code management. Of course, Mono/Java cannot make the code 100% secure against abuses, but it reduces the amount of code you have to maintain to somewhere under 50% of the original C code by taking away memory and code management. I ran into situations where the GC could not get rid of a variable because it thought that it was still referenced – no code is perfect. Manually nilling it helps – but such a situation is very rare compared to random segmentation faults you run into with C or C++ just because the data was of wrong type.
Yes, you cannot replace essential things with managed code. Writing a kernel in c# or java is hardly possible, but if the runtime environment (here I mean mono or java) allows accessing the kernel, then you can do anything you wanted to do low-lvl. Yes, for every task only best suitable tool should be used – and in a lot of cases C isn’t the suitable language anymore. Sorry, but you can write to block devices even with brainfuck/fuckfuck, but I doubt you’ll do that.
It is the point we should achieve: move the majority of code to managed runtimes and in my eyes to you make more sense to let the kernel, the RE, xorg stay as they are and move everything else [you can] to Mono or Java. That will raise code quality rapidly.
But that means that 96% of the code will have to be rewritten. But hey, a lot of code had to be rewritten from COBOL and Fortral once upon a time, too.
This is the race and Microsoft does everything wrong it can: win32-winforms-avalon – 3 API changes in only several years. That’s why .NET hasn’t been adopted until now [except by ATI and HP]. The one who manages to move the majority of the code base from unmanaged to managed will rule upcoming 20 years of IT.
And yes, while Java is a very consistent development environment, it is not usable for such a task. GCJ exists with a lot of ambition and GCC is in unmanaged (GCJ has a GC) world is what .NET is in managed. It is a good move from mono’s side to support java. And I hope that they will do that good.
Sorry, folks – it still seems that here are unmanaged advocates here who just tell “who can’t maintain the memory, he shouldn’t begin programming”. We are humans and we won’t manage memory as the computer does, so let the runtime environment do the job and return back to the UNIX roots: do one job, but do it good (and until now C programming meant two jobs: your task and managing all possible failures)
I agree completely about the technical merits of .net/mono, and how nessicary it is that we get a managed language as a core platform for gnome.
Where i disagree starts here
“And yes, while Java is a very consistent development environment, it is not usable for such a task. GCJ exists with a lot of ambition and GCC is in unmanaged (GCJ has a GC) world is what .NET is in managed. It is a good move from mono’s side to support java. And I hope that they will do that good. ”
Java as a platform is far more mature and complete, it will take .net years to get to the point that java is at already. There is huge amounts of open java development out there already (check out the jakarta project, or spend some time on sf.net), java is made by a company that is far more open source friendly, and doesnt have a long history of dirty pool that microsoft is famous for.
The big problem with desktop java isnt even java, its swing. Swing, while being a fantastic toolkit, is insanely easy to misuse. What you get is an extremely unresponsive and ugly application. But if java were the new gnome platform, we wouldnt be talking swing, we would be talking something like Java-Gnome, the GTK bindings for java, in which case you would expect the same responsivness as a Gtk# app. If you dont believe me, look for benchmarks. The argument isnt weather java is slow or not, its weather its faster then something natively compiled in C.
Last but not least, java is a managed language. So is python. It would make far more sense for gnome to embrace the two of those as the new api of the future then go for mono, which is a baby by comparison.
This is the race and Microsoft does everything wrong it can: win32-winforms-avalon – 3 API changes in only several years. That’s why .NET hasn’t been adopted until now [except by ATI and HP]. The one who manages to move the majority of the code base from unmanaged to managed will rule upcoming 20 years of IT.
But M$ in a very good position. Easier to port the existing Visual Basic, C++, Delphi code to .NET to Java. The .NET environment give a language-independent class library and give a common CLR to every language. There are COBOL, RPG, Python, Object Pascal, etc. implementation for .NET.
And yes, while Java is a very consistent development environment, it is not usable for such a task.
It is true, but the major reason: the java is NOT changed to API. No databindnigs, no client-side database cache, etc. Yes, there are some independent development, but there is not any only one widely accepted. With ADO.NET any company can develop data-bounded web controls, windows.forms controls or any external components.
But M$ in a very good position. Easier to port the existing Visual Basic, C++, Delphi code to .NET to Java. The .NET environment give a language-independent class library and give a common CLR to every language. There are COBOL, RPG, Python, Object Pascal, etc. implementation for .NET.
Try vb 6 to .net sometime, and tell me how easy it is 😉 but in general, your right. this is one of the coolest things about .net.
It is true, but the major reason: the java is NOT changed to API. No databindnigs, no client-side database cache, etc. Yes, there are some independent development, but there is not any only one widely accepted. With ADO.NET any company can develop data-bounded web controls, windows.forms controls or any external components.
Im not sure what you mean there. API stands for application programmers interface, and java has a better API then .net (or anything else ive ever used, its a cross platform os encapsulation). Data bindings and client side caching are very specific to the visual studio way of doing things, you are talking about VS code generation. And if you are going to tell me ASP offers more power to the developer then JSP, ill have to call bullshit. And say what you will about swing, its crime is over engineering, not under engineering. its power is staggering, unfortunately, so is the amount of code required to do anything (properly).
Data bindings and client side caching are very specific to the visual studio way of doing things, you are talking about VS code generation.
It is not only a visual studio way, all modern RAD-oriented systems use it (Delphi, Visual Studio, etc). And the most of professional java environments (JBuilder, Oracle JDeveloper, etc) also support it, but this tools are uses their own cached dataset versions. It can be very important if you creata applications with many forms and data elements.