Mono and dotGnu: What's the Point? 493
joeykiller writes "The Register features an opinion by Neil Davidson, asking 'Mono and dotGnu: What's the point?' Some of the points he raises may seem irrelevant for open source supporters (like why make a C# compiler while Microsoft's is free anyway), but others are thought provoking and maybe a little bit controversial. You may not agree with his opinions, but it's an interesting read anyway."
Free for who? (Score:5, Interesting)
Re:Free for who? (Score:5, Informative)
Re:Free for who? (Score:5, Insightful)
It goes without saying that both Gtk and Gtk# (Gtk wrapper for Mono) work on Windows, too. So you don't lose cross-platform angle, but this does show that Mono is *not* just a
--
Re:Free for who? (Score:5, Informative)
And just because Mono uses GTK which can also run on Windows does _NOT_ mean that there is no work involved in porting it to another architecture. The fact of the matter is that porting from windows to linux to bsd to solaris will always involve some sort of functional changes.
Mono is simply
Re:Free for who? (Score:3, Informative)
Part of it sure is reimplementation of
In other words, Mono is
--
Re:Free for who? (Score:5, Informative)
Mono feeds off of the various Linux GUI libararies in order to implement the windowing requirements for
Mono offers no improvements to
Re:Free for who? (Score:3, Informative)
Sounds like he's saying it extends the framework to me...
No, he's not -- but I understand how you'd reach that misunderstanding. He's trying to compare Mono to Microsoft's well-known tactic of "embrace and extend", wherein they "embrace" a popular/useful technology publicly, but then "extend" it via an implementation offerring a few advantages, but in a way that won't work with the original (often partially because of
Re:Free for who? (Score:5, Insightful)
No. You can't build GTK# using only the Framework, any more than you could build Windows.Forms using only the Framework. You need GTK for GTK#, and you need Win32 for Windows.Forms.
Windows.Forms is part of Microsoft's
The Framework is the CLR and standardized API.
Right. And Mono implements the CLR decently (minus a few features), then implements the API decently (minus a lot of features, but slowly catching up); then it adds to that API more features.
Constructing their own GTK# language
API, not language.
and database access is not an extension to "The Framework" but rather an implementation of the "The Framework".
Wow. No. Not even. Ever. Under any definition.
Both of those things (GTK# and the database API whose name I've forgotten) are APIs that Mono developers have, that the
They are NOT a implementation of the Framework. Mono is an implementation of the Framework.
Unless they are making modifications to the CLR and/or adding new instructions to the CIL, they're not extending anything,
Great! Then we agree -- because Mono makes modifications to the CLR (by providing more APIs), it's extending
[they're not extending anything,] anymore than I do when I write my own application.
But Mono isn't just a
-Billy
Re:Free for who? (Score:3, Insightful)
Re:Free for who? (Score:5, Informative)
We have turned Wine into a library, very much like Gtk+ is a toolkit on top of X, or Motif is a
toolkit on top of X, we have turned Wine into a toolkit on top of X.
The reason for doing so is that Windows.Forms is not a perfect API, it is modeled after the
Win32 API, and this Win32-ism is exposed at various points, for example every Control in
Windows.Forms can override the Wndproc method and handle Win32 messages itself to implement
some of the advanced features that are not possible with the simple binding provided.
Most GUI special effects are achieved in this way, and most third-party libraries that you can
download from the network will call into the Win32 layer, skipping the Windows.Forms API.
It is certainly possible to emulate a lot of this without using Wine, but you would just end up
replicating a lot of the work that has been done in Wine.
So instead, we chose to turn Wine into a library that we dynamically load whenever a
component needs to use Windows.Forms.
We made Wine work on multiple platforms (so you can run your Windows.Forms applications on
MacOS X for instance), and we also are integrating it with the Gnome desktop,
so things look and feel the same to end users.
You can learn more about the technical details here: http://www.go-mono.com/winforms.html
Re:Free for who? (Score:5, Funny)
Wine + Mono = Instability (Score:5, Interesting)
The grandparent is correct to complain that it is an unstable mix due to the fact that both Wine and Mono are under rapid, and asynchronous development.
About 6 months ago, when I gave up on using Mono for development, the Windows.Forms implementation required applying custom patches to a specific nightly build of Wine which was so old that Mono was the only place to get it from. So maybe if you were successful in getting your patch into the main Wine tree, and maybe after Wine matures a lot, Mono will be worth another look.
Also, I understand that the Mono team is aiming for complete compatibility, but I'd be tempted to declare that platform-specific hooks are unacceptable in a VM. After all, SWT seems to have achived fine graphics control with a much more abstract solution.
Re:Wine + Mono = Instability (Score:5, Informative)
and better solution. And that is exactly what we
have done with our own toolkit called "Gtk#".
Gtk# not only is very nice to program with, but it
is also cross platform and people are using it
in some cases instead of Windows.Forms on Windows
itself.
That being said, our effort to support the Windows.Forms
API is not driven by a need to have that API at all,
we believe it is one ugly API. Our drive to support
it comes from the fact that people are using it,
and have made certain assumptions about it.
So to us Windows.Forms is a compatibility play,
and one that we have to support to assist people
who want to try Mono as a way of moving their apps
to Linux.
The API we are recommending developers to use is
the Gtk# API.
Hope that answers the question
Re:Wine + Mono = Instability (Score:3, Insightful)
It seems Mono made a mistake in relying too heavily on Wine. It may have been more work, and may have been a duplication of effort, but they would have been better off in the long run recreating what they needed to, especially if their goal is 100% compatibility. Thus, they can only attain that 100% if (and its a big IF) Wine also attains it.
Re:Wine + Mono = Instability (Score:3, Insightful)
Um, ya, that was kind of the point.
Let me draw you a chart. If Mono can acheive 100% compatibility with the code THEY are responsible for, but there are compatibility issues with Wine, than, overall, there is no 100%. Since they have no control or influence over the Wine project, they will have, at that point, reached an impasse; since Wine can improve, not improve, fold, or accept external improvements to their sou
Wrong (Score:3, Informative)
Re:Free for who? (Score:3, Informative)
One quibble: (Score:5, Funny)
Right after we see the releases of Duke Nukem Forever and Doom III.
Um... not free exactly... (Score:4, Informative)
Re:Um... not free exactly... (Score:5, Funny)
Free as in beer... yes (Score:5, Informative)
Theoretically you could write C# applications for those platforms just like you could write C, C++ etc. applications for them. I don't see how you would need any other Microsoft products to use their C# compiler, though obviously Microsoft currently produces the most comprehensive development environment for C#.
Re:Um... not free exactly... (Score:5, Informative)
He obviously doesn't get it (Score:5, Insightful)
Although their time might be better spent in designing a true alternative to Java and C# instead of a copy that allows you to write a GNU application that runs everywhere, it's hard to fault Mono for recognizing a market niche and running with it. For example, maybe they'll make C# work on Linux embedded devices where Microsoft wouldn't go?
Re:He obviously doesn't get it (Score:5, Insightful)
He understands all these points well. But he doesn't think it's a good thing because then everyone - even on Linux, even on embedded devices - will use
Regards
Re:He obviously doesn't get it (Score:5, Insightful)
Are you sure you have a good understanding of what a patent is? They are not enforceble if you do not use the same method as the one that is patented. Essentially, MS has patented certain algorithms that happen within Windows.Forms, which can be and are being rewritten in another way.
I doubt that an API is patentable, since it isn't a method or a material object. Then again, if it were, enforcing it against Mono or DotGNU is pointless... the projects are not profiting from the sale of the technology. They don't even exist in the same marketplace as the framework, since they are completely free.
Re:He obviously doesn't get it (Score:3, Insightful)
At least with Microsoft we know they are anti-Linux. Sun trys to seem all buddy-buddy when around the Linux community but in a lot of their press releases and documentation they bash Linux.
Shoot some people have claimed SCO is just a Microsoft pawn. And although I am not doubting Microtosft is somewhat cheering for SCO,
Re:He obviously doesn't get it (Score:4, Insightful)
Important stuff such as System.Windows.Forms and ASP.NET and a few more are not ECMA standards.
That is why they will have ecma profiles for the compiler i guess.
--
Why not support Java then? (Score:5, Insightful)
Re:Why not support Java then? (Score:5, Informative)
Re:Why not support Java then? (Score:3, Interesting)
I run a java j2ee web server that runs just fine anywhere we put it [commercial web site].
I develop jsp/java on a windows box and then upload it to SUN/Linux boxes and it works perfectly every time.
So can you cite specific examples where it isn't cross platform?
Re:Why not support Java then? (Score:3, Insightful)
I'm going to ask you to 'cut the crap' as well.
Comparing the portability of ServerSide java to the entire
Java isn't a silver fucking bullet.
Re:He obviously doesn't get it (Score:5, Informative)
Re:He obviously doesn't get it (Score:5, Informative)
Re:He obviously doesn't get it (Score:5, Insightful)
Re:He obviously doesn't get it (Score:3, Interesting)
I can't argue with the performance I'm seeing from C#/.NET apps. I used to be a C++ DIEHARD but I completely switched to C#/.NET when and where possible.
A portable version of the library would be great! And it's so entrenched now that even if Microsoft adds to the API, the current API will still have to
Re:He obviously doesn't get it (Score:3, Interesting)
I've read the peformance thing Re: Java vs. .NET a few places as well. I have a question (or two) though, as I know next to nothing about .NET. Could this be in part because .NET uses more native components than Java? Meaning, are a share of the .NET libraries compiled to run w/o a VM, giving .NET a natural advantage for .x86 Windows?
Re:He obviously doesn't get it (Score:5, Insightful)
bright people doing what they like for free ... (Score:5, Insightful)
I, myself, am happy to have the chance to sample some of this work for free. Who am I to judge since I'm not paying?
Sounds defeatist to me. (Score:3, Interesting)
Let the mindless bashing begin (Score:4, Insightful)
you do know.. (Score:4, Interesting)
FYI, basically it boils down to this:
Java = american standards camp, though not fully done yet.
Re:you do know.. (Score:5, Insightful)
They have no control over C# standards in exactly the same way they have no control over HTML standards: Developers code to the Microsoft implementation, regardless of what the "standard" may say.
Re:you do know.. (Score:3, Insightful)
This is exactly what MS will do. How freaking naive can MS weeines be? MS is all about dominating a market. Big deal if C# the language is a standard. The platform is what matters and MS controls their .Net platform. People/Companies will code to that MS .Net platform and leave all other platforms out of the game.
If you want a cross-platform framework, use Java. If you want a cross-platform application, use wxWindows [wxwindows.org] o
Motivations (Score:5, Insightful)
I don't want to use Java. First of all, I've never used it to develop software. Second of all, every user interface I've ever seen done with Java stinks. Maybe I've been seeing bad examples, but the windows, buttons, and other contols of the Java apps I've seen have an old fashion look and feel to me and I don't care for it. My personal opinion, but for me, that counts for something.
So, whatever the motivation of Mono or dotGnu, I simply want to develop my cross-platform C# apps. That's MY motivation, and that's what matters to me.
Re:Motivations (Score:3, Funny)
You're talking about slashdot right?
Re:Motivations (Score:5, Informative)
Re:Motivations (Score:5, Informative)
Most Java apps are not client side apps. Java is (at least at the moment) still heavily server-side. So looking at GUI apps as a mark of quality of Java as a development language is highly misleading, although understandable.
However, take a look at Swing Sightings [sun.com] for some examples of truly outstanding Java GUI apps...
Re:Motivations (Score:3, Informative)
Having done a little in C# and a lot in Java, my personal opinion is that the development environments are comparable, with the caveat that you've got way more options for tools and components on the Java side since it's a much more mature and broadly supported platform.
I'm curious about why you don't want to use Java. Java and
One reply (Score:4, Insightful)
I wanted to clarify a few things, because Mr Neil does not seem to
have looked at the Mono Roadmap, nor tried a recent release, since
code signing (authenticode and strongnames is implemented, remoting is
completed (soap, binary, http, tcp transports) and most of the
side-by-side assemblies work is done, and will be part of 1.0).
The Mono Roadmap (www.go-mono.com/mono-roadmap.html) contains the
release time frames for the various features of Mono and will help him
and other readers understand what exact plans are: no speculation, and
no half-cooked facts.
I am surprised by the motivation to do so little research on our
project given that Mr Neil is the technical director of a company that
sells
him reach customers using Linux, using mainframes or MacOS X.
Mono is based on the ECMA 334 and 355 standards. We like the C#
language and its runtime (as does Mr Neil's company) because it
increases our developer productivity, reduces the time to market of
our new products, this despite the fact that we do not implement Code
Access Security, which will only be used in embedded situations, a
segment that we are not ready to address in Mono 1.0.
We want to improve the productivity of developers in Linux, mainframe
and OS X developers by brining this unique platform to other
platforms. Just like Borland, SGI, Sun and IBM provide compilers,
runtimes and tools for other languages, we provide such a piece for
C#/.NET.
Mr Neil does not seem to understand why bootstrapping a C# compiler is
important, so let me explain this in terms he would understand: it is
important because:
* Using C# to write a C# compiler means that it improves our
development speed.
* To be able to harvest the benefits of productivity of C# on
Unix, we need a bootstrapping system.
* It allows us to write software on Unix without and be
self-sufficient to develop software as opposed to require
a Windows machine to develop software, and another to run it.
* It means that we trust our technology enough and it is solid
to the point that a relatively complex piece of software not
only runs, but is binary-compatible with the Microsoft
runtime.
Mono's objectives are not "To break Microsoft's monopoly". We do not
define ourselves in this way, there are more important social causes
to fight. We look at the ECMA 334/335 standards as a solid foundation
to improve Linux and bring more software, more quickly to it, and make
the development process more fun.
There is a lot more about this on:
http://www.go-mono.com/rationale.html
And a few other interviews
Re:One reply (Score:3, Troll)
I find this very enlightening. I had no idea that Mono was intended to be compatible with Mac OS X, and I find that VERY cool. As I posted earlier regarding my own open source project that uses
Re:One reply (Score:5, Interesting)
acquisition, from five developers to a team of
fifteen developers.
We are only working on Gtk# support.
Re:One reply (Score:4, Informative)
Common Intermediate Language, so you compile in
one platform, and you run in another one. All you
need is a virtual machine running on the target
system
Re:One reply (Score:5, Informative)
But we have. We support SPARC, SPARC 64 bits, HPPA (32 and 64), StrongARM and PPC in a wide range of operating systems.
Re:One reply (Score:5, Informative)
This problem has been in existence forever - how can it be that C compilers can be written in C? (Hint: the first one wasn't)
Re:Mono/MCS does not work on OS X ! .. only mint d (Score:5, Informative)
something that we are actively fixing.
(We do not officially support the MacOS X for this
very reason: we are not done yet with the port,
the technical detail has to do with the patching
of generated methods to point to new methods that
are JIT compiled on demand, and the issue there
is that the PPC needs more room to do calls that
span the +32/-32 meg barrier, so you need to build
some thunks, not hard to fix, and on our todo list)
The Mono C# compiler works on OS X, we use it to
build all the class libraries and Gtk# as well.
Miguel
Re:One reply (Score:5, Insightful)
That YOU are so sycophantic re: Micros~1 and mono is the greatest irony of all time. It would be funny if it weren't so truly stupid and truly dangerous.
This is a variation of killing the messenger for delivering the message. Instead you want to kill the message (.NET and C#) because you don't like the messenger (Microsoft). Frankly, I think it's just as stupid as killing the messenger.
Miguel thinks, and frankly, I agree, that
Has WINE helped or hurt Linux? It provides people a layer of compatibility that allows them to migrate to Linux. That's REALLY important to a lot of people, companies, and governments who are deciding which platform to use. If I'm a government agency and I have a custom tool written in C# and now we're thinking about whether to switch to Linux or continue using Windows, I have an option. Without Mono and dotGnu, my decision is made. I have to stick with Windows or rewrite my software. Which one do you think will cost me more.
You and the Point seem to have passed in the night (Score:5, Interesting)
In the end, I feel like I've been ASTed.
Obvious and Sophmoric. Where's Something Original? (Score:3, Interesting)
The threat of patents makes his a valid view, that has been well elucidated some months ago. I would have preferred if the article had broken new ground, and used all the prior conversations as a jumping off point.
An interesting analysis would be what is thought about Mono's preparation for the threat of patents. They are developing a completely seperate and patent free stack of libraries using GTK#, etc. rather than Windows.Forms, etc., etc. for everything not submitted as royalty free to the standards body. The upcoming MonoDevelop project is a port of SharpDevelop from Microsoft's
As a comparison, he might wish to bring up the GCJ project, which native compiles Java code, and the Gnome Java bindings. (or Eclipse + SWT)
Either effort could stand to attract greater resources. For instance, if Sun + IBM seriously got behind GCJ + Gnome Java bindings, or if Apple got behind Mono.
Anyway, the Register is usually wonderfully edgy, bitingly sarcastic, and controversial. I was very disappointed with this article.
Re:Obvious and Sophmoric. Where's Something Origin (Score:3, Informative)
Author missed benefits of dotGNU (Score:3, Interesting)
"Enemies"? "Extending monopoly?"
I think the author has missed one of the points about .NET: it does have some very attractive features that certainly could be useful in any environment, not just Windows. Automatic garbage collection and rock-solid typing are valuable assets. Just-in-time compiling in the runtime environment can provide extremely fast running code. (Not that it always does, but it has the potential in some situations.) These are benefits that there is no reason the GNU community can't share.
There's also another benefit: it's a two-way street. Having dotGNU might provide a roadway for Windows developers to leave the Windows platform.
He has interesting points, and they're worth discussing, but it's way to early to pronounce dotGNU or Mono dead.
letters to the editor (Score:5, Informative)
http://theregister.co.uk/content/35/35557.html [theregister.co.uk]
not that i'm trying to defend
Alternatives are good (Score:3, Interesting)
Mozilla when was started it wasn't as good as explorer, or opera, both were free, so, why start another project? Now, a lot of people thinks mozilla is the best browser.
Stop-gap measure (Score:3, Interesting)
No and Yes (Score:3, Insightful)
Let's look at Java. How many professional/hobby/academic Java developers use Sun's SDK?
How many use Gnu classpath with some other VM? [gnu.org]
Have you ever downloaded an app or library that was developed and tested under SableVM/Gnu-classpath but not Sun's SDK?
Running it somewhere other than Windows? (Score:5, Insightful)
Linux, maybe? Mac OS X? Free BSD? I see getting C# programs to run on other platforms as a practical purpose. Later on in the article he acknowledges that you'd be able to run these programs on Linux, but that's more like a throw away concession he makes. He plays dumb in the beginning, and makes himself look silly.
How is making C# a standard on Windows and Linux going to hurt Microsoft?
I think that the people behind the project have better goals than that - namely, getting a particular tool to work on Linux. People use Linux for a variety of things. It would be nice if C# - just another tool - worked under it. What's the big deal?
There is an obvious practical purpose to getting C# programs to run on Linux. The real question, however, is will the
Why doesn't anybody complain about WINE? (Score:3, Insightful)
It seems to me a little hypocritical to complain about MONO and dotGNU when there's also WINE out there. What's the point of getting Win32 Apps to run natively under Linux? We'll never keep up with MS adding things to the API...
The point is, the more implementations there are of the CLR for
On the flip side, why isn't anybody complaining that there's an abundance of Java VM implementations out there?
C
Free from MS, but for how long? and can we extend? (Score:5, Interesting)
If Sun and Java die, MS will be free to add proprietary bits, and we'll still want a free version.
Also, although there are some nice things in C# (such as being able to work with arbitrary C pointers and data structures returned by C functions), we may want to tweak the design a little, or extend it to work with python or lisp or other languages. The idea of a "glue" language that can call routines written in many languages is very appealing. Sometimes you might want to have one program that can deal with low level data structs like C, handle resolution theorem proving like haskell, and maybe strings like snobol. With a good glue language, yuo could write each routine in its appropriate language, then glue them all together.
I have to agree (Score:5, Interesting)
I can see one value, which is it allows those 'stuck' (I don't really believe in that concept, but whatever) on Windows to migrate off it. But in the same line of thought there's also this huge issue which is M$ and they way it trys with all the power of the universe to prevent that. Whether it be licensing tricks or slashed pricing, or plain 'ol FUD - in the end, they'll do whatever's possible to keep people locked in.
And honestly, I have to raise an eyebrow to anything M$. I mean, C# is a specific jab at Java. Java wasn't built to wrestle control away from M$ C++ and their dev tools. So something that is made to ward off something else that, in my book, is a pretty good thing for Internet developers, is pretty sketchy. Not saying Java is the king or anything, but the underlying reason for C# is: we (M$) can't control Java, so screw you, we'll copy and extend, build the concept of a VM (CLR) into our OS, and then woo all those productive
Lastly, any Open Source/Free versions of
And also, for me, there's just something filthy about the M$ development universe. I find their tools are kludgy, bloated, and too foofy. And I don't like having to install five thousand libraries and integrated-this or integrated-that, plus an update here and an update there - I'm not a fan of everything integrated into the OS. Granted, Net Beans can have a huge footprint and I didn't say that it is a great app (don't care for IDEs either), but there's just a something about M$ tools that I just don't and never have liked - this naturally extends all the way through their whole stack. So seeing a HelloWorld VB app running on Linux kinda makes me shutter and just kinda think why? I'm sure the natural answer for some will be - because. Meh..
Tastes like... burning (Score:5, Interesting)
He missed a very important problem though. Performance. I admit that I haven't played with Mono in 6 months or so but last time I tried it the Microsoft runtime/compiler/JIT/whatever was hella faster than Mono. Several times faster.
I'm not sure if the Mono developers will be able to achieve the sophistication required in the compiler and runtime while still doing all the other stuff that needs to be done. Time will tell.
(*) I like C# better than Java. Especially the interface to native DLL's (not perfect but way easier/simple than Java). Plus C# was designed from the beginning to have things that Java only recently got (generics anyone?).
With that said, I still think C/C++ are just as portable, much faster, and don't require stupid memory sucking VM environments. If only we had C++ equivalents to the huge Java and
The true question: (Score:5, Insightful)
Agreed! We must innovate! (Score:5, Insightful)
We shouldn't lag behind and chase Microsoft's coattails. We should instead innovate; create our own
Re:Agreed! We must innovate! (Score:3, Informative)
And if not, what does it mean to create your "own
Think of it this way. When C# was released, everyone said that it (and
it's pretty simple, really (Score:3, Interesting)
What MS does or doesn't do with C# is their business. And if
The Office.NET Test (Score:4, Insightful)
If it will, then I'll be happy to declare
But if it doesn't, then I judge the whole effort to produce non-MS
Now,
Now, as you can probably tell from the tone of my post, I've more-or-less concluded that there is basically no chance that MS will ever allow Office.NET to run on any non-MS
then point the zealots are missing... (Score:5, Insightful)
That's right, open source projects written in mono will have the ability to run under both linux and windows, mono and
Quote from Miguel (Score:5, Interesting)
* GNU was based on a proprietary technology. GNU is a free re-implementations of Unix. Linux is a re-implementation of the Unix kernel. Before the advent of Linux and the Berkeley Unix, Unix was a proprietary technology, built by ATT (which back in the day, was a monopoly). Still, developers took what was good from Unix, and reimplemented a free version of it. Down to the Unix programming language: C (which was also invented at ATT). Even C++ was invented at ATT. Think of Mono as following the same process: we are bringing the best technology out there to our beloved free software platform. And at the same time it serves to be a magnificent upgrade on the development platform.
This is entirely up to Microsoft (Score:3, Interesting)
Novell should ask Microsoft to issue a statement or enter into a contract that they won't pull the rug out from under Mono by enforcing patent/trademark/etc. protections and adversely affect the Mono community. If they refuse, then you know Mono is doomed. If they comply and their answer is legally binding, then have at it.
Mono is excellent technology but it is in a very dark shadow. I wouldn't base my software on an architecture that is under patent threat by one of the most powerful companies in the world -- What's the point of speculating since all we have to do to verify its safty is ask Microsoft ?
This is only proper. . . most of the runtime and forms libraries are proprietary property of Microsoft -- we need to ask them if we can use it if we are worried about backlash.
Please do not reply with anyting about GTK# not being property of Microsoft. . . the "#" trademarks and the runtime technology (CLR) certainly are their undisputed property. Playing games with their IP without asking their permission is unwise.
What REALLY bothers me about Mono (Score:3, Funny)
Herpes is a registered trademark of Microsoft Corporation.
best quote (Score:4, Interesting)
I am not the biggest fan of C# or .NET and would rather see this community work together to design and specify a next-generation free and open standard for Cross-OS/Platform/Architecture "virtual machine" and language allowing for a single portable executable binary. I'd like to see RFC's and IRC conferences, papers being passed back and forth, live conferences and formal specifications.
For too long has the opensource community nipped at the heels of the closed-source technology leaders. It is time to innovate, time to design, time for change. I do think having an opensource C# compiler/framework/CLR is a good thing, but I believe this is only secondary in importance to having a truly free and open solution where all voices are heard and designs are not made to accommodate a particular OS's limitations or benefits.
Neil Davidson's conclusions are incorrect (Score:3, Informative)
Further, we only need to find one practical use of mono to demonstrate that the conclusion is categorically wrong. That mono ships with commercial products such as Virtuoso suggests that there is at least one practical use of mono.
On Davidson's second point, I think he misunderstands patronage. Microsoft does not currently fund mono in any way in which I am aware. They do fund some competitors to mono such as rotor and (at least at one time) Corel's attempt to bring dot net to Linux. His only example of Microsoft being a patron consists of a hypothetical chain of events that is exceedingly unlikely. I suspect that perhaps Davidson meant forbearance instead of patronage. If he did, he would do well to explain exactly how Microsoft's patents threaten mono because some people (including people far brighter than me) do not see any clear and present danger.
Im developing System.Windows.Forms (Score:3, Insightful)
http://www.dotgnu.org/ [dotgnu.org].
Ive written a large chunk of the System.Drawing and System.Windows.Forms namespace. We currently have two "toolkits" that means our SWF copy will work on Windows and X Windows (using Xlib directly). Mac OS is thus supported.
C++ improved on straight C, Java improved on C++, C# improved on Java. C# is becoming an important standard.
We want to reuse software. We want to take existing software that is built to only run on Windows and run it on Linux or other platforms.
We have much of the framework built to write gui applications using System.Windows.Forms. Despite peoples initial suspicions, what we have done works. We already have most controls completed, including textboxes, treeviews, comboboxes, tabcontrols etc.
See http://pnet.homelinux.org [homelinux.org] for some screenshots
You can now take a
The technology is excellent and open source. We need people to help us finish it off.
Re:grrr. (Score:3, Insightful)
Re:grrr. (Score:3, Insightful)
I p
Re:grrr. (Score:5, Insightful)
As for
Technically,
You can also compile many language in JVM, but SUN has never used that as a selling point since it is pretty silly. All
Re:grrr. (Score:4, Funny)
Many of C# extra "features" are unnecessary "syntactic sugar",
There was a decent "article" a few days ago that linked an "interview" with the head of the C# group who "talked" about some interesting things and "addressed" a few of the "syntatic sugar" discussions. It also addresses why a number of decisions were "made" contrary to the way Java does things and why those Java "things" were considered "bad".
I'd like to see some "information" on what you think are "superfluous and harmful" in C#.
Re:grrr. (Score:4, Informative)
Java is available for MS Windows (95,98,ME,NT,2000,XP,CE), Linux, Apple MacOS, FreeBSD, IBM AS/400, IBM OS/390, IBM AIX, IBM OS/2 (yes, some people are still running it), Sun Solaris, SGI IRIX, PalmOS, Nokia cell phones and numerous other embedded devices. I'm sure I've missed a few but that's just off the top of my head.
When .NET allows me to run a program on everything from a mainframe to a cell phone then I'll be impressed. I doubt that will ever happen because Microsoft is too afraid to put .NET on any platform it can't dominate.
Re:grrr. (Score:4, Insightful)
I don't care, you might not care, but for FREE/Open Source zealots it matters.
Re:grrr. (Score:5, Informative)
BTW, ECMA accepts all standards that companies care to pay for, they are hardly neutral.
Re:grrr. (Score:5, Informative)
Look at: http://primates.ximian.com/~miguel/tmp/map2.png [ximian.com] to get an idea of what we have to offer today
Re:grrr. (Score:3, Informative)
You really are naive. Both the Java Language and the JVM are published in books by Sun, I have them both, and they are both still current, even after several years. Sun has always had a good policy regarding forward compatibility, even Java 1.2 programs will run in 1.4. Only Java 1.1, as the original maturing version, is truly obselete. Further, is there a major operating system out there where Java doesn't work? Even IBM a
Re:Technical Director? (Score:4, Informative)
As for me, I think it's a cute project, but it's only use I see is cross-platform GUI applications. (a good thing for Linux adoption by the masses) And Mono is way off for doing that.
Re:Technical Director? (Score:5, Insightful)
I'm sure Linus would have gotten the same sort of flack when making Linux. But he started the project, and look what it is becoming.
I think what the guy doesn't see is that not everyone 1) wants to program/compile on Windows (let alone whether they have a copy) and 2) wants to run this supposedly cross-platform language only on Windows.
It's okay to have dreams of bringing down a monopoly, but the point of an open source project is to have other options. Even if it is a long and arduous task, it still has merit, and should still be done, even if for just another option.
Now, if Microsoft makes a Linux compiler for
Re:Technical Director? (Score:3, Insightful)
I think its more of a cross-language platform.
Re:Technical Director? (Score:3, Interesting)
Bad example. Does not apply. In no way, shape, or form can this be used as an example. One, UNIX is fairly stagnant. Catching it was only a question of time. Two, Linux did and does not require the use of someone else's patents to be implemented. Three, AT&T does not have a long history of purposely breaking compatibility with other UNIX vendors. Just imagine AT
Re:Technical Director? (Score:3, Insightful)
I understood that, loud and clear the first time you said it. I have no idea how you came to the conclusions you made, based on my statements. Your assessment of my statement is far, far in left field.
As for the "impossible" quote, I don't think anyone really cares if it's possible. Heck, let's argue it is possible. Great! Now, MS will break it to cause incompatibilities every chance they g
Re:Technical Director? (Score:4, Interesting)
Re:Technical Director? (Score:5, Interesting)
And that "cute" use is enough to get Microsoft developers like myself actually interested in Linux development.
1. So Win32 developers can create applications in a high level environment similiar to Java on linux. Java is great. But so is
2. So we can port
I want to use c# and
Re:Mono is evil (Score:5, Interesting)
this is such horsecrap !
you mean that any old app written in C or C++ will break ? that gcc won't compile anymore ? FUDFUDFUD ! amazing this shit gets moderated insightfull !!!
this is so much alike 8 years ago when everyoner was yelling that soon MFC would be the only way out. guess what ? I still write non-mfc c++ code. you might want to look at this [tinyapps.org] site. are you suggesting that none of these will run/compile anymore under longhorn ? dude : it's JUST AN OS on JUST A CPU. it runs machinecode. that's all
Re:Mono and dotGnu are a good thing (Score:3, Insightful)
Now that you know even the most basic of facts, perhaps now you'll understand why yo
Re:m$ shit coders are gay (Score:3, Interesting)
Who cares if you can write a "CGI application" in C. Can you write an enterprise level software application? Authoring enterprise software is an expensive proposition -- and why not use