A Novell-backed project seeking to create an open source version of web services technology in future versions of Windows could hit an IP hurdle from Microsoft. Evaluation has begun on an open source version of Indigo, the web services communications layer due in Longhorn and updates to Windows XP and Windows Server 2003.
Why don’t Mono just build their APIs independent of MS? Then they would be a true alternative for .Net!
-Ad
Indigo doesn’t need to be open. The point of Indigo is to make it easy for Windows developers to build web services clients or servers that support all the web services standards. Because they will be web services standards complient they can interoperate fine with similarly complient clients and servers running on different platforms.
If the other platforms want to create their own wrapper/runtime that makes it easier to create web services there is no reason to attempt to emulate the inplementation or API set of Indigo.
“But Microsoft suggests there could be issues over licensing of its intellectual property (IP) used in Indigo”
I thought the anti-mono folks were telling us that MS will destroy Linux/Mono by using their patents portfolio.
Why would Microsoft say anything if they wanted to screw us over?
> Why don’t Mono just build their APIs independent of MS? Then they would be a true alternative for .Net!
Most developers want their code to run *unmodified* across platforms – to fully leverage the effort in writing it the first place. Using Mono-only APIs is entirely possible but undesirable as it leaves all those Windows developers out in the cold. You might as well write in C++ if you don’t mind porting to every platform.
Incidentally, the threat of patent infringement lawsuits has been shrugged off many times by Mono advocates (eg. Miguel, Lumbergh et al.) but just like the Bitkeeper debacle, the chickens will always home to roost. Mono is a superb piece of technology but the legal hooks will always be there until Microsoft grants licenses to more than the very basic aspects of .NET covered in the ECMA spec. Microsoft suggested licensing .NET under RAND (Reasonable and Non-Discriminatory) terms, but this doesn’t cut it either in the Free Software World as considerable expense may be involved in purchasing a license.
It is a crying shame that C# and libraries are hamstrung out of the start-gate by corporate greed. At least gcj/Classpath is becoming a viable alternative (getting close to implementing all the Java 1.2 libraries) which has clear legal status (due to Sun’s explicit license grant in the Java Language Specification).
> Why would Microsoft say anything if they wanted to screw us over?
Any judge would think it unreasonable if they didn’t at leastfire a warning shot.
“At least gcj/Classpath is becoming a viable alternative (getting close to implementing all the Java 1.2 libraries)”
Only Java 1.2? I think they already have 80%+ of 1.4
http://www.kaffe.org/~stuart/japi/htmlout/h-jdk14-classpath.html
“Most developers want their code to run *unmodified* across platforms – to fully leverage the effort in writing it the first place.”
The code will likely run across platforms un-modified because it will be msil code so who cares as long as some libraries exist.
> Most developers want their code to run
> *unmodified* across platforms – to fully
> leverage the effort in writing it the
> first place.
But then Microsoft .NET is not the right platform to choose, neither is Mono. Microsoft .NET was *never* designed for that, it was the Mono initiators who brought this approach into discussion. Java can do that for you, it’s free!
Microsoft .NET was from the beginning on specifically designed for the Microsoft Windows platform. The ECMA standardisation was just a trick in order to pretend platform independence so that Microsoft .NET has a better position in the competition with *truly* platform-independent technologies.
> Any judge would think it unreasonable
> if they didn’t at leastfire a warning shot.
Agreed.
> The code will likely run across platforms un-modified because it will be msil code so who cares as long as some libraries exist.
Without a library with the same interface the program won’t run eg. try deleting libc.so on Linux or User32.dll on Windows and see how well your program runs. Doesn’t matter that the MSIL is portable, without a library exporting the correct API the program is a dead duck.
I can’t find words to express how stupid Microsoft is being. Developers’ dissatisfaction with Java, enough to allow them space to outcompete Sun – and now they go and hint that they want enough space and time to cut their own throats? How does that go down with the “due diligence” guys in the bean-counter ranks?
If Mono – and DotGNU – is not fully compatible with DotNET, so that you can transfer a program from a Linux development environment to a Windows deployment and vice versa, then people lose confidence in it, simple as that. If the reason why this is so, is due solely to Microsoft pulling a dirty Patent Law scam, people will lose confidence in Microsoft’s ability to make rational decisions.
Ergo, Microsoft will be seen as cutting its own throat with a devil-may-care grin and an Evil Genius(TM) cackle.
> But then Microsoft .NET is not the right platform to choose, neither is Mono. Microsoft .NET was *never* designed for that, it was the Mono initiators who brought this approach into discussion. Java can do that for you, it’s free!
Agreed. I’ll spell it out for the uninitiated – J A V A I S B E T T E R T H A N D O T N E T O R M O N O.
You can take your pick on whose Java JVM and libraries you want to use, it runs on all sorts of hardware, you won’t get into patent trouble if you decide to make your own JVM, it has a more extensive and vastly more stable class library, finally runs at near native speeds (somtimes exceeding them), can be compiled to pure native (gcj), and is free both financially and in terms of liberty.
Most developers want their code to run *unmodified* across platforms – to fully leverage the effort in writing it the first place. Using Mono-only APIs is entirely possible but undesirable as it leaves all those Windows developers out in the cold. You might as well write in C++ if you don’t mind porting to every platform.
Wot? You obviously have no clue. The MS .Net APIs have patents over it, not the C# language, CLR and MSIL specs. Mono runs on *multiple* platforms, so even Windows devs could use the Mono Framework and develop their apps and run it anywhere there is a Mono/DotGNU CLR with the corresponding Mono Framework assemblies. This way it will be free of MS API patents and evolve without MS blessing. This is however only possible if Mono develops their own Framework APIs.
Without a library with the same interface the program won’t run eg. try deleting libc.so on Linux or User32.dll on Windows and see how well your program runs. Doesn’t matter that the MSIL is portable, without a library exporting the correct API the program is a dead duck.
Man! You have utterly no clue! You would hardly have a working OS without those core system libraries. Your point is totally irrelevant. Try deleting those files off and let us know if you could successfully boot-up and use your OS.
There is something called *abstraction* in software design. Read about it!
-Ad
” This is however only possible if Mono develops their own Framework APIs.”
Forked WORA frameworks, hooray! GO .NET!
> Wot? You obviously have no clue.
Sorry, I didn’t make myself clear. I know that an Indigo equivalent of Gtk# can be formulated. However, if your mission is to get commercial devs (like me, who uses both C# and Java) to convince their project stakeholders to move onto free platforms then their code needs to be easily ported – not rewritten in another API.
Please also note that re-writing a completely new API may not save you from patent infringement (it just becomes less obvious which generic patent you have detonated). IMHO the best way around it is to develop using a platform where there has been a patent grant (eg. Java).
I know that an Indigo equivalent of Gtk# can be formulated.
Wots Indigo got to do with Gtk#?
Please also note that re-writing a completely new API may not save you from patent infringement (it just becomes less obvious which generic patent you have detonated).
And what would that be? You mean there are patents in the ECMA specs?
-Ad
> Man! You have utterly no clue! You would hardly have a working OS without those core system libraries. Your point is totally irrelevant. Try deleting those files off and let us know if you could successfully boot-up and use your OS.
Hi AdKiller. Take a chill pill please. My point was that libraries with the correct interface are critical (I just gave extreme examples). From your reaction I know you agree.
Even if you remove a lesser library the program won’t run. Hence, the importance of having free libraries that are exactly compatible with Indigo (which looks like they won’t happen), and saying MSIL is portable does not alleviate this.
> There is something called *abstraction* in software design. Read about it!
I don’t need to read about it. I practice it every day as a commercial developer.
Winforms, ADO.NET, ASP.NET…all of these APIs are not covered under the ECMA specs.
Mono can pull out the non-ecmca stack out at any time if Microsoft starts some shenigans.
Once again, the braindead “journalists” over at the Register prove that they are completely clueless. When this “journalist” is surprised that Longhorn is not part of the ECMA .NET specs then you know it’s a joke just like the rest of the Register’s articles.
But it seems that either Longhorn falls outside of Microsoft’s definition of the .NET Framework or that Microsoft is irritated that a competitor is now supporting Mono. Novell has begun using Mono in its iFolder file sharing application for Linux, Windows and Mac workgroups.
So now this “journalist” is saying that Microsoft is “irritated”. Funny, the spokeswoman didn’t say that. Oh, that’s right, it’s the Register “journalist” acting like a Psychic friend.
However, if your mission is to get commercial devs (like me, who uses both C# and Java) to convince their project stakeholders to move onto free platforms then their code needs to be easily ported – not rewritten in another API.
If you want to run your CLR/MSIL apps accross multiple platforms/OS then Mono/DotGNU is the only way to go.
I am willing to accept an .Net incompatible Mono API for my MSIL/CLR apps if it provides WORA and is patent-free. I find it pointless to write MSIL/CLR apps if the only platform I could legally run them on is Windows. Might as well write in them in native Win32/Win64.
-Ad
> Mono can pull out the non-ecmca stack out at any time if Microsoft starts some shenigans.
True. But how many commercial developers will be able to convince their stakeholders to use them? Surely some. But if they chose Java instead they wouldn’t have to.
If Mono is to grow (and I sincerely hope it does) it needs to allow the use of libraries compatible with Microsoft’s .NET APIs (ECMA and the rest) yet somehow put a stake through the heart of the Microsoft Patent Bogeyman – once and for all. If you can do this then I’d shut up and stop criticizing the legality of Mono.
Critizing the dodgy reporting of The Register doesn’t make the core issue go away.
> If you want to run your CLR/MSIL apps accross multiple platforms/OS then Mono/DotGNU is the only way to go.
Mono is indeed cool. However no one wants a scenario similar to the BitKeeper episode with Mono. That’s all. I don’t know how we all can solve this.
My point was that libraries with the correct interface are critical (I just gave extreme examples).
As long as the Framework developers are able to interface their APIs to the appropriate system libraries or even write their own replacement libraries this is never a problem. In fact the Mono developers have been handling issues like this from day 1.
I don’t need to read about it. I practice it every day as a commercial developer.
Then why is it you have no clue? In fact if you have actually tried Mono, you would make some sense.
[i]Hi AdKiller. Take a chill pill please.[i]
I would if you stop spreading FUD. Don’t make whats already possible, an impossible task.
-Ad
> Then why is it you have no clue? In fact if you have actually tried Mono, you would make some sense.
Used Mono, VisualStudio 2003, Netbeans, gcj, IBM JDK, Sun JDK, Linux since kernel 0.2 … blah blah blah (not that anyone should care).
I’m not spreading FUD. I have repeatedly stated Mono is great technology. People *need* to know that there are *potential* legal issues which they have have to think about first (just like any piece of core technology). Denying them this information is negligent. Yes, there are ways around it (eg. choose Gtk# rather than WinForms). However, choosing Gtk# over WinForms is not always viable for some people. In which case Java might be an ok choice.
Enough ok, this is getting dull.
> Mono runs on *multiple* platforms, so even
> Windows devs could use the Mono Framework
> and develop their apps and run it anywhere
> there is a Mono/DotGNU CLR with the
> corresponding Mono Framework assemblies.
But why would they want to do that if they can have a full-featured, well-performing, legally unencumbered, supported, released and “native” platform for the same price on their OS and hardware?
> Mono can pull out the non-ecmca stack out
> at any time if Microsoft starts some
> shenigans.
Yes, this is indeed possible, but if it happened, it would break all third-party applications that depend on these features, making the whole thing “a little bit” less attractive, at least until a replacement is implemented which might happen or not.
And remember that the whole stuff is unsupported, read the licenses. Support must be purchased separately from a commercial distributor and the market leader does not even offer it. Most developers are “conservative” and prefer continuous and feature-complete, self-compatible platforms.
Am I the only one who shuddered when I Cohen said, “Linux is becoming so popular and getting into the mainstream that VisualStudio developers want to be part of it… they don’t want to be left out of the Linux phenomenon – Linux is seen as a very cool operating system, we are making it very easy for Visual Studio developers”? I mean, it doesn’t sound like a very good statergy simply to base a company infrastucture on what is considered “vogue” and “cool” for the time.
Regarding the issue itself, I’d say that Novell should approach Microsoft and offer them something like $10million for all IP pertaining to Mono and related .NET technologies – if they fail to agree to an ever more generous offer, say $15million, then you simply run a “small company getting screwed by Microsoft” campaign. Mind you, I doubt they would turn down $15million if they were offered it.
And what would that be? You mean there are patents in the ECMA specs?
Of course there are. There are patents right throughout the whole damn thing!
Oh, and the definition of RAND: RAND, an abbreviation for reasonable and nondiscriminatory, is a phrase that ISO, the international standards group, and other groups use to describe terms to which a patent contributor to a standard must adhere. If a technology that is part of the standard is to be licensed for a fee, the terms must be nonexorbitant, published, and the same for all implementors (rather than subject to individual negotiation).
Meaning, Microsoft is WELL within its rights to demand patent payments for technologies within the ECMA specification; the only catch, Microsoft much charge the same amount for each person who comes forward wishing to use the IP.
Sorry, if Microsoft wanted to do it properly, they would have BSD’ed the whole damn thing, made the whole royalty free as well. Not only would it be a big ‘screw you’ to SUN and SUN’s licencing policy, it would also create mind share around creating new and enhancing existing classes.
Would Microsoft lose their competitive advantage? of course not, because what makes Windows popular isn’t the API, but the fact that it has a tonne of applications that can on it, and for most people, its fairly reliable (depending on how one defines ‘fairly’).
I could care less if some people want to play chicken little and hide under the covers. These people shouldn’t be writing code…and probably don’t. I’d worry about getting hit by bus crossing the street before I’d worry about what Microsoft *might* do 30 years from now.
Thats assuming they’re around in 30 years time. Companies are born, they live, grow, then die. Its the natural part of the business cycle. Each business building off the advancement of the last.
So lets say some Developer writes a piece of software that uses Mono and sells it to companies that are running both GNU/Linux and Windows operating environments.
Now lets say at some later date the Mono project has to cut out ASP.NET because MS threatens a lawsuit. The particular program used ASP.NET – so now the GNU/Linux customers have a non-functional program secondary to legal reasons.
Thats done two things – cut the developer’s pool of potential buyers in half (would not have happened had he used JAVA) and might have also put him in a very unfavorable position depending on the kind of support contracts he’s sold. How do you support a customer who no longer can run the application you wrote because the platform has been ripped from under you?
I’m not spreading FUD. I have repeatedly stated Mono is great technology. People *need* to know that there are *potential* legal issues which they have have to think about first (just like any piece of core technology). Denying them this information is negligent.
Yes, there are ways around it (eg. choose Gtk# rather than WinForms). However, choosing Gtk# over WinForms is not always viable for some people. In which case Java might be an ok choice.
1. IMHO java also can be dangerous – the SUN and the Microsoft agreed with their patent portfolio: the M$ never will sue SUN and SUN never will sue M$. But IMHO this agreement not concerned to open source implementation, like gcj, kaffe, classpath, etc.
2. I’am an independet developer. I will use the better technology – and IMHO the .NET is far better and easier to use then java. Better language (C#), better class libraries, better development tool (Visual Studio). If I can create my application with .NET in 3 years and with Java in 5 years I will prefer the .NET, and I don’t care the platform dependency. The cost of the windows OS is lower then the cost of developers. And the 5% of the users who are uses linux not enought reason to develop java application instead of .NET. If mono is good enought on linux I will port my applications, if not I never care it. And IMHO it is also true for open-source development. If you create OSS application for windows you will reach more people. Let see the uae (unix amiga emulator). It was started on linux, but at this moment the development of windows version (winuae) far before the linux version, only few people create unofficial backport to linux from the windows version. IMHO without a powerful multiplatform development environment the future of linux will be very similar…
I use GTK2/Glib to develop apps on Linux and I must say that if you write software properly it will compile on Windows as well without any rewriting/porting. And because it’s native it doesn’t need any VM and it’s fast as well.
If you want to code C/C++ level IMHO the wxWidgets is better solution. But this techologies are not enought for bigger commercial project – with this tools you can’t create big, multi-tier, database/report/form centric application – or only with many developer hours, with far more resource then the concurrent companies or developers. And the most of users doesn’t care the platform-independecy, only the functionality, , the reilablity, the user interface and the price the important attributes.
I could care less if some people want to play chicken little and hide under the covers. These people shouldn’t be writing code…and probably don’t. I’d worry about getting hit by bus crossing the street before I’d worry about what Microsoft *might* do 30 years from now.
Doesn’t address any of the issues. The Mono fans consistently say things like “Oh, you could be hit by a bus tomorrow” or “You could be sued for anything”. It doesn’t address anything.
It has also been pointed out in the past that the ECMA standards and the core of .Net are still Microsoft’s IP. It’s just that at the moment, the ECMA requires them to be reasonable about it. Cunningly, if you’re adhering to the ECMA specs then Microsoft can point without any doubt in the future that you’re using their IP. You can’t do that with something like Java.
Besides, if the Mono people have to pull large parts of the infrastructure what does that do for the people using it? What kind of future-proofing do you have? Novell licensing IP from Microsoft for .Net is also an absolute non-starter for open source projects. People then have the nerve to complain about things like dual-licensing.
Besides considering the poor performance of Novell recently, and the many wasteful open source activites they’re currently involved in, all of this may become pretty academic real soon:
http://www.itweek.co.uk/vnunet/news/2135677/novell-posts-16m-first-…
Doesn’t address any of the issues. The Mono fans consistently say things like “Oh, you could be hit by a bus tomorrow” or “You could be sued for anything”. It doesn’t address anything.
Because the most of developers doesn’t know the M$ patent portfolio. But if you have more then 10 000 patents, probably you can find one or more suitable to kill any software platform, especially if you have enough money. The big companies, like SUN, IBM, Novell can fight with their own patents – SUN is agreed with M$, but who will protect the open-source things like gcj, python, etc ?
Because the most of developers doesn’t know the M$ patent portfolio. But if you have more then 10 000 patents, probably you can find one or more suitable to kill any software platform, especially if you have enough money.
No, you’re not getting it at all. Throwing patents around is one thing, but more importantly, getting people to license your IP is something that Microsoft wants. If you have a cleanroom implementation of Java it is very difficult to prove that any project, open source or not, is using your ideas and anything covered by any patents. It’s not something Microsoft wants to be involved in because it is all so very uncertain, could go on for years and you’ve really got no chance of success.
However, if you’re adhering to a set of standards that at the moment are licensed royalty-free but where there is no guarantee of that still being the case in the future then you have much, much less of a defence. That’s Microsoft’s thinking behind of all of this.
If you have a cleanroom implementation of Java it is very difficult to prove that any project, open source or not, is using your ideas and anything covered by any patents.
I’am not sure. It is true for closed source applications – if anybody want to prove the hurt of his patents, probably he must disssasembly the binary – and it is not a simple challange, especially if the code is C/C++, Object Pascal or any similar native code. But if the source code is open IMHO it is not too hard proposition. And at this moment there are many grey legal state project exists on linux – let see the mp3 and Redhat, or the win32 codecs of the media players (mplayer, xine), or samba, wine, ntfs, etc, etc… IMHO if anybody (especially M$) want to sue linux at this moment they can do it. The only one chance of the open-source movement in the future the total wipe out of the software patents – util software patents exists anybody can threat any open (or closed) source solution.
And the another thing: IMHO the linux market is too small to based linux-only solutions. We need a multiplatform development environment – and IMHO the future of the java on windows is very doubtful. Yes, probably the java apps will run on windows in the near future – but probably the .NET apps will be faster and more OS-friendly. And because is the .NET environment is easier to use and more comfortable then java, IMHO any java-based linux future is a dead-end.
I am so tired of all the talk about patents here and patents there, I guess the relatives to the person who invented the wheel would have been really rich by now. If there had been a patent system back then, luckily there wasn’t otherwise humankind probably wouldn’t be where it is today.
Today all the big companies sadly have patent portfolios, so what about the little companies that just started who don’t have any patents and can’t afford paying millions of dollars.
Take the fictive company Futuremind, they have just started and made a super great product that uses free VoIP and free music format, they also uses various other code they came up with. But that code MS, SUN and Sony already had patents on, the rest was open source. Futuremind has just started and wanted to be doing something great for humankind, that was going to be cheap and non commercial licensed. But after they released the product all the big companies were on to them like wolves, asking for license cost otherwise they would sue them. But all the license costs was for millions of dollars even thou Futureminds product didn’t cost much at all aiming for the poor countries as well as for the rich countries, and just enough so that Futuremind would give positive results. So in the end Futuremind had to close down because they couldn’t afford license costs to the big companies.
Bottom line is that it will probably not be any solution for all these ridiculous patent rules anytime soon. New started companies will still have a hard time to avoid stepping on some big company’s patents even in the future, if they want to use any standard formats in their products.
If there was a company or foundation that started a cold war against the big companies with a patent portfolio that contained all open source solutions, and protected them against big greedy companies like MS, SUN and others. Perhaps getting some of the funds from small one time payments, calculated from how many patents they have, to companies that have patent portfolios to state an example that it will not be any good having lots and lots of patents. That would be a bad choice thou since it is what makes it so bad from the beginning that big companies buy thousand of patents only to earn money from them and to lock down their source code. All these licenses and patents only suppress the little companies and the individuals while the big companies fight with them against each other. Best would if they agreed to release them free, then prices would go down and more could buy or make their own solutions without worrying about licenses. Software is just 1’s and 0’s anyone can theoretically come up with the same combinations why would then only the first who came up with the combination gain from it.
But if the source code is open IMHO it is not too hard proposition.
Even with source, it is highly difficult to prove that one technique came from that particular place or that that particular way of doing things came from here. The source guarantees you nothing, and is actually a good source of protection. Just ask Linux.
And at this moment there are many grey legal state project exists on linux – let see the mp3 and Redhat, or the win32 codecs of the media players (mplayer, xine), or samba, wine, ntfs, etc, etc…
The way Microsoft has got everyone adhering to a set of standards removes an awful lot of that ambiguity. Microsoft are not interested in patents, they’re interested in making money out of licensing their IP by getting people to adhere to their standards and protocols – which the ECMA standards still are.
Yes, probably the java apps will run on windows in the near future
They run on Windows now, and arguably, the vast majority of Java apps are developed and run on Windows.
but probably the .NET apps will be faster and more OS-friendly.
You’re confusing .Net and Mono. .Net is Windows specific and was never designed to be cross-platform in any way. How on Earth do you figure that they’ll be faster? And what the hell is ‘OS friendly’?
And because is the .NET environment is easier to use and more comfortable then java
Is it? Which salesman did you hear that from?
IMHO any java-based linux future is a dead-end.
Well, that’s IYHO. There is no decent IDE or development infrastructure around Mono yet. All there is is the framework. The infrastructure around Java with projects like Apache on Linux and Unix is huge, and there exists an IDE and framework infrastructure around Eclipse that is well suited to producing desktop applications. There’s some work to do, but a whole lot more potential with what is available.
Futuremind has just started and wanted to be doing something great for humankind, that was going to be cheap and non commercial licensed. But after they released the product all the big companies were on to them like wolves, asking for license cost otherwise they would sue them.
That’s nigh-on impossible to prove or to get a firm legal basis for. That’s certainly not what Microsoft want to get involved in. However, if Futuremind are adhering to a set of, apparently open, standards created by Microsoft for the technology that they are using then they don’t have too much of a defence…..
But probably the .NET apps will be faster and more OS-friendly.
You’re confusing .Net and Mono. .Net is Windows specific and was never designed to be cross-platform in any way. How on Earth do you figure that they’ll be faster? And what the hell is ‘OS friendly’?
You don’t understand me. If I start a new project I can choose between java and .NET. The main target will the windows platofrm – the 5% of users who are uses linux not too important, but if I can create a port of my application to linux it can be very good. But the most of customers are uses windows (at this moment I have a multi-platform, Kylix based business application, and the proportion is ~ 20:1). And if I can create the new version of my application in 3 years with .NET and 5 with java I will prefer the .NET.
They run on Windows now, and arguably, the vast majority of Java apps are developed and run on Windows.
Yes, they run on windows now (very ugly, very strange but run), but who know the future ? IMHO the managed applications state on windows in future will very similar the win3.1 applications in win32 environment. They run, but they are very uncomfortable – and the most of users are choose the win32 version of applications.
You’re confusing .Net and Mono. .Net is Windows specific and was never designed to be cross-platform in any way.
Yes, but with mono I can port my applicaitons from windows to linux.
And what the hell is ‘OS friendly’?
For example windows.forms instead of swing. And the future versions of .NET/VS always will support the new technologies of windows. And the GTK# applications seems native linux applications – the swing is alien on every platform, the swt seems better but only the Eclipse support it (the Borland JBuilder and the SUN’s stuffs are supports only development of swing-based apps).
And because is the .NET environment is easier to use and more comfortable then java
Is it? Which salesman did you hear that from?
I tired both. I’am not a professional java or professional .NET developer, but I readed books, wrote small applications. The C# is better then java (properties, operator overloading, etc), and the .NET class libes also seems better (databinding, etc). It is only my opinion, but .NET seems better designed then java.
Well, that’s IYHO. There is no decent IDE or development infrastructure around Mono yet.
But monodevelop is grows up. Yes, eclipse and the netbeans is great open-source tools – but not comparable with M$ Visual Studio, even if you install all available plugins for Eclipse.
Microsoft are not interested in patents, they’re interested in making money out of licensing their IP by getting people to adhere to their standards and protocols
That’s a load of tosh. IP is a catch-all name for patents as well as copyright and trademarks, and no-one would license any of it if there wasn’t a however quiet threat of litigation.
That’s a load of tosh. IP is a catch-all name for patents as well as copyright and trademarks, and no-one would license any of it if there wasn’t a however quiet threat of litigation.
Mirosoft aren’t interested in patents as we know them unless they make hard money through licensing. You simply don’t understand what Microsoft are about.
You don’t understand me. If I start a new project I can choose between java and .NET. The main target will the windows platofrm – the 5% of users who are uses linux not too important, but if I can create a port of my application to linux it can be very good.
You’re not understanding at all. .Net is not a cross platform technology, and you have no guarantee that anything that works with Mono and .Net at the moment will work with .Net in five years time. You do have that with Java or Qt, assuming Microsoft doesn’t do something with Windows that mkes it untenable.
I repeat – .Net is not a cross-platform technology. Clear enough?
They run, but they are very uncomfortable – and the most of users are choose the win32 version of applications.
SWT Java apps do a better job than I though.
And in what way is Mono going to make that better? Cross-platform graphical Mono apps are non-existant, they look awful and don’t integrate very well at all. They don’t have a working Windows.Forms implementation that is cross-platform. What else is new?
For example windows.forms instead of swing.
Windows.Forms is not cross-platform.
And the GTK# applications seems native linux applications – the swing is alien on every platform, the swt seems better but only the Eclipse support it (the Borland JBuilder and the SUN’s stuffs are supports only development of swing-based apps).
You don’t seem to realise how difficult producing cross-platform toolkits is. Sun have had a lot of issues to trade off with Swing. IBM went in another direction with SWT but it’s very difficult to maintain and Trolltech went about it another way. Mono and GTK#’s cross-platform capabilities are nowhere near that of Swing, SWT or Qt.
It is only my opinion, but .NET seems better designed then java.
It might be when doing Windows development, but cross-platform development is another matter.
But monodevelop is grows up.
It simply isn’t good enough to do commercial development.
Yes, eclipse and the netbeans is great open-source tools – but not comparable with M$ Visual Studio, even if you install all available plugins for Eclipse.
Eclipse is more than a match for Visual Studio, especially in many of its features such as refactoring. It’s a very powerful tool.
You’re still confusing .Net and Mono totally though. Do you expect to develop Mono applications through Visual Studio? If you’re doing that then why not just use MS .Net?
You’ve been reading too many .Net books I’m afraid.
and you have no guarantee that anything that works with Mono and .Net at the moment will work with .Net in five years time
IMHO M$ is not stupid. They never will break the compatibility. But do you have any garantee that your java application will work on windows in five years time ?
I repeat – .Net is not a cross-platform technology. Clear enough?
Delphi is also not a cross-platform technology. But I can create cross-platform application with Delphi (and Kylix).
They don’t have a working Windows.Forms implementation that is cross-platform. What else is new?
IMHO the managed windows.forms implementation of mono will be a relative good stuff.
You don’t seem to realise how difficult producing cross-platform toolkits is. Sun have had a lot of issues to trade off with Swing. IBM went in another direction with SWT but it’s very difficult to maintain and Trolltech went about it another way. Mono and GTK#’s cross-platform capabilities are nowhere near that of Swing, SWT or Qt.
IMHO the best cross-platform toolkit is the wxWidgets. SWT is also good, but not too widely used. Swing is not too lucky thing under windows. I never seen any Qt application on windows, expect the Delphi7/CLX applications, but in this case the most of the widget rendering based on the CLX code.
It might be when doing Windows development, but cross-platform development is another matter.
The .NET framework is not tied too close the windows OS. Let see the mono. You can run with mono the .NET applications without any problem (expect the not implemented or buggy things). I created a small ASP.NET + ADO.NET test application with Firebrid ADO.NET provieder with ASP.NET web matrix with under .NET and it is also run with mono. And I create a simple “hello world” windows.forms app with VS express beta and it also run on cvs version of mono <u>without recompilation</u>. IMHO the compatiblity never will 100%, like the wine and “native” windows – but if you want you can create cross-platform applicatons with this. And you can use the very sympatic C# language on linux.
IMHO M$ is not stupid. They never will break the compatibility.
Why would Microsoft have any motive to create compatibility with any .Net compatible framework running on other platforms?! None. Microsoft’s first priority is Windows – period. Do you have any clue how Microsoft got where they are?
But do you have any garantee that your java application will work on windows in five years time ?
A hell of a lot more than using Mono or .Net.
Delphi is also not a cross-platform technology. But I can create cross-platform application with Delphi (and Kylix).
Delphi is not produced by a company that dictates the entire development direction for a whole desktop and operating system.
IMHO the managed windows.forms implementation of mono will be a relative good stuff.
Well, it’s IYHO then.
the managed windows.forms implementation of mono will be a relative good stuff.
Not quite good enough is it? And it simply does not have the cross-platform UI integration that you whinge about so much with Java.
The .NET framework is not tied too close the windows OS.
I’m afraid you’re seriously deluding yourself. As technology is tied closer and closer to Windows in the future, and it is with things like Indigo and Windows.Forms, that just simply isn’t true.
The point is that you simply cannot rely on Microsoft to be some sort of good samaritan, and to assume that they are is the height of naivety.
> Mirosoft aren’t interested in patents as we know them unless they make hard money through licensing. You simply don’t understand what Microsoft are about.
Microsoft is primarily interested in maintaining monopoly and expanding it to new markets. Monopoly is THE thing which guarantees such insane amounts of cash as they earn. They’ll use their patent portfolio to crush everything on their way and especially everything threatening their current monopoly. There are only two things holding them back: antitrust officials (vulnerable to bribery, see US govt) and lack of softpat law in European Union (almost passed). Take these two things and see what happens.
They’ll use their patent portfolio to crush everything on their way and especially everything threatening their current monopoly.
Their patent portfolio is useless to them unless it makes money, and they have a cast-iron and reliable way of people paying licenses for their ‘IP’. That’s what Microsoft are in it for, and that’s how they maintain their monopoly and their large bottom-line.
It’s a different perspective on things to they way one would normally expect a company to go about leveraging patents or ‘IP’.
Why would Microsoft have any motive to create compatibility with any .Net compatible framework running on other platforms?!
Because if .NET 2.0 not 100% compatible with 1.1 all 1.1 apps needs total rewrite. In this case everybody drop the .NET to trash. And if mono is compatible with .NET 1.1, the mono application will run on future versions of .NET.
Not quite good enough is it? And it simply does not have the cross-platform UI integration that you whinge about so much with Java.
The windows.forms part of mono is under development at this moment. But when finished it will a relative good stuff. Yes, at this moment very incomplete – but the java is finshed – and never will far better. If you see the last 10 years of java you can’t see too big grow. Swing is a little bit faster on new version, etc but IMHO java never will support properties, databinding, operator overloading, etc.
The design of java is not too lucky – when java was born properties, databinding, etc are exists in Visual Basic, Delphi, etc. And if SUN implement this features it is broke the compatiblity with the current version of java and class libraries. IMHO it is the biggest problem with java – never will much better in the future…
>but IMHO java never will support properties, databinding, operator overloading, etc.
ah! you’re one of those who think that having more features in a language is better… no it isn’t. it’s the opposite: the less thing you have to learn to use a language, the better is for all.
properties aren’t that useful, databinding is avaiable from thid party libraries, operator overloading is a big mistake.
all those “wonderful” things that are present in .net aren’t really the factor for deiding to use one or the other platform, from a business point of view (you rather look at how scalable the platform is, not the presence/absence of properties.)
properties aren’t that useful
Properties are very useful. Make your code cleaner.
databinding is avaiable from thid party libraries
Yes. With external libraries you can do everything. But if the company who create the library is out of business you must rewrite all of your code. The state of several external plugins of Eclipse is very similar – if the vendor doesn’t support the X version of Eclipse you must use the X-1 version. And if any another neccessery plugin available only with the X+1 version…
operator overloading is a big mistake.
IMHO it is a useful feature. When I programming in C++ I use relative rarely, but if anybody use it adeptly it also make the code simplier and cleaner. Imagine the C++ without operator overloading. String handling with functions… Brrr. Java is resolved the problem – with built-in string object. It is good – until you don’t want to create any similar object…