Today Miguel de Icaza announced that Wikipedia is using Mono and dotLucene (the same search backend used by Beagle) to enable indexing and search for their large content base. As well, his blog announced that Mono 1.1.x has been integrated into Ubuntu and Debian.
Best news of the day. All distros should do the same.
So much for the naysayers. Looks like the Mono patent concerns aren’t such a big concern at all. Debian has one of the most stringent free software acceptance policies. Thanks to Debian, for once leading the Technology edge!
It hasn’t been “integrated” yet, just included. It means you can install it, not that you *have* to install it. Good thing too, because I was just getting to like Ubuntu. Though, I hope this isn’t another step in GNOME’s inexorable march towards “integrating” Mono. Otherwise, it’ll be me and a couple of other die-hards still using GNOME 2.10 in 2010…
No it just means the .NET bait was too much for some otherwise intelligent people. A very sad day which could have dire consequences for OSS when it becomes necessary for MS.
It also proves again that OSS does not innovate it just copies. Not saying that nothing innovative comes out of OSS, just very little. All the interesting technology gets thought up by commercial companies it seems.
I just hope Redhat holds the line.
…since “integrated into Debian” really means nothing: mono packages have been available for very long now, I can’t even remember when I first aptgot it. As regarding wikipedia… I don’t really care, unless the searching function will suck, but we’ll have to wait and see.
I have to say, I never liked the thought of mono in linux. Not because it isn’t good stuff, it is. But because I’m afraid of anything coming into linux that has even the distant breath of micro$oft on it (yes, I’m writing it with the buck, go figure).
Later, I didn’t like the ideas some people had that maybe they should make mono the central development platform for gnome. But since I’m devoted to kde, and kdevelop3 is the one of the greatest stuff Linux had in the last many years.
from the blog entry
Previously, Wikipedia had been using GCJ and Lucene
I would really love to know if there were any benefits other than Mono is sexier/more hip than Java.
I do not like the word integration… at all.
Another comment from me, the peanut gallery
Seems to me that even if Microsoft never goes after anyone with patents it will successfully fragment or divide the Gnome community making Gnome weaker.
We’ll see.
All the interesting technology gets thought up by commercial companies it seems.
And by “gets thought up”, you mean “gets lifted directly from academia”. There is not a feature in .NET that wasn’t done first, and better, in some university. There isn’t anything on the .NET roadmap that’s new in the slightest. This stuff would be “innovative” in 1980, and “interesting” in 1990.
This is not to slight .NET, I’m sure its a decent tool for whatever it does. But the commercial software world calling OSS “not innovative” is really a bad case of the pot calling the kettle black. Indeed, if you factor in the fact that academia is part of OSS, it’s like the pot calling the dinner plate black…
This is great, IMHO. I’m happy to see wider adoption of Mono, integrated or just offered. For a while, it seemed as tho Novell would be the only player.
Monorail…monorail…monorail!
…Mono/// DOH!
so the mono borgs have finally conquered another
distro that’s interesting
🙂
It’s not “integration”, but rather a coherent policy towards Mono in Debian/Ubuntu. I just build all my stuff from SVN anyway…which I’m actually doing right now. Damn if I can get MonoDevelop and MonoDebugger to play together nicely.
Good to see the Wikipedia people using a fine piece of technology.
Here’s the full detail of Wikipedia full text search engine choice, if you want to investigate:
http://meta.wikimedia.org/wiki/User:Brion_VIBBER/MWDaemon
Summary:
Performing full text search for “pope” 100 times sequentially, using English Wikipedia 2005-03-09 dump, which returns 6890 results. Average of 100 runs.
GCJ 4.0 -O2: 588.3437 ms (fastest)
Sun Java 1.5 -server: 636.9209 ms
Sun Java 1.5: 695.5374 ms
GCJ 4.0: 707.2302 ms
Mono 1.1.6: 894.4488 ms (slowest)
As you can see, GCJ *is* the fastest. (But it’s not using Classpath’s default regex, which is too slow — a free alternative JRegex was suggested. Read the page for details.) But GCJ seems to have some memory leak problem. (Again, read the page.)
This “news” would be of more interest to me if I knew ironpython (http://ironpython.com/) was coming more into its own. Personally, mono/.Net is just another virtual machine to me. So far native python seems the more mature and robust choice for me.
the article is misleading
http://www.spindazzle.org/green/index.php?p=53
Why we’re always talking about politics and not about software and hardware? That’s frustrating…
IronPython >= 0.7 needs .NET 2.0 features to run. 0.6 runs fine on Mono.
For details of IronPython-Mono compatibility, read this thread from IronPython mailing list:
http://listserver.dreamhost.com/pipermail/users-ironpython.com/2005…
Summary: 0.6 runs. 0.7.x doesn’t run, as it requires .NET 2.0 features. Mono <= 1.1.6 is *known* to be unable to run IronPython. Mono people (Miguel de Icaza et al) claims Mono 1.1.7 runs IronPython, as it implemented required .NET 2.0 features. But as a user soon reports, it seems that although it does *compile*, it doesn’t run yet. As of May 25. It is possible that it’s already changed in SVN.
GCJ 4.0 -O2: 588.3437 ms (fastest)
Sun Java 1.5 -server: 636.9209 ms
Sun Java 1.5: 695.5374 ms
GCJ 4.0: 707.2302 ms
Mono 1.1.6: 894.4488 ms (slowest)
As you can see, GCJ *is* the fastest. (But it’s not using Classpath’s default regex, which is too slow — a free alternative JRegex was suggested. Read the page for details.) But GCJ seems to have some memory leak problem. (Again, read the page.)
If you would have read the article, you would note that they fixed I/O performance problems keeping Mono’s numbers down in 1.1.7, so those numbers are no longer current.
Yes numbers are no longer current, but then where’s the number for Mono 1.1.7? I couldn’t find any public data. If you have benchmark number to compare, please post.
this is only temporary, read this http://www.spindazzle.org/green/index.php?p=53
Btw. main player in linux field RedHat/Fedora will probably never include mono, but in next fedora they include for example free java + eclipse + tomcat + openoffice with java. I use fedora.
So what’s your beef with Mono. Don’t tell me you’ve drank the FUDster koolaid. I thought you were smarter than that.
Post #5 sums up the real reasons why zealots don’t like Mono. “It’s from Microsoft”
Anyway, I thought you were a KDE guy?
Lucene is mainly developed under Java. ports always follows the java version (C# version is almost photocopy of it) . so mono is the slowest and least mature of all, why on earth use it in a server environment?? just for sake of publicity people are doing crap.
Actually you are right. Perhaps I was too harsh. The reason being that I would have loved something like Parrot to have taken off. Not necessarily Parrot, but something home grown. Implementing all those .NET classes, basically just copying them will always leave Mono playing second fiddle to Microsoft. And be something MS can always point to, to show they are the ones innovating.
Academic institutions and governmental agencies do a lot of good interesting work. In the past I think of ARPANET as an example of something that changed the world.
OSS consists of all kinds of people and groups. I am sure that .NET, if you mean the CLR part, was conceived of by Academic institutions and also you have a lot interesting stuff done by governmental agencies. But it seems that something like the CLR would never have gained such wide acceptance if a big corporation had not taken the work done by Academia ironed out all the wrinkles, developed languages to work with it, develop all those classes that make it useful etc. if the Idea behind the CLR was out there, why didn’t Miguel who was trying to solve the very problem with Bonobo, come up with his own version of .Net before .Net.
Let me also say that I love projects like KDE, Gnome, Freetype, Enlightenment. Now I installed Kubuntu on my powerbook the other day and the fonts were actually much better than Mac OSX. Enlightenment is another project that is amazing and I wish the technology they have developed was adopted more.
So I apologize if I offended any OSS programmers out there. I have a lot of respect for you guys in general. I use a lot of your software. Infact anyone using the internet today is likely using your software.
That’s an extremely biased ‘summary’ given by Seo.The full text shows problem areas for both mono and GCJ. Sun java looks like a steady performer, but was questioned for it’s freeness.
Hi, I’m the person from Mono who has been working with the Wikipedia people. Your question is a good one with some interesting answers:
1. Performance. Mono had better performance than gcj on search (which, as Anthony Green points out, is far more important to them). The Mono people also helped find some lucene patches that helped out performance for them.
2. Stability. GCJ was leaking. Mono wasn’t.
3. Support. When Mono bugs were reported, we were able to fix them very fast.
4. Ease of development. Simply put, its easier to compile mono (takes about 15 minutes to build from scratch here, though our build boxes are fairly fast :-). They were able to use rpms on their production computers.
I’ve usedJava since v1.0b4 and I have to say that after playing with Visual Studio C# Express 2005 B2 I enjoy it much better. We’ll see if I still love it after playing with the gui stuff, but I can’t see how that could be worse then swing. I guess it’s not too surprising that it would be better. Since MS is able to design it while peeking at over 10 years of java evolution.
Thanks for the answer.
Regarding point 4, do you mean it is easier to compile your app under Mono rather than easier to compile Mono itself? Just wondering because I would not have thought that you would need to compile Mono or GCJ that often.
Ben Maurer,
forget the GCJ.. what about against java? what is the single advantage against Sun’s java of mono? none of the things you count measures there, contrary is likely tough..
I don’t have a particular beef with Mono. I’m not comfortable that they won’t get sued by Microsoft, but that’s not enough to get me to stop using it. I’m just not a big fan of the architecture, that’s all. I don’t like VMs, and I don’t like the idea of system components being written in .NET, because there is no way to bind to them without having your compiler target the .NET VM. I much prefer the way freedesktop.org seems to be headed, with low-level components written in C (eg: libdbus), that can be bound cleanly into high-level APIs in your language of choice.
As for being a KDE guy, I still am, I guess. It’s just that I installed Ubuntu when it first came out (before there was a Kubuntu), and haven’t really had the time nor inclination to reinstall my system since then.
Most people won’t have to compile Mono or GCJ. Some people (like me), like to live on the bleeding edge when it comes to Mono. This “integration” stuff just gives Debian a policy towards Mono and also seems to bundle most of the Mono stack. Mono itself is rather easy to compile these days though. The makefile included with Mono will actually compile mcs (the compiler and class libraries project).
I was talking about compiling Mono itself. No, you don’t have to compile it that often. But if you want to test a bug fix, gcj is a PITA when it takes hours rather than minutes to build. It is always that one time at 2 am when you need to fix something that this really kicks in.
i wonder to know what performances have pylucene instead
of dotlucene.
pylucene.osafoundation.org
if mono still needs frequent core bug fixes, you have a very long way to go.. no wonder mono is not used at all in business..
But it seems that something like the CLR would never have gained such wide acceptance if a big corporation had not taken the work done by Academia ironed out all the wrinkles, developed languages to work with it, develop all those classes that make it useful etc.
Oh, undoubtedly. But there is a big difference between good engineering (which is what Microsoft did with the CLR), and innovating. Indeed, innovation is often a very bad idea when what you’re looking for is good engineering. Let me use an analogy. The SR-71 was innovative. Between the hybrid-ramjet engine, the unique fuel system, the wing design, and all the advanced materials it used, it did things that just weren’t possible before it was built. The Boeing 7E7, on the other hand, is not really innovative. It’s just good engineering. It’s about extracting an extra 20% here, making something 15% cheaper there. The end result is still a great and successful plane that advances the state of the art, but it’s not really innovative.
Since it is the GCJ version integrated into Python using SWIG, I am sure it is about as fast as the GCJ version. Probably also leaks memory as Ben Maurer points out. Its really just a wrapper to the GCJ version.
from the pylucene.osafoundation.org site
PyLucene is a GCJ-compiled version of Java Lucene integrated with Python via SWIG.
Ok, thanks for the clarification.
I think where you have a misunderstanding is when you say “system components”. What do you consider a “system component”? Obviously gtk+ isn’t going to be rewritten in C#, nor DBus, or Gstreamer, etc… The “systems” language will always be C for Gnome, but the great thing about Mono is their tools that make generate bindings trivial for any GObject based library – not to mention the easier calling of native code in C#.
.NET/Mono has always had a much friendlier position towards leveraging native code than Java.
Wikipedia wanted to have their severs running open source software, so the sun jre was out of the question anyways.
I think C# as a framework is a huge advantage over the Sun JRE.
We didn’t get numbers for sun vs mono on search really. (the numbers there are for 1.1.6, which isn’t really fair) so I have no idea how the performance really is. For all we know, it could be better.
And by “gets thought up”, you mean “gets lifted directly from academia”. There is not a feature in .NET that wasn’t done first, and better, in some university. There isn’t anything on the .NET roadmap that’s new in the slightest. This stuff would be “innovative” in 1980, and “interesting” in 1990.
Even though this is true, this just like avoiding the truth. Which is that commercial companies make a better job of implementing the outputs done by academia. Only after the risk of havind done a real world implementation is negated, does the OSS community go after it, mimicking a commercial product. Wheather or not the very first commercial product come out of research from academia is not important. After all OSS does not fund research at Universities, the goverment, charities, and commercial organisations fund them.
I just double click compatible Windows executable and they run under Ubuntu? If this is true and reliable (not a WINE-like experience), then Windows is about to become history.
No
I just wonder, why Wikipedia did not go with Java, since Lucene originates from Java and the latest development still happens in Java in an apache subproject.
GJC in combination with the original lucene probably would have been a better choice.
“GJC in combination with the original lucene probably would have been a better choice.”
That’s the setup they changed away from to mono. Read the comments and you might find out the reason why.
The Mono people are implementing a technology that is poised to be widely used by those who write software for Windows. Not only is C# good, but it opens up the possibility for future .Net software (which would normally only run under Windows) to run under Linux, BSD, or whatever other platforms it is ported to. That’s why C# has gotten so much more traction than other technologies like Java or Python, despite Java’s already-established app base on sourceforge or Python’s maturity. The possibility to get a much larger base of applications running on Linux is what is giving Mono this boost.
at Andrewg
Isn’t Linux a reversed engineered copy too?
It seemed to me, that overall the JRE would have been the best choice for performance (jrockit probably would have beaten everything much more).
GCJ basically shot itself out of the picture due to memory leaks it produced .
The move to mono probably must have been motivated by wanting to use OSS.
The interesting thing is, that GCJ already seemed to have caught up speedwise to the latest J2SDK incarnations, which is very impressive, with beating them in some areas. Given the time Sun and others already have spent to improve the VM, the GCJ people did one hell of a job in 4.0 (despite the mem leak)
Yes, in a very real sense it is. I think you mean GNU/Linux anyway. But GNU was created for different reasons than Mono.
We could go on and on about the differences………
i’m not a java-fan because although they shout out multi-platformness i can’t get an official SUN jre above 1.3 for my linux/ppc (i have to use IBM’s which is at version 1.4.2 which isn’t very recent either).. this is where mono comes in running fine – call it a personal taste, i call it “simply working”(tm)
Wrong comparison .Net runtime and Java runtime (JRE) are closed. Mono and GCJ are open. Which platforms can you get .Net to run on?
There is a very significant difference between creating a “reverse engineered copy” and writing an implementation of an open specification. Linux is the latter, not the former.
Even though this is true, this just like avoiding the truth. Which is that commercial companies make a better job of implementing the outputs done by academia. Only after the risk of havind done a real world implementation is negated, does the OSS community go after it, mimicking a commercial product.
Of course, it bites the other way too. Commercial companies, often only do “real world implementations” of ideas that have been proven in an academic setting (either a university or a research lab). Thus, they avoid the risk of starting an implementation of an idea that proves to be completely unworkable. That’s why the commercial world has a higher success rate than the academic world — they usually only take on projects that are known to be possible!
I just think the idea of criticizing open source for not innovating is silly. For example, how can somebody use Linux copying UNIX as an example of open-source not innovating when a large part of the design of modern UNIX comes from BSD, which has always been “open source” in some form? How can you use Mono copying .NET as an example of open-source not innovating when the ideas underlying .NET (objects, garbage collection, virtual machine), were developed in academia, often in some form of open source?
How can you use Mono copying .NET as an example of open-source not innovating when the ideas underlying .NET (objects, garbage collection, virtual machine), were developed in academia, often in some form of open source?
I am not against ‘objects, garbage collection or virutal machines’ to quote your examples. Just the wholesale copying of the entire framework from a company who has proven itself to be rutheless in defense of its monopoly and the extension of its monopoloy.
Now I understand that only parts of .Net are standards and only RAND at that, which is why it is so perilous to build any piece of important software that could 10 years from now be so easily, obviously and transparently open to attack. Regardless of all the pros and there are many.
Further to that the wholesale copying/implementation or whatever it needs to be called just gives MS ammunition to say, “look we innovate, OSS just copies. OSS cannot produce useful software without a model to copy.”
Lastly, I am not sure but I think the word innovative needs to be placed in context. Apple is said to innovate. What is meant by that is that they take the useful raw technologies and package it in such a way that it becomes accessible, useful and desirable to the target group. It is set if technologies implemented in such a way as to produce a synergy.
In much the same way .Net is innovative because it combines a set of technologies implemented in such as way as to produce a synergy.
another piece in the great Ms plan “let’s make the world depend on us and then sue them”
I’m just not a big fan of the architecture, that’s all. I don’t like VMs, and I don’t like the idea of system components being written in .NET, because there is no way to bind to them without having your compiler target the .NET VM. I much prefer the way freedesktop.org seems to be headed, with low-level components written in C (eg: libdbus), that can be bound cleanly into high-level APIs in your language of choice.
Your not alone, I agree. It’s why I am hoping for D language to get success and mature. For the others that don’t know D language, visit http://www.digitalmars.com/d/ .
another piece in the great Ms plan “let’s make the world depend on us and then sue them”
Since when has MS sued anyone for copying them ? – Please provide an example.
I find it very hypocritical of people to bring up this argument everytime the inclusion of mono is mentioned for any distro.
What about projects such as Samba ? – Why is Samba included in most distros, especally considering that most of the core protocol code was clean-room reverse engineered from Windows ?
Now don’t get me wrong, I’m not a MS fan by any stretch, however, I do happen to see value in useful technology.
mine was just FUD for a sociological reason.
You spotted mine was a dumb declaration based on nothing.
This is exactly what de icaza did on his blog writing that wikipedia has switched to mono.
Fun, ain’t it?
Indeed, the arguement about MS suing all copycats is unfounded, and in this situation a lawsuit would be untenable. Who would MS sue? The only semi-valid argument I’ve seen against Mono is that if Microsoft patents pieces that Mono implements, then that would make Mono unFree, and Mono would have to unimplement it or not implement it at all. There is no real legal recourse MS has against Mono and any illegal action against Mono, if elevated to the courts, would open up MS to more antitrust issues. Yea, MS is a convicted monopolist, but that means that Mono has even MORE leniency, not less.
What are you refering to? Miguel saying that Wikipedia “switched to Mono” is unfounded since, in another blog, someone else said that this switch could/probably/might be temporary, a switch in a series of back and forth switches? Sounds realistic, doesn’t it?
Well, I suppose you’ve got to find a use for Mono for something.
Besides, I see the Mono vs Java (gcj, Apache, Mono against the world) thing has started .
1. Performance. Mono had better performance than gcj on search (which, as Anthony Green points out, is far more important to them). The Mono people also helped find some lucene patches that helped out performance for them.
It didn’t look like it, and I don’t see any figures to back that up in any way.
2. Stability. GCJ was leaking. Mono wasn’t.
After umpteen years of development vs gcj I’d probably hope not.
Besides, Mono has leaked before, it will likely leak again. It’s memory management has never been anything to write home about, and I’d like to see it under the loads various incarnations of Java has been placed under over the years. At least gcj has that basis to work towards and a great deal of infrastructure, software, J2EE servers etc. to work with.
It’s not particularly relevant.
3. Support. When Mono bugs were reported, we were able to fix them very fast.
And other open source projects can’t, and haven’t, done the same? Are Wikipedia paying for that support?
4. Ease of development. Simply put, its easier to compile mono (takes about 15 minutes to build from scratch here, though our build boxes are fairly fast :-).
Simply put, it’s irrelevant. You’re simply not going to recompile gcj and Mono that often, and most likely users and people using them will get pre-compiled packages. I doubt whether Wikipedia is going to test bugfixes on their production machines either .
It might be important for you but not to everyone else, and I’m sure your boxes are fast enough.
MS will release a CLR for Linux (probably based on their own distro) if/when Mono becomes relevant. Until then, you can bet the cat is just watching the mouse.
Unlike the Internet, Linux will not catch MS off guard. I’ll bet the CLR for Linux is ready right now.
And then theres Red Hat twiddling their thumbs all the while Mono is gaining obscene popularity.
Hell even Red Hat employees have no idea why they can’t ship Mono!
Havoc Pennington:
“…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).”
http://log.ometer.com/2005-05.html#10
1. Performance. Mono had better performance than gcj on search (which, as Anthony Green points out, is far more important to them). The Mono people also helped find some lucene patches that helped out performance for them.
It didn’t look like it, and I don’t see any figures to back that up in any way.
Brion told me it was faster; haven’t done the numbers myself. Also, if you look at the section of is page where he compared the performance while splitting the deployment between gcj and mono, the performance there is about the same.
2. Stability. GCJ was leaking. Mono wasn’t.
After umpteen years of development vs gcj I’d probably hope not.
That’s exactly why mono has an advantage :-).
Besides, Mono has leaked before, it will likely leak again. It’s memory management has never been anything to write home about,
In case you haven’t realized: we use the same GC. Though, on the 1.1.x series, we’ve done a bit of tuning for it.
and I’d like to see it under the loads various incarnations of Java has been placed under over the years. At least gcj has that basis to work towards and a great deal of infrastructure, software, J2EE servers etc. to work with.
It’s interesting how you think that stressing other java runtimes in any way makes your runtime more stable. That’s like saying that the testing Microsoft does on their jit makes ours much more reliable.
3. Support. When Mono bugs were reported, we were able to fix them very fast.
And other open source projects can’t, and haven’t, done the same? Are Wikipedia paying for that support?
Well, they commented that we were more responsive about bugs than the gcj team. They are not paying us for that.
4. Ease of development. Simply put, its easier to compile mono (takes about 15 minutes to build from scratch here, though our build boxes are fairly fast :-).
Simply put, it’s irrelevant. You’re simply not going to recompile gcj and Mono that often, and most likely users and people using them will get pre-compiled packages. I doubt whether Wikipedia is going to test bugfixes on their production machines either .
Even in that sense, mono has a huge advantage. We have more frequent bug fix releases. You don’t have to wait for upstream distros to relese a patch (which in terms of compilers often means “wait till the next distro release and upgrade”). We release packages for most distros and a cross platform installer that will work on anything newer than redhat 9.
That’s exactly why mono has an advantage :-).
Which still has to be paid for ;-).
It’s interesting how you think that stressing other java runtimes in any way makes your runtime more stable. That’s like saying that the testing Microsoft does on their jit makes ours much more reliable.
It’s not each specific Java runtime in a closed-box, it’s the fact that there is a great deal of common software run under many different VMs and everyone therefore is much more aware of how different implementations of Java work and what the pitfalls are. Mono doesn’t have anything like that because Microsoft and the .Net world don’t contribute anything like that to Mono. It’s MS.Net first and everyone else is nowhere, and it will be interesting to see how things like MonoDevelop and SharpDevelop move ahead in the future in that regard.
I also simply don’t see the point whatsoever in re-writing Java software like Lucene in C#, Mono and .Net. Well, I see the point for MS.Net and Windows because people in the .Net world needed equivalents of JUnit, Cruise Control etc. but considering we’ve had all of that on Linux/Unix for years anyway it’s a fairly wasted effort. That’s another story though.
In that regard I agree with Rayiner about VMs not being terribly interesting at all. You then end up with stuff like IKVM, simply turning one set of bytecode into another on top of your native stuff. Ughhh.
With Mono included in Debian unstable it is highly likely that applications will follow.
While the Mono runtime is of interest to programmers, the real value of this move will be when Joe regular user can issue “apt-get install beagle” and the thing will Just Work(tm) out of the box. Mono gtk# apps are great in this regard as they are indistinguishable from “native” apps, when using a desktop environment and a package manager the user is unlikely to need to acknowledge the existence of a VM, it is just a dependency like so many others. Since the platform is in reality complex and made up of many packages it is ideal for a system like Debian’s apt-get.
Apple is said to innovate. What is meant by that is that they take the useful raw technologies and package it in such a way that it becomes accessible, useful and desirable to the target group. It is set if technologies implemented in such a way as to produce a synergy.
You’ve got the right idea there, but you’re just a bit off. Apple is innovative because the way they package technology brings it to new markets. But it’s not the packaging, though, that is innovative, but rather the way in which the packaging impacts how the product can be used. Let’s use the Macintosh as an example. The Macintosh was not really technically innovative (its concepts were created before at PARC, ARPA, and within Apple for the Lisa). However, the way it was packaged (as a simple, easy-to-use product), brought GUI technology to a totally new market. That was, at least, market innovation.
In much the same way .Net is innovative because it combines a set of technologies implemented in such as way as to produce a synergy.
Compare .NET’s “synergy” to Apple’s “synergy”. Does .NET’s packaging bring anything new to its developers? Does it bring any new technology to any new markets? Is even its packaging original? The answer to all these questions is no. It’s aimed and used by largely the same people who use Java, its technical capabilities are largely equivalent to Java’s, and even its packaging is very similar to Java’s (which is similar to Smalltalk’s, but I digress). .NET represents neither technical innovation, nor market innovation.
My wildest dream is to kill the word “innovation” from common speech. It has become so overused by marketing folks that it has no real meaning anymore. It’s become synonymous with “good”, and calling something “not innovative” has become to calling something “bad”.
> Your not alone, I agree. It’s why I am hoping for D language
> to get success and mature. For the others that don’t know D
> language, visit http://www.digitalmars.com/d/ .
It’s not gonna happen unless Walter releases his compiler (the whole thing) as free software. There’s just not enough motivation for the community to *re*implement the D language at this point — especially with GCJ around (Java being somewhat similar to D in a number of ways).
That said, I’d love to see Digital Mars GPL their compiler. I imagine that D would pick up a *lot* of popularity.
Remember Mono’s goals: to have a high level development platform for building Linux applications, which provides freedom of language choice, makes it easy to share libraries between languages (i.e. no need to write bindings for every language), and allows the use of common development tools.
Mono is not just C#, it also is: VB.Net, Java using IKVM ( http://www.ikvm.net/ ), Python ( http://www.gotdotnet.com/workspaces/workspace.aspx?id=ad7acff7-ab1e… ), Boo ( http://boo.codehaus.org/ ), Nemerle ( http://nemerle.org/ )…
I think it’s bad idea to make linux distro depend on M$ technology.
Imagine the situation when you install some application that depends on mono on production server. Next day customers start using it. The day after M$ stops mono(the situation between mono (Novel) and M$ is still unclear).
What would you do?
Best idea not to use Mono at all.
PS IMHO Java is far more reliable and mature technology
we use it on servers more than 5 years and it proved its robustness(there are very few security holes(almost none remote exploit) in comparison with php and asp or any cgi solution(perl/cpp)), performance(on servers is pretty well) and customers ask for it(that’s most important to me).
I wounder why ubuntu doesn’t includes java?
With Mono included in Debian unstable it is highly likely that applications will follow.
Uhh like someone already mentioned, Mono has been available in Sid for a while now. I’ve had Mono installed since last summer at least. I’ve only seen a trickle of of mono applications in the official repos: Muine, F-spot, monodevelop & monodoc, and Blam. Still waiting on Beagle…
I think it’s bad idea to make linux distro depend on M$ technology.
All right. Please remove from the distributions the samba, opengl, DivX, odbc, or any M$-related technology.
The day after M$ stops mono(the situation between mono (Novel) and M$ is still unclear).
The situation is very similar with the free software. If M$ will threat the developers of GCJ with trial, IMHO the most of developers will recess from development and revoke their patches from the project. Similar thing happended with wine project few years ago. At least the Novell stay behind the mono. But who is behind the open-source java (or python or any OSS platform ?). SUN and M$ agreed with their patent porfolio – they never will sue each other. But IMHO this agreement is not concerned to OSS implementation – and IMHO SUN will not cry if anybody kill any OSS java implementation, or the full linux movement.
PS IMHO Java is far more reliable and mature technology
IMHO C# is far better language, and .NET is easier to use then java.
1. Wikipedia adopts Mono for searching.
2. Debian adds Mono packages.
3. Therefore there are no valid legal or technical criticisms of Mono.
That makes perfect sense.
re: The situation is very similar with the free software. If M$ will threat the developers of GCJ with trial, IMHO the most of developers will recess from development and revoke their patches from the project. Similar thing happended with wine project few years ago. At least the Novell stay behind the mono. But who is behind the open-source java (or python or any OSS platform ?). SUN and M$ agreed with their patent porfolio – they never will sue each other. But IMHO this agreement is not concerned to OSS implementation – and IMHO SUN will not cry if anybody kill any OSS java implementation, or the full linux movement.
Why are you talking about gcj? Did I said something about gcj – NO. I don’t need it.
We use sun implementation of JRE on our production servers.
gcj is good alternative for those who develop desktop solution [IMHO its better to use SWT and use java as is + java webstart? ist’s really nice and cool;-)
You don’t need gcj on server at all.
Our solution was tested to work with more than 1000 online users at time and it was tested on (Pentium4 2100 with 512Mb of ram Linux Fedora3 + jdk5 + jboss4)
Most servers we have are much faster, so java is fast enough for me.
re:IMHO C# is far better language, and .NET is easier to use then java.
Which way it better?
What Mono gives you for creating enterprise solutions?
ORM solution? (like Oracke Toplink ,Hibernate3 or JDO)?
Remote method invocation (Who likes remote method invocation in mono 😉 ?
Distributed transaction management API?
Frameworks for creating web applications (like struts, jsf, tapestry…)
Did you ever created a clustered application on mono?
Declarative transactions, AOP solution, testing frameworks (for enterprise application)
Etc……
Our customers use servers on Linux 2.6(RedHat/Fedora/Suse/Debian), FreeBSD5, WindowsNT(aka 2000,2003),Solaris10 , and one even use MacOsX (for me MacOsX) our java solutions work on all of them.
Can you mention technology that allows the same portability?
We use sun implementation of JRE on our production servers.
And what will you do if (or when) SUN is out of business ? SUN is the only-one company behind the java (yes, IBM also support java in their software, but IBM also support .NET).
Which way it better?
Properties instead of stupid getter/setter functions, events, etc.
What Mono gives you for creating enterprise solutions?
I don’t want to create enterprise solutions for linux.
But what java give you for createing a simple desktop application ? Swing is alien in every platform, swt is supported only by IBM, after more then 15 year there is no databinding or any similar technology in java, etc…
+1
(even I think gcj, excelsior jet has a value for the desktop).
>SUN is the only-one company behind the java
Actually Microsoft is the only company that doesn’t support Java.
>Properties instead of stupid getter/setter functions
It’s just another way to write get/set. Any modern IDE generates it for you by one click…
>I don’t want to create enterprise solutions for linux
So we are not tolking about business here???
>Swing is alien in every platform
No it just makes platform indiffernt to programmer.
(and I can easy do simple gui in a minutes…)
>there is no databinding or any similar technology in java
If you mean GUI-DB binding JBuilder has it… since last millenium I think 😉
About ORM java has more solutions than all the rest 🙂
Cheers,
D.
Re:And what will you do if (or when) SUN is out of business ?
To say the truth I’ll be glad 😉
IBM or Oracle will buy it (I hope it would be oracle).
What will you do if SUN or someone bigger buys Novel? 😉
re:
SUN is the only-one company behind the java (yes, IBM also support java in their software, but IBM also support .NET).
Oh my GOD )))
Oracle, BEA, IBM, HP, Red Hat, JBoss all of them support java (who supports Mono? – Novell)
And most of them have their own implementation of JAVA.
re:
I don’t want to create enterprise solutions for linux.
Ok, if you want an enterprise solution that must work 24/7 what OS and platform would you choose?
Sun Sparc + solaris(most cell phone operators choose it here), or maybe IBM AIX, HPUX? Java will work on all of them.
re:
But what java give you for createing a simple desktop application ? Swing is alien in every platform, swt is supported only by IBM, after more then 15 year there is no databinding or any similar technology in java, etc…
;-)))) Only IBM, only the company that far more than twice bigger than company that supports MONO, only one of the most powerful company ;-)))
Nope, not only IBM supports swt, you’d better go to eclipse site and read who supports it.
BTW, check Solaris10 and you’ll find out how swing works with gnome.
Imagine the situation when you install some application that depends on mono on production server. Next day customers start using it. The day after M$ stops mono(the situation between mono (Novel) and M$ is still unclear).
What would you do?
If you enter this “what if” game, you will probably end up with a blank hard disk in your server. Every piece of software moderately complex (say, more than a hundred lines of code) might break some patent somewhere.
Even if MS try such a move, it’s not like pulling a plug in the wall, probably the court trials between Novell and MS would be longer than the lifecycle of your Mono apps, and you would have plenty of time to go for a supposedly trouble-free alternative.
re:Which way it better?
Properties instead of stupid getter/setter functions, events, etc.
This stuff came to .net from delphi
C++ doesn’t have it. Do you think Delphi is better language than C++? 😉
I prefer CPS (clear programming style).
Each time I look at code I want to know what happens there
I used to be a C++ programmer but I never used + for adding
item to store. I prefer to use add(…)
That’s why I prefer GOF Observer (I hope you know what GOF stands for) pattern for events, get/set methods for operations on fields etc…
PS
The rest does IDE. what IDE do you use for mono programming?
Can it do the half of what IDEA, JBuilder/Together or Eclipse do?
This stuff came to .net from delphi
C++ doesn’t have it. Do you think Delphi is better language than C++? 😉
The question was not for me, but hey, why not? Is C++’s superiority some kind of religious dogma? I prefer ObjectPascal (Delphi is the product, not the language), Python, Ruby and C# over C++, for sure, and I am certainly not alone on that. C++ is starting to age, at least on the app-development front.
The rest does IDE. what IDE do you use for mono programming?
Can it do the half of what IDEA, JBuilder/Together or Eclipse do?
Java has been out there longer and then it’s naturally to have better IDEs…and boy it took _long_ to appear a decent IDE for Java eh?
Another good-for-nothing memory and CPU time consumer. Why don’t use native C/C++ code as always? Rest in peace, GNOME.
re
The question was not for me, but hey, why not? Is C++’s superiority some kind of religious dogma?
No 😉 Its just a good language (Not for all purpose of course).
re:
I prefer ObjectPascal (Delphi is the product, not the language), Python, Ruby and C# over C++, for sure, and I am certainly not alone on that.
Maybe you tell the rest the reason why you prefer objectpascal to C++? 😉
I’ve even seen people that prefer pascal to C.
re:
Java has been out there longer and then it’s naturally to have better IDEs…and boy it took _long_ to appear a decent IDE for Java eh?
It took 3 years.
How old is .net?
Wow, .net developers now could use IDE that support refactoring 😉
But sorry, girls you are late 😉
PS Do many good IDE were written on .net?
Maybe you tell the rest the reason why you prefer objectpascal to C++? 😉
I’ve even seen people that prefer pascal to C.
If you’re really curious to know, I prefer Object Pascal for its superior architecture, syntax and readability. But you’re not supposed to agree with me. Use whatever suits you, just don’t expect people to agree blindly, or think C++ is some kind of godsend, it isn’t.
Java has been out there longer and then it’s naturally to have better IDEs…and boy it took _long_ to appear a decent IDE for Java eh?
It took 3 years.
…when IDE ______________ appeared (fill the gap, please)
Wow, .net developers now could use IDE that support refactoring 😉
But sorry, girls you are late 😉
PS Do many good IDE were written on .net?
Do you know what “straw man” arguments mean? You’re doing just that.
And hey, good news, there are many refactoring plugins for VS.Net out there…just pick one
C++’s superiority is not the point. I even doubt of it’s superiority in some cases. The point is that Java/.NET/Mono are good for nothing. These JVM’s, frameworks etc. just consume memory, use disk space, and provide nothing. Portability? Gosh, you can compile C code for every platform imaginable. And it’ll be fast, just because that’ll be native machine code, running without any wrappers as JVM. So, other languages can be ported (because compilers/interpreters can be), like perl, python, pascal, you-name-it.
So, no more portability than others, more hardware requirements, less efficiency. Such technologies have no right to exist I don’t think sane people will integrate such things into desktop environment. An no sane people will use it, of course.
This stuff came to .net from delphi
C++ doesn’t have it. Do you think Delphi is better language than C++? 😉
It is depend on the purpose. If I want to create RDBMS or any similar thing IMHO the C++ the best. If I want to create a business application with 100 forms and reports IMHO the Object Pascal is better. I know both language relative good (I wrote more then 20 000 lines in C++ and ~80 000 lines in object Pascal in the last 10 year). At this moment I develop my application under Kylix Delphi ide instead of Kylix C++ IDE. I like C-style syntax, better the Pascal-style, but IMHO the object-pascal code is cleaner in RAD-style environment.
Each time I look at code I want to know what happens there I used to be a C++ programmer but I never used + for adding item to store. I prefer to use add(…)
Imho the myform.label23.Caption=’alma’ is cleaner then
myform->label23->setCaption(“Alma”);
The rest does IDE. what IDE do you use for mono programming?
Eclipse also useable for C# ide with plugin. No too good C# IDE, but useable. But Visual Studio is good enought for me 😉
And it’ll be fast, just because that’ll be native machine code, running without any wrappers as JVM
You forget that for many application types (for example, entreprise apps), time-to-market is much more important than app performance.
In those cases, .Net is way faster than C. I’d say 3 months faster, if you know what I’m saying.
I agree with what LC wrote above: you gotta get the best tool for the job, there’s no such thing as an “one-size-fits-all” language.
If time-to-market is really so important to you, then you’re seriously wasting a lot of time developing software in languages with manifest-typing and rigid class hierarchies. Go license a Smalltalk implementation. For that matter, you’re wasting a lot of time using .NET when Java has a much larger collection of libraries written for use on the JVM, which itself is available maturely on more platforms.
The point though isn’t that rapid deployment of novelty, it’s basically the creation of “busy work,” where existing work is just re-done by someone else, only for .NET, and for their specific employer. It’s the same pattern that a lot of Java development during the .com took, where all of this “development efficiency” translated to an excuse for wasting millions of dollars redeveloping wheels.
All right. Please remove from the distributions the samba, opengl, DivX, odbc, or any M$-related technology.
OpenGL is created by SGI, not Microsoft. You mean Directx is made by the latter.
Shame that SGI did transfer all its 3D graphic patents to Microsoft:
http://www.theregister.co.uk/2002/01/16/sgi_transfers_3d_graphics_p…
For that matter, you’re wasting a lot of time using .NET when Java has a much larger collection of libraries written for use on the JVM, which itself is available maturely on more platforms.
But some of them already ported to .NET (nant, etc). And some of them unneccessary under .NET. IMHO the needful libraries will be (or already) available under .NET.
IMHO, the java is better if you want platform-neutral application, but on windows the .NET is give more nice issue with lesser work.
<h1>You may find it interesting to check out the sites dedicated tohttp://www.poker-7.com/texas-hold-em.html“> texas hold em http://www.poker-7.com/texas-hold-em.html“ http://www.poker-7.com/party-poker.html“> party poker http://www.poker-7.com/party-poker.html“ http://www.poker-7.com/texas-holdem.html“> texas holdem http://www.poker-7.com/texas-holdem.html“ http://www.poker-7.com/poker.html“> poker http://www.poker-7.com/poker.html“ http://www.poker-7.com/empire-poker.html“> empire poker http://www.poker-7.com/empire-poker.html“