De Icaza Says Microsoft Has Shot .NET Ecosystem In Foot
425
An anonymous reader writes "Microsoft has shot the .NET ecosystem in the foot because of the constant threat of patent infringement that it has cast on the system, Novell vice-president and Microsoft MVP Miguel de Icaza is quoted as telling the website Software Development Times recently."
De Icaza is Novell veep? (Score:3, Insightful)
I used to respect that company (NetWare 3.11, NDS, NetWare 5.0, GroupWise, ZenWorks, all top-notch tech, IMHO).
Now, a tad less.
Re: (Score:2)
Strange though how he is not listed under http://www.novell.com/company/bios/ [novell.com]
I used to respect that company (NetWare 3.11, NDS, NetWare 5.0, GroupWise, ZenWorks, all top-notch tech, IMHO).
Now, a tad less.
Yeah just like when Mr. Hovsepian took his new seat as CEO he said he would do so much for linux and the linux community. A few months later Novell axe's a bunch of key KDE developers, and later on let go a bunch more of there development teams on SUSE / opensuse.
Re: (Score:2)
Of course it would be wrong for the VP of a company who probably has done more deals with Microsoft on interoperability to know something about their software. Netware of the past was *the* directory service for Windows.
For those who don't "repsect" Novell any more because they act like a corporate player doesn't get it. They came in and fought the SCO fight a bit and at the same time did some questionable deals with MS, it's all just business to them. They have stood on principle quite a few times but they
Not very persuasive... (Score:5, Funny)
Microsoft has shot the .NET ecosystem in the foot
A head shot would have been clearer. We all know .NET limps already.
Or is this just the usual Microsoft wobbling instead of making an actual decision?
Re:Not very persuasive... (Score:4, Insightful)
Yeah, it limps alright. Just take a look at StackOverflow [stackoverflow.com].
Re: (Score:3, Insightful)
Re:Not very persuasive... (Score:4, Insightful)
I'd say check the Tiobe index [tiobe.com] for a more accurate record. You'd think that a major corporation like Microsoft could garner more popularity than PHP instead of less than half.
Re:Not very persuasive... (Score:5, Insightful)
Lots of questions means lots of confusion. I think all you proved is a severe lack of documentation or how newbies are confused as hell by it.
Or, maybe, lots of questions just means lots of newbies?
Or it could even mean that StackOverflow is historically more .NET-centric, so that's where you go to ask .NET questions; and Java ones are asked elsewhere.
I'd say check the Tiobe index [tiobe.com] for a more accurate record. You'd think that a major corporation like Microsoft could garner more popularity than PHP instead of less than half.
TIOBE index is extremely unaccurate due to their, ahem, "methodology" [tiobe.com], and they even tell so themselves.
It is particularly inaccurate with respect to .NET, because you need to extract VB.NET out of all BASIC job offerings, add C#, and then add all positions that just say ".NET" without specifying the language (which isn't even tracked on TIOBE), to get a real figure.
Then, also, think about what it measures - if you look at what is found by googling for "PHP programming" (which is what TIOBE does, pretty much), it's mostly various tutorials/howtos. So, it effectively measures the amount of learning material available online for a given tech, including any low-quality and duplicate ones. It's no secret that there's a crapload of that for PHP. In fact, by your logic, it would indicate that PHP is so bad, since it needs so much tutorials to teach people to do things, no?
Instead of TIOBE, why don't you open your nearest job search website, and look at the number of available .NET positions vs Java ones? (the ratio will vary quite a bit by region/country, by the way)
Re: (Score:3, Informative)
Again, you need to compare C# + VB.NET to get a meaningful comparison of .NET vs Java.
And if you want to count Groovy and Scala, sure - but then let's also count Boo and F#.
Oh, and the link is from 2006. Here [odinjobs.com] is a newer comparison, from 2009 (though they don't give the methodology they used to determine what ".NET" is). Still shows Java roughly 1.5x ahead in terms of job count, which isn't surprising, considering the head start.
Salary distribution is more interesting. It shows that .NET salary distribution
Re:Not very persuasive... (Score:5, Funny)
Microsoft hasn't shot/killed anything, they just stopped pulling the puppet strings and making the silly squeaky noises that made it look like it was alive in the first place.
Re:Not very persuasive... (Score:5, Funny)
Re:Paint.NET (Score:4, Insightful)
Paint.NET is far too usable to be compared to Gimp.
Re: (Score:3, Interesting)
No one gives a shit that uses .NET.
No one does anything of importance and cares about Mono. Unless your app was written to deal with the inadequacies of Mono its unlikely that any non-trivial app will work in Mono. There is no concern by anyone with a non-trivial app about what Mono licensing issues might mean because Mono is incapable of running any app that matters.
Rant, whine, moan, talk out your ass, lie, cheat and steal to make it sound like MS is the reason Mono isn't taking off ... won't make it so
Finally (Score:5, Insightful)
It took how many years for Miguel de Icaza to realize this? Most of us could have told him that with seconds.
Re:Finally (Score:5, Interesting)
Re:Finally (Score:5, Insightful)
Re:Finally (Score:4, Insightful)
Huh? When did Stallman ever say that Microsoft "shot .NET in the foot" (paraphrased)? I'm sure he said .NET was evil. That Mono was equally evil. But Miguel's quote does not, to my knowledge, echo a single damn thing Stallman has ever said.
Maybe you should try actually reading and comprehending the text of the quote, first, before you try and fit it into your own ideological mold?
So Miguel finally figured it out? (Score:5, Insightful)
Re: (Score:3, Funny)
Wah wah wah (Score:5, Insightful)
So is he allowed to be surprised or angry now?
Re:Wah wah wah (Score:4, Insightful)
Re: (Score:2)
Um. Chauvinist, much?
Re:Wah wah wah (Score:5, Insightful)
So is he allowed to be surprised or angry now?
Of course he is.
And we're allowed to roll our eyes and say "No shit, Sherlock! Welcome to five years ago!"
I mean sure he's slow on the uptake. Sure it was pretty silly to dismiss the quite plain threat of Microsoft's patents with "Oh but they won't do that!" But hey, at least the "but they won't do that!" turns into "gee, it's looking like that's exactly what they plan to do" eventually.
Doesn't mean I think he's any smarter than I did yesterday. But sure he's allowed to change his mind, and that's a good thing.
Re:Wah wah wah (Score:4, Interesting)
Is that what he did? I remember long, in-depth justifications from him and others. Endless debates on slashdot with Miguel personally arguing in dozens of threads.
Yeah, I personally argued with him, and yes, I think that's an accurate characterization of his response to the patent issues. He couldn't deny that patent issues existed, so instead he simply claimed that they would not be a problem. After all, Microsoft had promised. So we were just being paranoid.
Re:Wah wah wah (Score:5, Interesting)
You are mixing two different things.
Microsoft claims that they have patents had a chilling effect on Mono adoption.
That does not mean that I do not stand 100% by our position in the Mono project regarding patents. To begin with, we think it is a bullshit argument, since everything you use is infringing on someone else's patents (Microsoft included).
Microsoft like any other corporation will do a cost/benefit analysis of suing someone over patents. So far the kernel has been a juicier target than Mono has.
Re:Wah wah wah (Score:5, Insightful)
I know you're getting a hard time in this thread but it has to be taken for what it is.
Re: (Score:3, Insightful)
It is useless to hate a rabid dog, but it is dangerous to ignore that it is a rabid dog and will bite anyone who comes too close.
Microsoft is not to be loved or hated, but it is to be treated as a dangerous animal and kept in its place.
He was a retard (Score:5, Insightful)
Re: (Score:2, Interesting)
Well, it looks like he now understands why people had reservations about the Mono project in the first place, and why it wasn't embraced with open arms by the community. Considering that he seems to be quite smart it may feel like a surprise that the learning experience took this long, but frankly I'm just happy that he seems to have learned the lesson. Hopefully this means he will put his considerable skills to better use now that he is starting to see the problems with his original approach.
Re:He was a retard (Score:4, Funny)
Yep. From what I've seen from him, I suspect he'll now have seen the light and start devoting his considerable skills to porting whatever is MSes current ultimate programming language, or maybe WGA.
The original SD Times article. (Score:5, Informative)
Taken from Google Cache: http://74.125.93.132/search?q=cache:LPFDjfqGMRMJ:www.sdtimes.com/link/34203+Does+Windows+cost+Microsoft+opportunities&cd=1&hl=en&ct=clnk&gl=us
Does Windows cost Microsoft opportunities?
By David Worthington
March 17, 2010 — .NET Framework has won new users to the platform, and drawn its share of criticism from those who think Microsoft’s stewardship has often been off-target.
The evolution of the
Among the critics is Novell vice president Miguel de Icaza, who said .NET's focus on Windows has come at the expense of opportunities for Microsoft, and its desire to guard its intellectual property is an impediment on the platform.
"Microsoft has shot the .NET ecosystem in the foot because of the constant threat of patent infringement that they have cast on the ecosystem," he said. "Unlike the Java world that is blossoming with dozens of vibrant Java Virtual Machine implementations, the .NET world has suffered by this meme spread by [Microsoft CEO Steve Ballmer] that they would come after people that do not license patents from them."
In practice, the Java community only uses two or three JVMs (IBM's, JRockit, and OpenJDK from Sun), while others are research efforts or smaller-scale open-source projects, said author and consultant Ted Neward. "Virtual machines are not something the open-source community seems to want to experiment with."
Microsoft submitted the Common Language Infrastructure (CLI) specification to ECMA International, which ratified it in 2001. Microsoft built technologies on top of the specification as .NET evolved.
Microsoft has made an open-source CLI implementation codenamed "Rotor" freely available [microsoft.com], but it has had little or no uptake, Neward noted.
However, Mono remains the only implementer of the ECMA CLI specification outside of Microsoft, and that is a testament to the legal uncertainty surrounding some aspects of .NET due to Microsoft's statements about open-source software, de Icaza said.
"[Microsoft] would still be the No. 1 stack, but it would have encouraged an ecosystem that would have innovated extensively around their platform," he added.
Facebook, Google, Ruby on Rails and Wikipedia could have been built using .NET, de Icaza claimed. "All of those are failed opportunities. Even if the cross-language story was great, the Web integration fantastic, the architecture was the right one to fit whatever flavor of a platform you wanted, people flocked elsewhere."
"To say that Google could have used .NET is to undervalue both Google and .NET. Google creates value from things like distributed MapReduce and a brand-new system-level programming with concurrent coroutines," said Larry O'Brien, an independent analyst and consultant who writes the Windows & .NET column for SD Times. ".NET creates value from a fantastic IDE, great mainstream languages, and well-executed technologies like Silverlight, LINQ and the DLR [Dynamic Language Runtime]."
Despite the criticisms, customers are "making bets on .NET" all the time, said Brandon Watson, director of product management for Microsoft's development platforms. "The fact that we didn't get Google—I'll cry a little, but not a lot. I'm not certain that Google wouldn't have taken a bet on philosophy, wanting to beat us."
Further, developers can build languages on top of .NET 4.0's dynamic language runtime, which supports both Python and Ruby, Watson said. But it's the addition of new technologies on top of the ECMA specification, such as the DLR, that de Icaza believes impedes the CLI's adoption.
Microsoft's submission to ECMA has remained at a "core level," de Icaza claimed. "I
Re:The original SD Times article. (Score:4, Insightful)
"Unlike the Java world that is blossoming with dozens of vibrant Java Virtual Machine implementations, the .NET world has suffered by this meme spread by [Microsoft CEO Steve Ballmer] that they would come after people that do not license patents from them."
In practice, the Java community only uses two or three JVMs (IBM's, JRockit, and OpenJDK from Sun), while others are research efforts or smaller-scale open-source projects, said author and consultant Ted Neward. "Virtual machines are not something the open-source community seems to want to experiment with."
What the hell kind of rhetorical diversion that was?
"I love air", de Icaza was quoted as saying. "Breathing oxygen is a wonderful thing. I couldn't get through a single day without oxygen."
In practice, oxygen only accounts for about 20% of Earth's atmosphere, said author and consultant Ted Neward. "O2 just isn't something that the open source community wants to inhale frequently."
Tip: Java isn't popular because people work on multiple JVMs (however small in their number they might be). The point de Icaza was making is that Java is popular because there can be multiple JVMs.
Re: (Score:3, Informative)
Microsoft has made an open-source CLI implementation codenamed "Rotor" freely available, but it has had little or no uptake, Neward noted.
Rotor isn't open source, though. It's "shared source", meaning that you can look at the code, but you can't hack on it and redistribute the result. It's more of a reference implementation for study.
It's not full-featured, either. It doesn't have the complete set of .NET class libraries, for example; only the basic stuff (what was in Ecma CLI spec, I believe).
Oh, and it's Windows-only (the first release, which corresponded to .NET 1.1 IIRC, was for Windows and FreeBSD).
Re: (Score:3, Informative)
Oh Noes! (Score:5, Funny)
The sky in Miguel de Icaza's world just turned blue!
Well -- (Score:2)
-- as if nothing like this was ever anticipated or expected.
Whoosh!
O rly. (Score:5, Interesting)
"He also claimed that Facebook, Google, Ruby on Rails and Wikipedia could have been built using .NET."
Wikipedia? AHAHAHAHAHAHAHA no. Really, no.
(Although the WMF Lucene search implementation was done in C# on Mono for a while, when Java wasn't yet sufficiently free software. It ran at half the speed of the Java version.)
Re: (Score:3, Insightful)
Re:O rly. (Score:4, Informative)
Although the WMF Lucene search implementation was done in C# on Mono for a while, when Java wasn't yet sufficiently free software. It ran at half the speed of the Java version.
Mono runtime (both JIT and GC) sucks, to be honest - compared to both Sun JVM, and MS .NET VM. Any .NET vs Java performance comparison that uses Mono is thus flawed from the get go.
It's faster than Python, though, I'll grant them that...
Re: (Score:3, Informative)
Re:O rly. (Score:4, Insightful)
.NET was released in July of 2000.
And Google uses a mix of languages and tools: different features require different tools and all that. Had there been no legal problems, it would have been a no-brainer to use .NET over other technologies.
It did not have to be Mono, it could have been a third party .NET implementaion.
Re: (Score:3, Insightful)
Google uses a range of technologies but as far as I can tell it doesn't use Windows on its servers, partly because it needs the flexibility to do quite advanced things with Linux to gain performance. The big attraction of .NET is not the CLR but the .NET libraries, which still aren't replicated on Mono - so why would Google choose to use .NET and limit its options to a closed source OS owned by its biggest competitor?
Re: (Score:3, Informative)
No. Nobody has to do anything here. He was indicating that he found that statement hilarious, and there is nothing wrong with that. If you want more in-depth analysis feel free to read any of the other dozens of posts here.
MS is a more aggressive business than SUN (Score:2)
All MS is interested in is the bottom line. If they allow free implementations of .NET then as far as they see it they'll lose sales on their .NET compiler and whats more may even lose Windows sales if people port their .NET apps to a-n-other platform.
I'm not saying they're right but thats probably the way their short term thinking marketing and legal dept see it.
So, Miguel (Score:4, Insightful)
can we get that diseased crap out of GNOME?
sudo apt-get remove --crap-out mono-common (Score:2, Funny)
^_^'
Re:So, Miguel (Score:5, Insightful)
Re: (Score:3, Insightful)
Re: (Score:3, Informative)
I could see there may be some problems...
The following packaegs will be REMOVED:
f-spot libart2.0-cil libflickrnet2.2-cil libgconf2.0-cil libglade2.0-cil
libglib2.0-cil libgmime2.2a-cil libgnome-keyring1.0-cil libgnome-vfs2.0-cil
libgnome2.24-cil libgnomepanel2.24-cil libgtk2.0-cil
libmono-addins-gui0.2-cil libndesk-dbus-glib1.0-cil
libndesk-dbus1.0-cil tomboy
Re:So, Miguel (Score:5, Informative)
Rather, submit patches to replace System.Data with Sqlite-net and you have protection from Microsoft patents on .NET
Yes, but... (Score:5, Insightful)
Unfortunately, even the most studious lack of infringement won't prevent you from getting abusively sued into bankruptcy. It's all about the implied threat, Miguel.
C# and F# (Score:4, Interesting)
Maybe the biggest lamentation I have is regarding C#. I keep on hearing how it's a wonderful improvement on C++, which is my bread-and-butter language. But I'm just not willing to invest time in a language that requires paying a Microsoft tax one way or another.
Similarly for F# (I have a deep love for functional programming).
Re:C# and F# (Score:5, Insightful)
Maybe the biggest lamentation I have is regarding C#. I keep on hearing how it's a wonderful improvement on C++, which is my bread-and-butter language.
I wouldn't be too sad. C# is really more of an improvement on Java than it is on C++. I'm going to go out on a limb and assume there's a reason you use C++ and not Java, and those reasons would probably still mean you'd use C++ over C#.
Re: (Score:2)
As a Java and C++ developer, I'm jealous of several language features found in C# -- especially properties.
Re: (Score:3, Insightful)
As a general rule, getters and setters suck. They're one step better than making variables public.
Your class APIs should be based on how the class should behave, not on how it's implemented. This may include getters and setters on particular member variables, but if you really miss properties you're almost certainly doing it wrong.
This applies to all OO languages with more or less the C++ model, including C# and Java.
Re: (Score:3, Informative)
foo.fraction = bar.num / bar.den;
than it is to read:
foo.setFraction(bar.getNum() / bar.getDen());
Contrived example, but an idiom that allows all assignment to be don
Re: (Score:3, Informative)
You can use Python or Ruby themselves with Jython [jython.org] or JRuby [jruby.org], respectively.
Re:C# and F# (Score:4, Funny)
The C++ template mechanism alone is turing-complete.
I'm not entirely sure that's a good thing.
Re: (Score:3, Informative)
I don't understand what you mean by Microsoft Tax? I can develop in C# without giving any money to MS (well, I spose I need a copy of Windows
looks like you answered your own question.
.NET is a Marketing Term (Score:3, Insightful)
Miguel was enamored with a lot of the technology behind ".NET", and thought he could outsmart Microsoft, in a sense. He thought he would be pragmatic and non-religious about the technology and adopt it.
What he never realized, and is maybe now only starting to realize, is that .NET is a *marketing* term. It was brilliantly crafted by Microsoft's marketing people. As smart as their developers are and as cool as Miguel thought their engineering and technology is, their marketing is far and away better and more sophisticated. .NET is a brilliant marketing strategy. Miguel didn't realize that by using the '.NET' term so incessantly, he was basically ensuring that he would be in the position that he's in now.
Sure, there was C# and the CLR. That was probably 10% of ".NET", which was a overarching strategy for the *Windows* ecosystem at the time that involved extending Windows into the Internet as much as possible, including "tieing" it into all sorts of Microsoft-oriented services that were MSN at the time.
Think about it. VisualStudio.NET. What the !@#$ does that mean? It's a branding term. Miguel showed his complete lack of understanding of marketing by using that term so regularly and continuously WRT Mono.
Why "pragmatism" and "ignoring reality" don't mix (Score:5, Insightful)
Miguel was enamored with a lot of the technology behind ".NET", and thought he could outsmart Microsoft, in a sense. He thought he would be pragmatic and non-religious about the technology and adopt it.
I've been saying it for years -- real pragmatism must always include consideration of the practical realities surrounding a tool or technology. Like, who is providing it, what are the terms under which they provide it, could those terms change and how would that affect your use of the tool? Or as you point out, how does the technology you like (C#) fit into the larger strategy being pushed (.NET)?
Many engineers tend to want to ignore those aspects and focus solely on the qualities of the tool itself. They say they just want something that "does the job", and thus fail to consider how those factors affect the tool's ability to do the job. Because, being technically-minded people, they want the technical factors to be the only ones that matter. They call this "pragmatism" and being "non-religious".
Which just goes to show how even people who value pragmatism and rationality more than anyone can still be completely irrational. Ignoring the important external factors because you really wish they weren't important is not rational!
Rationality is simply a useful trick that our mammalian brains have picked up. But at the end of the day we are still emotional animals, and even when expending great effort to force ourselves to think rationally we can't eliminate the effect of our emotions. Much of the time "rationality" is simply a way to justify what we've already decided based on emotion.
Ergo the worst thing a person who values rationality can do is tell themselves that they are completely rational and uninfluenced by emotion. I think there's an important lesson to be learned here, even for those of us who saw this situation coming from a mile away.
That took guts to admit, Miguel (Score:5, Insightful)
Everyone else has been saying that forever, but to hear it from you.. I'm impressed.
Re:That took guts to admit, Miguel (Score:4, Interesting)
Comment removed (Score:4, Interesting)
Re: (Score:3, Interesting)
Developers rarely need them the way that they used to need them in the business space. Most large enterprise apps can now be entirely built in Java, Ruby, Python, Perl or PHP for the backend and JavaScript with a toolkit like jQuery or ExtJs for the front end. There is not a single need for Microsoft in that whole space.
There were always alternatives to MS developer tools, going back over a decade. On DOS, Turbo Pascal was awesome. On early Windows versions, Delphi ate everyone's launch (VB was originally released by and large in response to Delphi). On the web, PHP and Java have been around before ASP, much less ASP.NET, got there.
That never stopped Microsoft from making a profit on selling developer tools, and from people buying them. There are various reasons for that, but one of them is that what we offer today is a si
The harm is done (Score:5, Insightful)
He already pushed Mono into a lot of parts of Gnome...harm is already done De Icaza, you had to realize before pushing it into one of the most widely used Linux desktop enviroments.
Re: (Score:3, Funny)
so what, Miguel? (Score:5, Insightful)
Snakes bite, buddy, that's why we don't play with them.
I don't know why you keep thinking that Microsoft wants some sort of "ecosystem". They want control, but they're always willing to use a useful idiot.
.NET too tied to OS (Score:4, Insightful)
Some of the strongest minds in computer science have built out .NET, and continue to do so. There are some practicality gaps, but today the majority of the corporate world is powered by .NET devs, for better or worse.
However, this many years into the platform, it's starting to show it's age. From .NET 1.0 applications, laden with crude pinvokes to Win32 API's, GDI+ silliness, messy ADO.NET integration, through 2.0, 3.5, 4.0, the "Enterprise" helper classes, the "Foundation Extensions", the integration of pseudo-SQL declarative syntax with LINQ, Entity Relation classes, Unity, security, contracts, plus all of the layers of ASP.NET tools .... don't VS's forget code analysis, test suites, code coverage, profiling, generated documentation... there are many more but you get the point... ...all this is shaping up to be a very MS-centric view of the .NET universe. Which is a mistake, De Icaza seems to imply. I wholeheartedly agree. While the computing world abandons PCs for most tasks (gaming, editing information aside) and info consumption is done via smaller devices, on a variety of hardware & OS's, MS has bound .NET to their OS deployments - and there will be many other OS's talking in that space.
This is Microsoft's biggest gamble with .NET: That as the OS lives or dies, so does this platform. Really, it could be bigger than Windows. If MS shipping a full (even licensed) 4.0+ framework for use on Linux & Apple, it would inject a massive growth spurt in both those platforms but a huge and lasting foothold on the MS-based app development.
I provided some context (Score:5, Informative)
I provided some context to the SD times article on my blog today:
http://tirania.org/blog/archive/2010/Mar-25.html [tirania.org]
Miguel.
No Santa Claus (Score:3, Insightful)
I feel kind of bad for Miguel, he sounds like a kid, who just realized that there is no Santa Claus. It's sad.
Re:Pwahahahaha (Score:5, Insightful)
Dude... (chicks don't react like that) .NET is supposed to be cross hard- and software.
It was introduced to abstract the OS so that if Microsoft were to also release Windows for PowerPC's or whatever architecture, .NET apps would still run,
Later on Microsoft announced the interoperability (this is my time to "Pffffffwahahahahaha") and they killed it with patent infringements.
So now, yes, Microsoft has shot the .NET ecosystem in the foot, which is differently from shooting it in the head.
What I am saying is yes; .NET is still very strong and succesful, but limited to Windows pretty much. Good for Microsoft and Windows, bad for the ecosystem itself that had spread to other OS platforms with Mono (which is chasing taillights and thus sucks).
Re: (Score:2, Interesting)
Mono is a cheap imitation of .NET, which is a cheap imitation of Java. This is why Java rules on the server.
Re:Pwahahahaha (Score:4, Insightful)
Re:Pwahahahaha (Score:4, Insightful)
How is java's cross platform ability a myth? How many java programs that you know of are not cross platform when written correctly? With the not very notable exception of a few non-standard libraries, the occasional difference in performance and developers that hard-code file paths, java works very well on multiple platforms.
Re: (Score:3, Insightful)
Except C++ requires a re-compile for so
much as moving from the intel to sparc version of the same OS. Massive difference.
I can dabble with java desktop apps now. Where are the C based or win-based cross arch equivalents?
Re: (Score:3, Interesting)
Java apps usually use some OS specific stuff as well. Virtually every mainstream Java program uses an OS specific installer for instance. And if you're distributing a different installer for every platform, you may as well compile it for every platform.
As for C based desktop apps with cross-platform capabilities, might I point you in the direction of a little thing called Firefox [getfirefox.com]? Yeah, it needs certain libraries coded differently for different platforms, but as noted, so does Java.
Re: (Score:3, Funny)
I've always said that 6502 Assembly is the most crossplatform language ever.. there is an NES emulator available for far more platforms than the JVM.
Re:Pwahahahaha (Score:5, Informative)
The myth about simple cross-platform development in Java is just that, a myth. Anybody with cross-platform Java experience will attest to this. Java, as a language, has grown stagnant, while C# has continued to evolve.
I and our team of 100+ Java developers will disagree with your statement of Java and cross-platform development. We find it excellent. Is it perfect? Nope, but in my opinion it would be a 9 out of 10 with the next closest competitor being.... Well there isn't really any close competitor but I guess we could give the C language a 2 out of 10. Perhaps Ruby is good but I haven't looked at it. Granted I am talking more about the JVM that Java itself. However, Java like other languages has evolved quite a bit in the last few years.
Does Java have the radical changes that say languages like SCALA have? Nope, but then again it shouldn't have that. Is it stagnant? Not at all.
The core difference you see between any of the Microsoft languages and the JVM languages is that the JVM languages somewhat try to work within the community. They also want to maintain binary (class) backward compatibility. Microsoft is an absolute dictator with their language and even to a large part their tools. This does have it's advantages, in that stuff comes out quicker, but then again, if you are a business and built you lifeblood one VB6 to have it brushed aside by Microsoft, you might be a little angry about that ruthless dictator approach. If you are some contractor type of person who wants constant change in the core framework to make your life easier (at the cost of compatibility), then you would probably like this approach.
So in short things like closures will be in Java 7 (not a small task), and Java the language is not at all stagnant. Cross platform development, testing and support is excellent with Java. We use OSX, Ubuntu, Microsoft Windows XP and 7, and RedHat with no problems.
Java's radical change (Score:5, Insightful)
Java embodys one radical change, and it's not a feature of the language (which was pretty radical itself at the start). No, the radical feature is that it's GPL'd. This change came a little late in the game, but look what it's produced already.
Take Android. You might say 'just another smartphone platform', but think about how it came about. Google didn't develop it. A startup did. And how was it possible for a startup to build an entire internet-capable touchscreen platform? GPL. Because they had a free OS they could use any way they wanted, and a free virtual machine they could use any way they wanted, they were able to get creative and package it all together as an innovative new platform. Google bought it, added polish and apps, and suddenly it's an iPhone and Android world with Microsoft playing catch up.
Microsoft can't do this. They are committed to their proprietary OS, so they are unable to harness any major creative leaps that come from outside the company. Outsiders can't play with the OS to tweak it to their needs, so they have no way to use Windows as a platform for creativity that doesn't fit into the channels that Microsoft provides them. Plus, they know that any really good ideas they develop on the Microsoft platform will likely be copied by Microsoft and never realize their potential (for them, at least).
But the Android folks could start with minimal overhead and produce something great under the radar.
That's the beauty of the GPL and the Linux (and now Java) models based on it. DVR's, netbooks, cheap wireless routers, smartphones, Kindle and 100 tablets to come. The Microsoft ecosystem is not capable of producing these things. So the next time you rag on Java or OpenGL, X-Windows or even OpenOffice - and rhapsodize about C#, .NET, MSOffice, etc., realize that you're missing the point. These tools may not individually be the absolute best in class, but they are all much more than good enough. And they enable the most creative and dynamic ecosystems in IT today. If you care about that, C# vs Java is a no-brainer. You're gonna want Java.
Miguel seems to be just now grasping this. He had hoped that a free version of .NET would be as good as Java. He liked the technology better (not sure how much better), and thought making it free would bring it to the creative class that's really innovating these days. But Microsoft won't let him. Never meant to, never will. Sorry Miguel - I feel your pain.
Re: (Score:3, Informative)
Android isn't using JVM, it's using Dalvik which is a VM written from scratch that's entirely different from the JVM (it doesn't even use the same bytecode).
The link between Java, the JVM and Dalvik is a bytecode converter, capable of converting already compiled Jars to Dalvik.
And not to burst your bubble further, but Android isn't even using an X Server, the gui manager / toolkit being also written from scratch ... so you can't really rant about how they've used a "free OS" ... it was only the Linux kernel
Re: (Score:3, Interesting)
I know I know don't feed the trolls, especially the slow ones....
You're not making any sense. This is nonsensical. Assign a string to a List? Huh?
Yes, it's quite possible, through reflection. What's worse though in C# is that the incorrect object can then be passed all over the place as the "type" that it's not until you try to use it. How did you sum this up? Oh yeah: "Huh?".
Delegates? Please, just fancy syntactic sugar for the adapter pattern.
Right, the same way a "Class" is just fancy syntactic sugar for a pointer to a structure amirite? Shit, C does everything we need then, I guess. Ridiculous.
delegate->adapter/proxy method is like waffle -> sugar cone.
Class-> pointer is like House -> stick.
But I'm sure those are just minor differences to a stellar intellect as yourself.
I'm getting the sneaking suspicion that you don't know what you're talking about, and that in addition you're defining anything not in Java as not being useful or good, which is a bit circular.
Well at least you have
Re: (Score:2, Informative)
I wouldn't say that Mono sucks. It's certainly behind .NET, but it's not the average crappy FOSS clone.
Re:Pwahahahaha (Score:5, Insightful)
Microsoft's idea of cross platform is one of their platforms; like Windows 2000, XP, Vist and 7.
Re: (Score:3, Informative)
Not quite. Cross platform to MS means Windows and Wince. The point of .NET was never to hide the OS, it was to allow you to write Windows applications that were architecture-neutral, so you can run them on a desktop x86 CPU or a mobile ARM/MIPS/PowerPC CPU. All of these architectures were supported by Microsoft when .NET was introduced, but Wince had the big problem that it didn't run desktop Windows apps, which eliminated a big chunk of the reason for running a version of Windows at all.
Wince 7 now o
Re:Pwahahahaha (Score:5, Insightful)
Sun shot Java in the foot a few times.
Microsoft abused its monopoly position to shoot Java at short range.
Re: (Score:3, Interesting)
Silverlight which is also supported by Microsoft on Apple's Mac OS X
And which caused my browser to crash regularly whenever it was invoked. YMMV but for me, it was almost as bad as Adobe's Mac implementation of Flash.
Re:Pwahahahaha (Score:5, Funny)
It is cross platform (not necessarily cross OS). I've written code in C# that can run on my Windows Mobile phone or on my Windows laptop or as a Web Service or in my SQL Server database or in Silverlight or as a Web App or even on an XBox. That portability works well (as long as the libraries are supported -- see Compact Framework for example). It may not work as well on the Mac or Linux (but Mono does work), but porting code between the platforms I mentioned isn't that difficult (mostly just changing your target in Visual Studio; assuming library support existing on the targetted platform).
Re:Pwahahahaha (Score:5, Insightful)
Re: (Score:3, Interesting)
Uhm ... no. .NET is supposed to make it easier for idiots to write code by abstracting a lot of the hard parts from them. Sadly, like every other time someone has tried this it turns out that its actually more difficult to do anything beyond extremely simplistic because learning how to deal with GC issues is actually far more complex than just fucking freeing memory on your own.
The hardware independance is a side effect of compiling to an intermediate language. VB has essentially had this 'feature' its en
Re:Pwahahahaha (Score:4, Insightful)
>> Windows for PowerPC's or whatever architecture,
no way dude. MS
LoB
Re: (Score:2)
Be careful or you'll summon the fail whale!
Re: (Score:2)
Since? SINCE? Have you been screwing with the space-time continuum again? "Ecosystem" was around before Twitter first started.
I half agree, though. .Net is a platform, not an ecosystem, although "ecosystem" can be a reasonable term (e.g. for an interaction of technologies in a computer-based environment).
You need to engage with the frameworks (Score:5, Funny)
I'm afraid your commitment to excellence has not synergised with market driven realities of the mission critical holistic buzzwordverse. Buck up your ideas sonny and buy into the knowledge base on a going forward basis or you'll soon suffer negative organic growth in your wetware core vocal services vis-a-vis next generation corporate employment opportunity scenarios!
Re: (Score:3, Funny)
Re: (Score:3, Informative)
Much of userspace is hidden behind the scenes and often not related to the desktop directly.
Re: (Score:2)
I agree it is annoying, but I don't know of another term that describes the community of developers/product vendors, customers, and integrators who use/support a technology. Do you have an alternative suggestion?
Re: (Score:2)
Do you have an alternative suggestion?
I was going to suggest computersystem instead of ecosystem but I don't think it would ever catch on.
Re: (Score:2)
Stop playing with monkeys.
Was this intentional? Because it's pretty clever, if you consider, you know, Ximian [novell.com].
Re: (Score:3, Insightful)
Novell paid for patent protection, so Novell shipping Mono is fairly safe. The problem is Ubuntu shipping Mono without patent protection, or Red Hat for that matter.
As for Microsoft playing nice, I doubt that is their motivation, but the EU is basically demanding that Microsoft work on interopability.
The Microsoft/Novell deal really does make sense for both parties. Novell doesn't have to worry about patent lawsuits. They get to go to existing Microsoft shops and tell them that Novell is the best Linux flav