Mono and dotGnu: What's the Point?
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."
Last I knew, the .NET framework was only available for Win32 and FreeBSD. Has this changed recently? I dont really see a problem with Mono. If they can make it so that System.Forms works with GTK/Qt, that would be rather nice. I would imagine this would lead to tons of portable apps. Of course .. Maybe i dont understand .NET
It reads like a troll. A software company directory who doesn't "get" why you need to
bootstrap a compiler.
Right after we see the releases of Duke Nukem Forever and Doom III.
It's not really free if you are using Microsoft, because they anticipate that in order to use C# compiler, you will need other Microsoft products that cost money. They aren't a non-profit organization! That's a great reason to make YAC#C.
stuff |
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?
Someone should tell him that there are other processor architectures than just x86, processors that aren't supported by MS ...
codegolf.com - smaller *is* better.
"...they have no practical use, and exist only with the patronage of Microsoft. "
Sure. Just like strong encryptions was tarriffed. That worked out so well.
... doesnt always mean it makes sense from a resource point of view or from "the big picture". But that is the price with people giving up their own time.
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?
Neil wants to give up implementing .NET for MONO and dotGNU because neither project will have all the features.
I think that it is likely that Novell or ?? may pick up the pace..
All the worlds indeed a
We know that Slashdot posts these kind of articles as bait for the meatheads who think that being against Micro$oft makes everything they say correct. Microsoft bashing is no substitute for thinking. Be free! Think, think!
that C# and IL are an international standard (at least in ECMA's eyes) and MS has absolutely no control over the language right? Not just that there are several other compiler for C#, made by german firms i think.
.net = european standards camp
FYI, basically it boils down to this:
Java = american standards camp, though not fully done yet.
The war with islam is a war on the beast
The war on terror is a war for peace
As a .NET developer, frankly, I don't care what the motivations of Mono develoers or dotGnu developers are. Maybe I should be, but I'm not. I'm building an open source project in .NET and I want Linux, BSD and Mac OS X support (the latter two, hopefully with the help of SSCLI), and frankly, whatever other platforms I can include.
.NET is a really nice development environment. As much as I don't care for Microsoft, I have to admit that since I adopted C# about a year and a half ago, my production has roughly tripled, maybe more. I've never had ANY technology have that kind of impact on my development before, unless it was the reverse (making me 3 times LESS productive).
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.
We read with interest the piece from Neil on the purpose of Mono, and
.NET software; You would think that the use of Mono would help
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
Could it be that we want to run .NET programs under Linux? Or, better than that, that we (linux using programmers) would like to be able to write .NET programs without booting into windows? His points about mono and dotGNU just replicating features already availible in .NET is irrelevant... because they aren't availible on our platforms. Sure, there would be nothing great about windows.forms in X, if we already had a way to do windows.forms stuff in unix. We don't. And his points about microsoft adding all kinds of features to the languages and the .NET library is pretty irrelevant: a) mono is probably going to add those features to the compiler and libraries as soon as possible anyway b) in the state mono is in right now, it is possible to do just about anything you would need to write any possible .NET application c) as long as ms's .NET compiler still generates the same CLI, it would be possible to run the programs in mono (assuming it is something that doesn't have huge chunks of embedded C or anything).
In the end, I feel like I've been ASTed.
====
Crudely Drawn Games
A bit late to be controversial on this. I assume that he also thinks that WINE (which allows windows binaries to be installed and executed as if it was Windows) is also a bad idea, and that the idea of doing everything windows does and more besides is either not feasable or not a good way to attract users. If he believes it is feasible, then I further assume he believes the same thing is true of Microsoft's Embrace and Extend strategy.
.NET to the Mono environment in such a way as to be unencumbered from any patents, as a proof of concept, and as a much needed Linux IDE for C#.
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.
"There's so much left to know/ and I'm on the road to find out." -Cat Stevens
"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.
John
just now El Reg published some of the angry letters in defence of .GNU:
.GNU, just presenting a counterpoint.
http://theregister.co.uk/content/35/35557.html
not that i'm trying to defend
WINE is a bad idea in the long run. Sure, it may bring people to Linux but they are still using Windows program on Linux. They never break free of the Windows lock box even though there are (in a lot of cases) software that can do what they need natively.
Kaffe is a free java vm, why they did it? Because now, if you want free java on ipaq, kaffe is a good solution. Also because kaffe is open source so its chanches of porting are better. And sometimes is quite faster then sun vm.
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.
I agree with quite a lot of this article myself. I've never liked Mono or thought it a very good idea. .NET is an OK platform but it exists solely to keep customers locked in to Windows. A quick look at the Longhaul previews show that it will be next to impossible to write Windows software in the future without embracing .NET. Java remains a real and viable threat to Microsoft but Mono is not since you can be sure that, should it ever become any good, Microsoft will start using spurious patents and other nastiest to kill it off. IF they weren't sure they could do this they wouldn't allow it - what otherwise was the point in spending all that money on a MS Java clone in the first place - they're not going to make any money off it directly.
Mono and DotGNU, if nothing else, are good contingency measures if .Net happens to crush Java in the realm of web apps (not likely.) I'm half suprised at the rush to implement forms, as web apps seems to be what .Net was intended for, though the Gnome guys are the ones driving development...
My Other Computer Is A Data General Nova III.
You can download the Rotor source free and compile/run it on Windows XP, FreeBSD and Mac OS X. Or maybe you meant on Linux.
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#.
Despite the fact that this guy doesn't seem to understand or appreciate Mono and dotGnu acheivements, I still pretty much agree with his conclusions.
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?
Have you ever downloaded an app or library that was developed and tested under SableVM/Gnu-classpath but not Sun's SDK?
-... ---
The article makes very good points. For the most part I actually like C# and it would be nice to be able to take projects I build with Microsoft tools and easily port to Linux or FreeBSD. But that was never my goal. MS makes great tools for supporting Windows Windows Windows, and the developers that use these tools know that. So while I'm sure projects like Mono are great fun (and I love fun), anyone looking to break the MS monopoly with it is just dreaming.
BTW, my main reason for using C# is to write funky little games with managed Direct X. Everyone and his brother uses C++ with all of the inherent disadvantages, but I think C# may have a bright future on the Windows platform.
To the making of books there is no end, so let's get started
While providing freedom of choice might be reason enough to justify a project, practical programmers could be asking: What's the point?
.NET framework on Linux be good enough so that people will actually want to use it? That's a very real question, but it's not the main one he's asking.
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
Hey all,
.NET the better. I, for one, am glad to see that the effort is being made and that .NET is not going to become yet ANOTHER MS only technology. If you think Java has merit (and it does), then you can't reasonably believe that .NET has nothing to offer -- they're conceptually the same thing, skewed in slightly different directions. Java is bent more towards security, while .NET is bent more towards flexibility. It makes sense to bring it to Linux: it's useful (really!).
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
The Sun is proof that we can't even do fire properly.
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.
--- Often in error; never in doubt!
And don't say /. without a link :)
Hahahaa... DotGNU Tron on XBox ...
:)
It's still an x86 box
Quidquid latine dictum sit, altum videtur
Is .NET even relevant? I will be honest and say I've never touched it or researched it's uses. Is it not just another attempt to grab marketshare back from Java on the Windows platform after J++ or whatever MS's last failed attempt was? I know people use it, and I've actually heard opensource developers say some of it's features are neat, but it seems like it will only fill a small niche. Too much hubbub over a niche market. Then to put Mono in the mix, it feels like a big time sink to try to implement an Opensource/Free version. However if they are doing it to force MS to stick to it's "Standard" in order to make developers lives easier, then I applaud Mono. Mono developers have to feel a bit aprehensive working on something that MS can pull away from at the drop of a hat.
$0.02
...and a Simpsons movie.
But what is interesting, is their letters page of peoples responses;
t ml
http://www.theregister.co.uk/content/35/35557.h
" Mono and
It's right ^ there.
--Stephen
Did you ever notice that *nix doesn't even cover Linux?
What does he define as useful? I can say, with certainty, that Mono was created for very practical and useful reasons.
// file: mice.h
#include "frickin_lasers.h"
After RTFA'ing... (or is it R'ingTFA?) The author of this piece seems to be trying to make a case that time spent on dotGNU and Mono is time wasted. I beg to differ, in that we can ALWAYS use another compiler (and/or IDE) for any language. Some compilers optimize for this or that, but if the binary resulting is capable of running, more power to it. I know a few programmers who will use different compilers based on what code they are attempting to compile. Mostly because X compiler does X code better than Y compiler would, and so on. It is always good to have a choice in the marketplace, *even for free software*. That being said, I am fully in favor of using the .NET framework and C#. Why? Because we can recompile it for Windows, for Linux, etc. It makes more sense to write once, compile anywhere. And the flexibility allowed by C# is a lot better than that afforded by C/C++. The time to market is quicker, to boot.
Lower time developing = Lower cost of making a program = Cheaper programs, more quickly updated.
I am not one that expects software to be free as in beer. But to be free as in speech is a good thing. Microsoft will probably never release a self-bootstrapping compiler, so the efforts of dotGNU and Mono go towards this. This is a niche they can fill quite well.
I, for one, welcome our new .NET overlords.
I fail to understand how making a compiler for a platform that does not currently support .NET (i.e. Linux) has, according to the article, "no practical use". As a developer who works a lot with .NET and C#, I'd love the opportunity to deploy some of my web applications on a Linux server, and I'm looking forward to the time when Mono gets good enough to support it.
As someone who contributed a little code to gotGnu, I kinda started thinking, what's the point? What is the point of running .Net on a non-M$ OS?
;) Java developers over to a real platform.
.Net are playing with fire. If Mono or dotGnu were wildly successful, then M$, owning all the patents, copyrights, and trademarks, would pull the legal card and shut them down or just plain not interoperate with them - yes, I know portions of .Net are part of ECMA. However, this isn't the days of the 80's or 90's where you could reasonably get away with this stuff and everything under the electronic sun wasn't patented. Nowadays the control and nastiness in the business software world is unparalleled - just look at that guy that patented the concept of 'web stores' for example. So, while my hat is off to all the people who have really busted their ass on Mono and dotGnu, I ultimately feel that it will be a lesson in frustration and disappointment.
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..
The day I can get Word up and running on my Linux box WITHOUT it
A) Suddenly dying for no reason
B) Try to use so many uncompleted stub functions it doesn't work properly
C) Can't find x,y,z lib or such and such
D) doesn't lock up completely
is the day I'll think WINE is a useful tool. At the moment its an interesting diversion for a few minutes but as a productivity tool it sucks whole
mountains , never mind rocks.
Ok, so the article is a bit harsh. I agree with a lot of what he said but he missed one major point and is just plain wrong on a number of things. I don't think Mono is about destroying Microsoft or providing choice. It's about using a nice(*) language like C# on Linux. That statement alone kills his whole argument.
.Net libraries.
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 ratio of people to cake is too big
...(I haven't read the article yet but bear with me), he's probably saying that their time is better spent getting the CLR to work first and then creating the compiler as microsofts compiles it into CLR bytecode already anyway.
This way, they get a kick ass CLR so you can deploy your apps to linux (just not compile there yet) and then they can do the whole compiler thing.
I am NaN
It's a more established framework and a lot more cross-platform.
At least only a half-assed interpreter works on OS X ... DotGNU has a JIT on OS X / PPC ... and it actually builds on a standard OS X box (ie Darwin ports).... and runs winforms and wx.NET there (if the dotgnu.org screenshot is not doctored).
And the Mono C# compiler also does not work on OS X !... then wtf ?
We want to support and we already have support are a universe apart for Real users.
From what I understand, the Mono project pretty much has a complete implementation of both the ASP.Net and ADO.Net libraries, and that will do for the vast majority of web applications. Therefore, I completely disagree with the author's comment that "even if Mono or dotGNU gets 99 percent of the way there, that's not enough." His analysis might be more accurate if your talking about desktop applications, but I don't think his arguments really have any relevance to web apps.
At the very least, Mono and dotGNU will give Java/J2EE a little healthy competition on some different platforms.
Mono is not .net ! If it was, then there could be an interrest.
All your claim about mono : "improving developpement speed", "harvest the benefits of productivity on Unix", "develop software, and another to run it" are nonsense !
In which world are you living ?
These are already facts since years: WE GOT JAVA SINCE ALMOST A DECADE ON MOST OSES!
Linux is the reference platform for Java J2EE AppServers. And Java is available on tens of OSes (i am not speaking about "sub spec", but real full compatible platinium quality tested !).
Java is now fast (see latest bench), efficient, truely portable (both binary AND source) ! So what is your point about mono but MS related FUD !?!
For strategical reason, Mono is dead before caming to live as MS will never let a realword application developped under Windows run on non MS OS ! This is fact and you can not say i am wrong. So forget about Mono, spend your time on Linux and if you need portability then think about Java.
This is the most rational response to this article I've read yet on this page. I'd much prefer to see this first thing... Oh well, I suppose Slashdot doesn't have such a thing. Anyways, good response! And I hope you guys keep up the good work, I really enjoy where Mono is right now, and where it's going.
There ARE reasons to develop projects on a non-microsoft platform...other than defeating microsoft's monopoly. An alternative to .NET doesn't have to be about that. It's about choices and flexibility. Mono may always (or not) be a few steps behind .NET .... but that by no means makes it useless. .NET and Mono will still have applications best suited for them. Cost, features, security, ect...all play a role and one or both of these technologies will be a good candidate for the job at hand.
Better than Flickr - Manage, Share, Archive
I think the real point that he's missing is that every project undertaken on Open Source that's a direct response to something that Microsoft is doing is a step in the direction of eliminating barriers to entry. Anything that can be done on an Open Source platform that could previously only have been done in a Closed Source environment is a good thing.
"the potential to extend things in your direction instead of Microsoft's"
.NET framework and C# as a start point?
.NET onto Linux boxes for portability. Portability == compatibility. Compatibility != extending things in your direction!
.NET code across platforms, the Mono project becomes a futile waste of time...
Well actually no. If that's the point of the whole exercise, why start with the
The point of Mono et al is to get
Portability in Mono's case is following MS to the tee, enabling people to write platform-portable code, nothing less. Funnily enough, Java already has that ground covered, so unless Mono's core aim is running
I'm not a fan of crazy monopolies abusing their position of power.
.NET class libraries. And I'm developing a soft spot for VisualStudio.NET 2003.
But I really, really like C# and the
If either of these projects gets to the point where I can do useful things with C# on Mac OS X, Linux, and Solaris, I'll be happy.
Actually, I managed to build dotGNU on OS X this week, and can run the XML app I was working on; I haven't managed to get Mono built, which is a shame because it implements more of the classes I want to use... with any luck, I'll be able to track down a binary package for OS X.
- chrish
well. i don't remember Sun getting to dominate the world because of guavac & jikes. do you? and indeed, didn't the author know the C# and .NET where standarized by ECMA?
I hope Mono really will allow me to use .NET assemblies from within open source languages that I am more familiar with.
.NET application, but I am very likely to use .NET assemblies from within PHP5 thanks to Mono and the PHP Mono Extension.
I may never write a
-Jackson
Mono is not compiled as a Windows app. It does use WineLib for providing certain APIs for Windows.Forms. Using WineLib is no different than using GTK+ - they're both just APIs/libraries. Mono *is* working on Windows.Forms, using several different backends - WineLib, Cairo and GTK+. I believe the Cairo one is what they plan on using "officially" when complete. DotGNU and Mono can and do share code/assemblies, btw, so if DotGNU does indeed have a WinForms assembly, Mono should (theoretically) be capable of just using that.
...
On a side note, I just love how posts (like the parent) which are half-guessed speculation and mostly false manage to get "+5 Informative"
The troll didn't even make any changes...At least give some credit to the original author! (Steve)
...visit this site.
Why make another C# compiler when Microsoft already has one? That's a pretty silly argument. I wonder what Neil thinks of the redundancy among C++ compilers: Borland, Watcom, Intel, CenterLine, IBM, Sun, Microsoft, GCC/G++... More choice is a good thing, people can pick the one that best suits their needs.
Also, whether Microsoft's C# compiler really adheres to an open standard or is eeeeeeeevil closed proprietary software is purely an academic question unless someone makes a non-Microsoft version. Then any parts of the original implementation that are mysterious black boxes, encumbered by patents, or otherwise not really so open become apparent.
So, while I love and use Linux, and even lead an OSS project on sourceforge, I have to admit that Neil is right: the .NET clones are only helping to establish Microsoft in a leadership position in enterprise infrastruture (which will drive sales of their software). And that's precisely the place they want to be.
We are aware of a bug in the JIT compiler in the PPC,
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
Mono... what's it all about? Is it good or is it whack?
The article writer mentions that the mono developers re working on implementing the Microsoft namespaces. These namespaces are things like Windows Forms, and other proprietary pieces of MS's .Net puzzle. The things the writer mentions are found in the System namespaces which are, for the most part, implemented.
Is that with a c# compiler written by mono and dotgnu it can be ported to many platforms and modified and improved by many. Quality attributes souch as Portabillity is something that microsofts .NET Framework stuff doesnt have (ex. nasty com bindings to winforms).
Their enemies are now working, for free, to extend Microsoft's monopoly onto new platforms.
I mean, geez, once the software is multi-platform can't the rabid zealots stop lobbing the label "monopoly" at all things Microsoft? And, if not, at what point would they? (err, don't answer, I smell a rant...)
...So ETA Q4 2004.
"like why make a C# compiler while Microsoft's is free anyway"
hmmh...why drink bottled water when there is a pond outside with a ton of free water.
just because its free does not mean its any good.
I believe there is difference in quality when people code something because they beleive in the cause and when they are only doing it for the paycheck. The people who code for open source actually care about the code they produce IMO anyhow.
We're at an interesting pass here about C# on non windows platforms. Our product is written in C (wahoo) and has running on SCO Openserver (grrr). We are in the process of kicking SCO's punk ass to the curb (wahoo) by porting our product to Windows 2000 (grrr) in the next release. Some of the new features were done in C# (grrr) but, the core code is still standard library C (wahoo). While some of our customers want our product on windows, others want it on a unix platform. Linux does seem like the best choice to port to next and the existance of Mono and dotGNU also help but we are very uneasy about using either one in case microsoft all of the sudden kills them or is they are never adopted as mainsream and it could scare some customers that we use it. The C# is necessary because our product interacts with another company's product that is exculsively a windows product. Java has been sorta tried in the past with poor results.
I don't know why everyone in the open source community feels compelled in chasing behind Microsoft technologies, whether it be Mono or Wine. When I talk to people about the benefits of Linux and open source; I always seem to always mention Apache, Perl, and MySQL. I mention these products not because there based on or copied from Microsoft technology. It's because they are innovative open source projects. These open source projects do well not because there open source; but because there BETTER then there closed source counterparts.
.NET our own technologies, and make them BETTER then their closed-source counterparts. That's the only way we win. You cannot win a race by chasing your enemy. You must pull ahead.
We shouldn't lag behind and chase Microsoft's coattails. We should instead innovate; create our own
Neil is the type of person that would argue with the mountain climber about whether there's a reason for climbing the mountain. I imagine him saying, "But Why!?!" For all the other programmers out there, continue honing your skills and techniques even if the apps you create aren't appreciated or widely acknowledged
...that I can get Word up and running on my Windows XP box WITHOUT it (occasionally) suddenly dying for no apparent reason.
C# is a nice language, it's free, open, and standardized, and it's good that there are many implementations of it. All those other points don't matter.
.NET remains proprietary, all the better as far as I'm concerned: I like the language, not MS libraries.
What MS does or doesn't do with C# is their business. And if
One of my rules is to avoid using tool, items, etc that come from one vendor offers. If I could only get Java from Sun, I would not using it. But since IBM and Blackdown both offer it. This way I know that if something would happen to Sun, the tools I use would still have a development team behind them.
.Net frameworks beside Microsoft, I won't touch .Net. And since Mono is open source, it has double the power :). I know Mono can be picked up by another team if the current team quits. Companies when they go out of business rarely release their work, so your SOL.
So until Mono becomes "production" stable, or someone else offers a
The author's basic premise is "why build a C# compiler and tools when MS gives them away for free"? Ok, sure, so today MS gives them away, and makes .NET available for one other OS (BSD), and hasn't taken to hijacking clients into who knows what (micropayment schemes per run, backdoor access for MS or government agencies, etc)... but tomorrow, who knows? With Microsoft giving away Internet Explorer, why have a mozilla?
- First they ignore you, then they laugh at you, then ???, then profit.
What's the point of Microsoft making a web browser? They obviously can't keep up with all these standards like CSS, XSL and XUL... I think they should just quit.
It cuts both ways.
Why is it that so many people hold that Open Source == Linux? While he brings up good points about the possibilities of what will happen if .NET/C# is ported to Linux he misses the bigger point. That is, Open Source is not Linux.
.NET on Linux will spur some Linux users to try .NET and then provide their services to those bound to MS.
Yeah MS is going to provide a lot more of the underlying OS/Compilers/Code that drives business. So can Linux. Nothing stops people from writing Open Source C# on MS platforms except for irrational hatred of all things MS.
There is a big opportunity out there to prove to the business world that open source can be and is commercial grade. That opportunity can and does exist on MS platforms. Mozilla is a great example. How better to become the number one browser than to be on the biggest platform! I do not suggest that Linux development should be dropped, far from it, I just suggest that he and others recognize that there are many ways to skin a cat.
Perhaps this groups endeavour to get
Its far easier to fight a war on their ground than your own.
* Winners compare their achievements to their goals, losers compare theirs to that of others.
my soho network is linux. i have a win2k/.net box, not on the network. my wife, and children use linux/mozilla/openOffice; they don't have issues with functionality. i'm the one that developes software. personally, developing c# in linux would take a lot of pressure off my workload. i'm tired of the flippent solution presented by m$. if mono is not ready for prime time, it sure looks like its headed in the right direction.
MS will keep moving the spec. They'll be in constant catch-up mode. What's the point?
yes, they are. So are windows lusers, stop that shit man!
You can write CGI aplications in good old C and compile them using gcc, write them in emacs, and debug them in gdb; a full GNU/Linux install that will let you do all those things, fits in about 250 mbs, and is Free Software, fast, stable, and can be developed, tested and used in a P100 with 16 mb of ram, so, STOP DEVELOPING MORE HEAVYWEIGHT SHIT!
WTF am I doing replying to an AC at 5 A.M on a Friday night?
This guys rant is a managers view if I have ever seen one : Mono and dotGNU are interesting projects for people who are interested in computer languages....and exist only with the patronage of Microsoft.
If he only realized that Mono will be one of the working blocks for GNOME, which will compose the Linux Desktop, a subject he may grasp better than Mono
Mono comes from the attempts that we have made before in the GNOME project to achieve some of the things .NET does:
* APIs that are exposed to multiple languages.
* Cross-language integration.
* Contract/interface based programming.
from scripting.comMicrosoft gives away their command-line tools. But that's only for C# (which would be relevent for this article, but still needs to be clarified since that doesn't include the C,C++ tools).
Hell, I haven't even managed to find the free C# tools, much less any other CIL apps.
Pay CodeWeavers for CrossOver Office if it is that important to you.
We made five of them.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
In his opening paragraph, Mr. Davidson says "Two open-source projects, Mono and dotGNU, are aimed at providing alternatives to Microsoft's .NET framework and developer tools. While providing freedom of choice might be reason enough to justify a project, practical programmers could be asking: What's the point?"
... and Apache ... and Mozilla. It's not just about "geeks having fun", which they are, it's about choosing to run a platform and wanting to be able to run a web server, wanting to browse the web, wanting to program web services in C#. Microsoft is not obligated to port their code to other platforms. They want to protect their interests. Whether that hurts or helps them, or hurts or helps the rest of the world is another discussion.
I believe that the point is not just providing an alternative, but providing a solution for non-Windows platforms. I remember when people asked, "What's the point?" with Linux
I'm glad that the people that helped create projects such as Linux, Apache, Mozilla, and GNU tools, didn't let simplistic opinions like Mr. Davidson's get in their way to making great software. And I hope the Mono and dotGNU projects don't either.
Interoperability with .NET isn't the only benefit mono/dotgnu have to offer the open source community. The ability for libraries to interoperate between languages is very valuable to an open source development environment. It's an idea that is helpfull from a software engineering perspective for solving a great many problems more easily/quickly. I'd dare say that in and of itself is worth the effort required for mono/dotgnu development.
In Soviet Russia Simpsons movie watches you...
All those moments will be lost in time, like tears in rain.
To my mind, it all comes down to the Office.NET test. That is, at some point in the future (if MS sticks with .NET), Microsoft will release Office.NET (the Office suite rewritten for .NET). The test is: will Office.NET run, off the shelf and without any major crashes or missing functionality, on a non-MS .NET framework.
.NET as the greatest cross platform programming environment in the universe and hold the developers of the non-MS .NET frameworks up as champions of the open source world.
.NET frameworks as a waste of the open source community's time. And while, of course, programmers are free to waste their time if they want, don't expect me to be interested and contribute.
.NET apologists might claim that the Office.NET test is unfair. That there are many useful things that can be done with a partial implementation of .NET. To that I say, you're deluding yourself. If the best that we can hope for is a two .NET world (MS .NET and the open source .NET ghetto) then, as a professional programmer, it's not something I'm going to use. My time is important enough that I'm not going to waste it trying to remember what bits of .NET I can and can't use when I use Mono or dotGNU.
.NET framework. They'll keep back just enough to insure that their Office cash cow continues.
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
...and Im certainly no patent law expert, but what is really illegal about .GNU/MONO? Sure they are "violating" patant law, but how is this different from what created the vast array of PC manufacturers. Aren't they taking a specification, the .NET runtime, and reverse engineering it? This seems the same as creating a hardware platform from scratch that runs ibm's bios and thus runs DOS. This is the very thing that brought microsoft to power in the first place. Couldn't they just cite this as prior precedence? Also, when will the patent on .NET run out? Its already been around for 4 years now, and I doubt that in the next 5 that mono will be a truly viable alternative to "mission critical" business apps. Aren't patents 10 years? And aren't there laws about enforcing patents or losing them? Or is that just trademarks?
Just my $0.02
I tried for 5 years to come up with a clever sig...only to realize that I am not clever.
Found here: http://101.manageability.org
Clearly .NET is inferior technology compared to Java. What boggles the mind is why these folks spend all their time re-inventing technology that's otherwise second best.
If all their objective was an open source VM that had a nice GUI for linux all they had to do was contribute to Kaffe and add SWT support and be done years ago. But No! They just had to build something that supports a GUI library that requires WINE to work. C'mon give me a break!
There are ways to makeTk look more modern, and developing in a scripting language is going to be a heck of a lot faster than waiting around for .NET on Linux to mature. It's also a lot lighter weight than what I have seen so far of mono.
wxWindows is another possibility, although I'm pretty happy with Tcl/Tk myself.
http://www.welton.it/davidw/
I'm seeing alot of people complaing about how mono is a waste of time because MS can pull the carpet out from under everyone with proprietary library updates that will prevent .NET apps from running on mono. That is entirely probable and it is most likely beyond the ability of the mono team to keep up with such changes. Let alone the time to ensure .NET to mono compatability. But give the mono team some credit, don't you think they too might know this? I ask this question to all the waste of time whiners: What can MS do to stop mono to .NET compatability?
.NET, without any rewrites, and with a consistent feel. That is the point. It would speed the cross-platform development of projects like Mozilla and OpenOffice that both windows and linux users alike are trying. What better way to transition users dependent on windows apps(not windows itself) to a linux environment, one app at a time. Forget about allowing the commercial .NET programs to run under mono, think about replacing them with equivalent Open Source mono apps.
That's right, open source projects written in mono will have the ability to run under both linux and windows, mono and
When Sun has tried to bring this to ISO, US represantative has vetoed the proposition ! Why ?
.net platform that MS still claim not to be anything related to Java ;-)
Later, when they tried to push to ECMA, the guys said they have to evaluate if it was the right body for such a standard ! Once they agreed, they also ask Sun to completely unhold the compatibility requirement (see the TCK on any Java API ).
So that is why Sun has spend lots of effort and time to build a Java standard body where editors, organisation, and any developper can work and define standards see http://www.jcp.org !
Remember, that MS was the #1 in Java IDE and in Java VM quality before they decide to quit, when Sun remind them that native call mechanism on Jav is JNI and not JDirect (that MS WFC require to work). MS see this as a limitation because they have to comply the standard and can not tweak it "at will".
Few month later, start Sun lawsuit and MS Project codenamed "Cool" that brought us the
You always have lots to learn with IT History !
* 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.
Combination - fun iPhone puzzling
There is an easy way to get relief over the controversies with Mono. Since Microsoft owns it, (only the C# spec is ECMA) someone should ask Microsoft if we can use it. . .
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.
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.
Fair comment, but just remember where C# originally came from... And it wasnt a small island in indonesia renknowned for its coffee beans!? And for a moment consider other technologies surrounding .NET came from ? XML, SOAP , etc. And then realise who it is that is really innovating.
.NET/C#, Microsoft created/butchered it specifically as an alternative to the already dominant Java,XML,SOAP etc toolkit.
While I dont understand the need for mono or dotgnu since we effectively have the virtually same technolgies under linux/open source, and we have the same methodologies with which to build systems. I think its wrong to say that we dont innovate, as Java and related technologies have been around for longer that
In terms of Internet technologies, Microsoft is chasing Open Source, they might dominate the browser battle, but in terms of server side technologies Open Source is the leader in this area.
Electronic Music Made Using Linux http://soundcloud.com/polyp
Although it will be able to run .NET natively, Mono will enable the React OS to offer a completely free solution to Windows XP + .NET.
For those of us for whom Wine is not enough, but are hesitant to follow on the Windows DRM path, the ReactOS offers an alternative to the Microsoft lock-in, and Mono is an important part of that solution.
See the bottom the replies page this page.
Samba and WINE: What's the Point?
Huh. Looks like they . It's at the very bottom. Cool. And yes, my real first name is Steve.
"There's so much left to know/ and I'm on the road to find out." -Cat Stevens
Don't see the point either, since .NET is just a cheap rip off of J2EE, why not use J2EE instead? runs great on Unix, Linux, and Darwin, also there are a number of really good open source platforms (such as Tomcat). Why waste time validating M$ BS when you can use a better, more widely accepted and proven technology. Also you can compile to native code for you're favorite xxxux platform, why use .NET at all?
MM
I haven really used .NET and its related projects but I like one of its main aims - the idea of integrating many different languages into one common framework. This leads to the possibility of using languages for their true strength i.e. use VB for interface design and C#/C++ for the actual backend job etc.
.NET framework. At best, it will require a recompile; and just the transfer of CLR code will not work (maybe Mono/dotGNU will prove me wrong).
.NET integration the OSS community should look to a step further. I know that most Java runtime VMs are slow; and the main argument to a Java like solution is its speed - but with a bigger focus on a system like this maybe performance will be much better.
Personally, I am a Java person. I like the fact that I can write code on my Linux box and demo it on a Windows machine without any hastles whatsoever. I don see there being any real portability between Linux/BSD and Windows using the
While I respect the aims of Mono/dotGNU etc; maybe what we are missing is the ultimate portability - a runtime binary that can run across multiple OSes and multiple architectures. Maybe instead of looking at
I like the mono project but I get an icky feeling when I see .exe and .dll files. I don't know, they just make me feel icky.
I think I agree with the author's point for this reason: Microsoft is LEADING and you (OpenSource) are FOLLOWING.
.NET will provide a better user experience -- better interfaces, faster execution, and maybe even easier development.
So, M$ must've come up with this whole C#/.NET idea to steer people away from Java, right? From what I can see,
With these projects, OpenSource is just playing catch-up with the Linux platform, not offering me an alternative framework which may provide a better user experience. And to boot, it looks like they'll never really catch up anyway because by the time they have features X,Y,Z covered M$ will be on to something completely new set of features.
Somehow, someone in Ximian needs to really dig into the legal and patent issues that the article brings up.
.gnu/mono are doing is playing into MS hands...and that hand will put the smackdown when and if these libraries become popular.
The ecma standard is not the problem. The compiler and clr are not the problem.
It's the libararies, dude. So many people say this guy is on crack, but he has a valid point that all ximian and
Finally, I think a lot of other people bring up a good point...maybe some type of GNU language, a sysnthesis of Java and C#, would be better than the aforementioned projects from a purely political point of view.
Really, Miguel and RMS need to sit down and have a few beers with PJ at groklaw and come up with some theories on all this stuff.
We should instead innovate; create our own .NET our own technologies, and make them BETTER then their closed-source counterparts.
We have. Gtk# is much better than Windows.Forms
Herpes is a registered trademark of Microsoft Corporation.
I'm thinking that the more licenses Microsoft sells, the more money they make. If I am correct, then it would be logical for Microsoft to insure that Office runs on ALL platforms. Perhaps, Microsoft will even "wise-up" and create a .NET implementation for a non-windows machine. Of course, this could put their OS business in jeopardy. However, as long as the mainstream populace perceive windows to be an easier system to use and maintain, the populace will continue to purchase a Microsoft OS.
To know is to have knowledge....to understand is to be enlightened.
And so GCC isn't usfull becouse they where just copying closed source C compilers?
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.
I've done both as well and don't agree with the conclusions mentioned in the parent. C# is not a lot better than Java, in fact I think it's the other way around, epxecially once you get the expanded feature set in j2sdk1.5 as far server side development is concerned (I'll give C# the nod for GUI apps, but then again you're mostly limited to Windows without the aid of mono, et al. SWT comes close but the native Windows LnF is still better IMHO). I've never seen either one be that much faster or slower than the other. You just need to know the best way to work which each one. Where C# is better is when you are developing C# apps or native Window apps. The way C# doesn't handle exceptions (or force the programmer to) makes it dangerous in the hands of nascent programmers, but then again much people aren't surprised anymore when a Windows app crashes. Where Java is better is when you are developing Java apps. Both languages are just different types of hammers. Pick the hammer you can swing (no pun intended on the java side) the best and pound that nail in on time and within budget....now you've used the best language.
"Look Lois, the two symbols of the Republican Party: an elephant, and a fat white guy who is threatened by change."
And I agree with Davidson. Sure it's cool, in a geek sort of way - if I had the time - just to see if it's possible, but seriously, why add fuel to the fire? I think its very naive to assume MSFT will play fair about this, those that buy into this apparently have either very short memories or haven't been around in the IT industry for very long. Check the history books to see how MSFT has demolished rival after rival. You can be assured they will not let
Much better is the strategy followed by Linus and Sun (with Java) - embrace(Linux is Unix-like, Java is C++ like) and extend(Linux *will* supercede Unix, and Java is a huge improvement over C++), rather than mimic a few pieces here and there. That ain't gonna cut it.
I actually test a major product that uses .Net and am developing a smaller product with .Net. Frankly, I somewhat agree with the author. How long is it going to take until dotGnu or Mono can run these products? Months? Years? Never? If it takes too long, then I don't see how it's worth the effort. If dotGnu and Mono can finally run today's programs five years from now, they will be useless. If they can't catch up and keep up with what Microsoft is putting out, cross-platform compatibility will remain a dram.
I would love to see the stuff I'm testing running on Linux instead of Windows. I'm sure more than a few of our customers would love to see the same thing, although you'd probably never hear marketing admit that. But if these projects don't pick up the pace, it's never going to happen.
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.
Aren't what they are doing is creating "their own .Net"?
.Net"? What if the steps taken by Mono are the logical next step?
.Net) were a just a copy of Java (the JRE, the intermediate language, everything). But maybe Microsoft didnt' jsut copy. Maybe they conceded the fact that the idea of having a a platform and intermediate language was the next logical step in software development.
.Net offers (easy and more powerful web development).
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
Perhaps Mono sees the same thing with the unique features that
"Injustice anywhere is a threat to justice everywhere." - Martin Luther King, Jr.
Grandparent can't spell "respuesta" but that's beside the point.
High-ho, cheerio.
What I don't get is that the guy works for a company providing .Net products that could with a small amount of work run on Mono. Why narrow your market down to one OS when you can use them all ...??
I bet the Sales guys at that company don't see things the same way, at least they wouldn't if their technical director wasn't feeding them bull....
Why would you use Gnu classpath? It's nice someone put it together (from an academic point of view), but it's not the same thing as what mono is doing. Sun's JDK and libraries run just fine on Windows, Mac, Linux, etc. .Net does not. Mono fills a need. Classpath is just a port (albeit a free one) of an already existing product.
No, it's that they've decided to equally down-mod both anti-MS and anti-Linux flamebait/troll material, and I applaud this development.
No wonder he doesn't like the sound of C# tools on other platforms. Imagine "free" MS apps on Linux
"Look Lois, the two symbols of the Republican Party: an elephant, and a fat white guy who is threatened by change."
Miguel,
I am a big fan of your contributions to OSS. And it's nice to see you engaging in a dialogue with the slashdot community - I know you've been a long-time member yourself. But for jeebussakes, can you please quote the poster to whom you're responding?!! I guess you didn't realize - their criticisms will get modded -1 Troll, and your responses will get modded +5 insightful, and the whole thread will become an indecipherable tangle of threads.
Just trying to help out - cheers!
I work on the Portable.net project
.net gui exe compiled in Windows, copy it to a Linux machine and run it and it works!
http://www.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 for some screenshots
You can now take a
The technology is excellent and open source. We need people to help us finish it off.
Interesting how split the "community" is on this.
One thing I've figured out about Open Source that wasn't obvious for me from the beginning is that there is no "right way" to approach issues such as this. In fact, the greatest strength of Open Source is that the tree of alternative approaches is self pruning. Mono may be a great success, or it may fizzle. Novell may decide to put a lot of resources into it, or may decide to not fund it at all. But in the latter case, anyone who thinks its objectives are worthwhile at least has the option to continue working on it.
The real turning point will be (is, actually) that companies and governmental entities (NASA, recent example) will start to leverage this rather than attempt to fend it off. For any company who's main line of business is not JUST selling software, this is a no-brainer. I think in the future we will look back and see the "software-only" business model as being a big mistake. Software is useless without hardware, and equally useless without meaningful applications.
Any company that can't profitably make use of its own software to pursue other activities should be questioning their business model for the long term. (hmmm, did I single anyone out there?)
Mono & dotNet appear to be good technology, but that's already been discussed enough.
So...
With regard to Mono, Novell must either:
(a) have done a complete legal analysis of what will happen when MS doesn't like Mono anymore, or
(b) believe that Mono will always be acceptable to MS.
The fact that they haven't told us about (a) makes me fear that the truth is (b).
Novell, if you are listening, please tell me the answer. I'm a developer and I like the dotNet technology, but I need to know where you are going with this, and I need to now whether it is 'safe' for me (and my conscience) to use Mono and, for example, your windows forms library.
"I want to use c# and .net on Linux"
.NET source code available under the ROTOR program. Their enemies are now working, for free, to extend Microsoft's monopoly onto new platforms."
You're in denial of biting on the "bait 'n switch", if you're into Open Source.
If contrarily, it's not surprising to see a "Microsoft developers like [yourself]" embracing this "embrace and extend" of a monopoly.
From the article:
"How is making C# a standard on Windows and Linux going to hurt Microsoft? Far from being alarmed, Microsoft execs encourage this activity, making a lot of the
You're demonstratably wrong about what it takes to suceed. Microsoft won with Office through having an office suite that wasn't better, but cheaper, and it won through business. Innovation is a vague term that means nothing in practice -- all ideas have roots.
OSS has never lost ground because they're embracing all kinds of common software.
I was told two weeks ago by a former Microsoft employee (who was working on C#) that Microsoft has actually been assisting with the Mono project in some ways. Microsoft believes .NET is the future, and Mono will help .NET. They seem to be pretty quiet about it though.
What do you all make of this?
Excuse me, I use Mysql, I like Mysql, but if you tell any database programmer or a database system administrator that mysql is better than sql server, they are going to laugh at you with their asses. You can appreciate mysql but it is stupid to claim that mysql is better than oracle or sql server. So shut up pelase.
.net or java.
Apache is a very good browser, if you are planning to use it as a standalone. In that case it is better than IIS. But as an application server it is nowhere near IIS or even Tomcat.
Finally, perl is a joke compared to c#. I use perl and I can assure you that I know perl more than 99.9% of the slashdot mob here. I have tons of code in perl, but one thing I know is that while everybody likes to talk about open source and praise open source, very few people are actually contributing and helping the projects move forward. mod_perl and apache combined is not a match to
I implemented an excellent project in perl. I was even planning to make it GPLed, but later I just realized that people like to talk about open source, bash Microsoft, but nobody is showing up when you have to do the real work. Most projects are done by few programmers and thus the overall quality is very low. That's why you don't see so many developers rushing to embrace the open source projects, because you need to have people build the underlying fundementals.
This article is an example. Do you know how fucking hard to develop the mono. You don't write that stuff in couple of weeks. You sweat on it, you sacrifice lots of stuff, yet one person writes a stupid article claiming that every body who releases their code under open source licenses should aim to destroy Microsoft. The idiot even doesn't think about the fact that people do not write code to destroy other companies. Even though Microsoft is a favorite target for many people, many developers do not give a shit about it. They are simply trying to make things better, and someone so stupid can easily come in and accuse you of helping Microsoft. What an idiot!
Do you have any screenshot of an app that doesn't look like shit ?
Mono feeds off of the various Linux GUI libararies in order to implement the windowing requirements for .NET.
.NET as a Framework.
.NET is not necessary for making Mono a great programming environment, since Mono has its own set of APIs, APIs that, incidentally, are very easy to use for Gnome and Linux programmers because they are the standard APIs they are alsoread using.
.NET compatibility altogether: it's superfluous and a waste of time. ECMA C# with standard Linux libraries is a better choice and it's already here.
Most GUI apps in Mono are written using Gtk#, through non-.NET APIs.
Mono offers no improvements to
You just have no idea what you are talking about. Mono offers most of Gnome and Gtk+ directly to C# programmers, as well as many other open source libraries that people already know from C and C++ programming.
They are also nowhere near completion of implementing the entire Framework.
And they don't have to be because completing its implementation of
In fact, I wish Mono would just drop
It's a more established framework and a lot more cross-platform.
Well, first of all, the only full implementations of Java are proprietary. If you use any of the open ones, you miss out on huge chunks of functionality (e.g., there is no open source Swing implementation). Furthermore, Sun's patents and license agreements for Java seem to preclude full open source implementations.
Secondly, I don't want cross-platform support. Sun is making too many compromises in order to force cross platform. It really doesn't matter to me whether my Java application runs well on Windows if it doesn't run well on Linux. C# makes it easy to use platform specific libraries, and that's exactly what I want.
I don't know why everyone in the open source community feels compelled in chasing behind Microsoft technologies, whether it be Mono or Wine. .NET compatiblity is only a small part of Mono and Wine is only a small part of Linux. I don't see what is wrong with offering compatibility in addition to native libraries.
.NET our own technologies, and make them BETTER then their closed-source counterparts.
We shouldn't lag behind and chase Microsoft's coattails. We should instead innovate; create our own
Yes, and "we" do. That's, for example, why Mono has its own, native GUI toolkit, called Gtk#. It is, in fact, the preferred way of writing Mono GUI apps.
These are interesting comments. Hopefully someone will mod them. Sorry, I'm out of mod points and have already posted a half dozen times on this topic.
Good questions!
If it will, then I'll be happy to declare .NET as the greatest cross platform programming environment in the universe and hold the developers of the non-MS .NET frameworks up as champions of the open source world.
.NET framework.
.NET frameworks as a waste of the open source community's time.
.NET compatibility entirely. Fortunately, .NET compatibility is only a small part of the Mono project. So, you can judge that part of Mono to be a waste of time, but still use and contribute to Mono productively.
Why would "cross platform programming environments" be good for open source? If we take Java as an example, for Java applications, Linux is second rate, with more of Sun's efforts going into Windows. Sun has somehow confused you into thinking that cross platform support is good for open source, when exactly the opposite is true.
I frankly don't care whether MS Office runs on Mono. What I care about is whether I can write good Gnome apps in Mono, and that I can. Mono is far better than Java for supporting open source platforms.
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
Yes, and why would I care? How would that change if people programmed in, say, Java?
But if it doesn't, then I judge the whole effort to produce non-MS
In fact, I agree with your view and would prefer for Mono to drop
J2EE is over-bloated in order to be useful, but that kills it perform fast on small hardware (if to run at all). J2ME can run on really small hardware, but it lacks most of features people need for standalone applications. No need to mention Java GUI - its unfamouse SWING, which is just a joke.
Talking about cross-platform: Java cannot run on all platforms as Linux does. Well, unless you begin to count JDK-1.0.8 which just another useless kludge.
Should I remind you that Sun is doing everything to lock you in to its Java technologies? Still not convienced? Then where is the source code of JVM and JDK? Again, don't show me any 1.0.8 - nobody will use it now anyway.
My point is to support Twisted Python: it works on Linux (and thus on way more platforms than java). You can use a native code for any critical parts and scripts for flexibility. And it won't require GHz and GB from your hardware. It's as compact as J2ME and as functional as J2EE. Java cann never deliver such compactness and functionality at te same time (only one or another mutually exclusively). And it's open source, so no one keeps in mind to lock you in.
Less is more !
...and you are repressing the memory. I recommend therapy.
I still don't get why Linux people persist in trying to cram a square peg in a round hole. Linux is no better suited to the embedded market than Windows or MacOS X are. It's a resource hungry pig, and other than a few exceptions, nobody is using it. This is just more of the same dumb-linux user ignorance.
EE Times Article
.. making Linux illegal?
They are suing IBM for contract breach and some copyright issues.
Appart form that their foolishness has not harmed anybody else.
IANAL but write like a drunk one.
but "after a year and a half of C#" sounds a whole lot like "as an early-adopter MS fanboy"... How long has C# been available?
As someone who lived through the whole Java storm, your logic sounds just as reasonable as the early-adopter Java folks saying, "I'm sure that C++ is quite well designed in many ways and would have improved my productivity in a manner similar to Java, but I ended up with Java. Such is life."
At least with Java, Sun was committed from the get go (even if it hurt the language) to have cross-platform support. This was the baby which was supposed to make Solaris a viable platform by making more programs available for it. With C#/.NET, MS has *no* commitment to cross-platform support. "I simply want to develop my cross-platform C# apps" sounds like a pipe dream to me.
most insightful comment in this whole story.
One reason that I'm fairly confident in this between-the-lines interpretation is because it follows the pattern of many things which Microsoft has consistently done since they bought QDOS and renamed it MS-DOS.
That's bad enough on its face, but what you also appear to be saying here...
...is that many developers are going beyond even that level of tainting to call MS-Windows stuff directly, outside the .NET spec, and that in order to make things work you're following them there.
.NET as an MS-Windows only platform, which comes as no surprise given its originator. I mis-typed their name as "Mirosoft" but maybe my fingers knew what they were doing. Mire-O-Soft is about right. It's not as if Microsoft are inexperienced in the patents/copyrights/trademarks game, but such a direct coding commitment really does open any .NET-ish developer to a whole new easy-to-access range of control/abuse from Mire-O-Soft.
The tendency I'm seeing across the board here is towards
This is why religion and politics need to be kept separate. You can't have the same people who control a situation competing in it.
Is there any substantial reason why I shouldn't rate this grand and noble ambition "-1, Doomed to fail" and move along to something less entangled?
Got time? Spend some of it coding or testing
...you might also have W32.Icky virus. To remove it, you will need to clean off (delete) some of the files it leaves around, like C:\WINNT\KERNEL32.EXE and C:\WINNT\RUNDLL32.EXE (the location may vary depending upon your version of MS-Windows and who installed it).
Got time? Spend some of it coding or testing
...of R and ND. As has frequently been demonstrated.
Do you have enough resources to argue the point with someone carrying tens of beeeeellions of dollars around in their corporate pocket?
Got time? Spend some of it coding or testing
OK, so they've been a little indirect here, paying to keep someone afloat so that the someone can abuse their (purported) "IP" portfolio against Linux rather than Microsoft suing Linux people themselves, but I think the point is made.
Another tangential approach is suing Lindows for having a name like those glass panels you find built into many peoples' walls.
They've also been a bit unkind to the SaMBa people from time to time, although Tridge and crew are too gentlemanly to mention it much. No doubt if you had the time you could turn up dozens of other examples. There's no question but that they've been fairly firm with their "IP" against other competitors, so why not us?
Contrast this with Novell, IBM or SGI, who are giving away and/or freely licencing assorted rights for FOSS projects hand over fist.
Got time? Spend some of it coding or testing
Inasmuch as that can be separated from any "IP" hooks, that's encouraging.
You still have the albatross of supporting "special effects" around your neck, though. Are there a few very popular special effects which you could emulate directly?
Got time? Spend some of it coding or testing
I agree, this is a absolutely great comment.
Someone needs to mod this up, alot.
Too bad I only saw it after I used my mod points. I like it so much I am going to happily loose all my mod points just to make this post.
Why don't you just read the Mono FAQ?
.NET APIs, but so far, there isn't much indication of that either way. And by developing on and for Linux (as opposed to developing under Visual.NET), you'll help the quality of those API implementations on Linux.
but I need to know where you are going with this, and I need to now whether it is 'safe' for me (and my conscience) to use Mono and, for example, your windows forms library.
If you are writing code that needs to run primarily on Windows but that you may also want to run on Linux, use the Microsoft APIs (in that case, what's the problem with your conscience if you develop for Windows anyway?). There is a small chance that Mono will run into patent problems over their implementation of the
If you are writing code that is intended primarily for OSS platforms or if you are worried about patents, use open APIs like Gtk#, Gnome, etc. They are technically better anyway. And they will work on Windows as well, it will just mean a somewhat larger download.
> Why don't you just read the Mono FAQ?
Yes, I should have read the mono faq before replying, but it doesn't seem to fully answer my question.
> (in that case, what's the problem with your
> conscience if you develop for Windows anyway?)
Whereever possible I write cross-platform stuff (eg. STL, wxWindows, Boost, instead of MFC).
The big problem is this. Forms is proprietary and windows oriented, but it is THE gui for C#. If GTK# (or preferably something like SWT# or wxWindows#) were real options than I would support these.
Note that when sharpDevelop (the main OSS IDE for dotNet) decided to switch from Forms to swt# there was a golden opportunity for the OSS community to come together around a single alternative to Forms. But MONO stuck to their guns with GTK#, so eventually #Develop reversed their decision and went back to forms, and now the Mono project is trying to create a gtk# port of #develop.
Others will have a different enterpretation of events (I'm all ears), but to me this was a big opportunity lost. If the only major OSS IDE had used SWT this would have influenced developers. I'm no fan of SWT (I prefer wxWindows) but I would have gone for it for the sake of creating a unified alternative to MS's proprietary forms api.
For those of you who do not use an IDE to write code I can see why you'd embrace mono. But:
Without Visual Studio.NET I would never have learned C#.
Without Visual Studio 6.0 and prior I would never have learned Visual Basic.
Without Eclipse I would never have learned Java.
Without an integrated IDE for each of the above languages my productivity would be so low as to render my consulting practice null and void.
For main stream adoption of mono - how will the mono developers address this lack of a quality useful IDE for writing C# on linux/mac?
And as an aside, when the perceived ROI on mono begins to dwindle what will stop Novell from pulling the plug on funding? All those mono engineers have to feed their kids too and how will they make money quiting Novell and dedicating all their time writing code for a free non-paying mono product?
When Balmer was asked about .NET on Unix he responded that M$ weren't keen on it and had a large patent base which they intended to use.
URL: http://www.silicon.com/software/applications/0,39
Since you beleive in a benevolent M$, read this too:
x .e n.html
"Microsoft bars GNU software from interoperating with CIFS"
http://swpat.ffii.org/patents/effects/cifs/inde
http://www3.ffii.org/akteure/microsoft/index.en.ht ml
.NET framework, Ballmer announced that there would certainly be a "Common Language Runtime Implementation" for Unix, but then explained that this development would be limited to a subset, which was "intended only for academic use". Ballmer rejected speculations about support for free .NET implementationens such as Mono: "We have invested so many millions in .NET, we have so many patents on .NET, which we want to cultivate.""
"Responding to questions about the opening-up of the