Mono and .NET - An Interview
all-of-the-dot writes "Would you use an open-source implementation of the .NET Framework? Ximian's Mono project enables you to build .NET apps that run on Linux and Unix as well as Windows. Check out the story from .NET Magazine's interview with Miguel de Icaza, Ximian cofounder and CTO" Added to which, AirLace writes "The Mono project has just achieved full self-hosting on Linux. While the C# compiler, itself written in C#, has been able to compile itself since March, Mono can now compile its own complete set of class libraries too. This announcement closely follows the release of the Phonic media player, the first .NET application for the GNOME desktop."
Developers in the Windows world that do not care about cross platform issues (which is, 99% of them) are tired of C++, and Visual Basic, and C# happens to be a nice language to move to delivered by the company that does their OS.
So people will be adopting C# as a programming language no matter what anyone does. The language is here, and the tools are here, and the community is rapidly growing.
So what we are enabling is to bring a number of things to Linux: we bring the people, the knowledge and we are reusing Microsoft's investment in documenting, promoting and producing training materials to benefit us.
So, I am fairly possitive that this is good.
And then, there is the added advantage of open source: now you got a compiler, a runtime and classes. If they serve your purposes, take it, improve it, extend it, change it, modify it, rip it, research, reuse what you feel like reusing.
Miguel
We are not planning ourselves on writing one, but several people have expressed their interest on doing so.
There is already a proof that this can be done (Microsoft's JUMP), but it is not fundamentally a hard problem either.
There are three groups of people to my knowledge working on free software versions of such a tool.
Miguel
You can call non .NET programs from within .NET. If you decide to use a library that only exists in Windows (like DirectX) or in Linux (like that version of GTK) then of course it only works in that system.
Once more of Mono is complete, you'll be able to do the whole of your program in it, including the libraries, and moving between Windows and Linux will be transparent.
My Journal
I don't know about the HMTL-down-to-DB stuff.
.NET has nothing to do with "Microsoft plan", or locking yourself out of your own source code, or limiting what you can do with your code. You can work in as low a level you want and never touch a wizard/GUI-builder. They're just simple ideas that help you to write CODE faster, easier, AND better.
.NET, I expect the Java development tools dramatically, and I suspect the same will happen with other languages.
But I have to say the MSFT tools are really impressive, precisely because you don't have to choose between using the tools and designing and writing the program yourself.
Jumping back and forth between the code and the GUI is a breeze, and the code auto-generated by the GUI is amazingly clean, easy to modify by hand.
But it's the simple idea of #region what I have found makes the greatest difference in coding. I expect to see similar support for these in other tools, and I hope in other languages/platforms.
As a matter of fact, what I like about Visual Studio
There's no reason for other tools not to be able to copy VS.NET functionalities and provide decent IDEs for Java and other platforms. I fully expect them to do so, because I'm a Java programmer. As a result of
Freedom is the freedom to say 2+2=4, everything else follows...
Suppose that I decided to use .NET on Windows. I look around, and find that they support Perl. Cool, so I go and use some Perl libraries in various places. Perl is as cross-platform as it gets, I am fine. Right?
.NET sucks goat d*ck on handling dynamic languages. Since Perl on .NET was too slow, even by .NET standards, its "integration" is through a custom modification that exports a COM interface, that is imported into .NET. Works fine on Windows. But on Linux, what then?
No. I am utterly fscked.
Perl uses a dynamic programming model.
And once people get going, how many real applications are going to use Windows forms, or link in some other library, or link in a COM interface from a legacy app, or otherwise become unportable?
Care to guess whether future tools from Microsoft will "encourage" you to introduce such dependencies?
Thanks, but no thanks. I have had to work with Microsoft APIs too much for my taste. That is why I try not to now.
DotGNU is = Portable.NET + other_stuff.
Portable.NET and Mono are doing the same things. Mono is a lot more advanced than Portable.NET: JIT, a working compiler, large development team.
About the `other_stuff', I have never been able to figure out what it is, or what they are doing.
It is a duplicated effort as you very well point out. From the Ximian perspective, we did have the resources to work on this project, and we had our developers work on it.
There is very little emotion in either my post or my decision.
.NET Framework?"
.NET was not taken as the platform of choice and the reasons were not technical. I think .NET will certainly be competent, as the technical lead was the guy behind Delphi.
.NET. The possibilty of that occurring moves .NET to the back of the pack as their counterparts can already do what I need without that extra weight looming over the project.
The question posed by the article was "Would you use an open-source implementation of the
I listed the reasons why
I am a GPL software author. C# is an unproven new language to assess in my choices. I am absolutely going to judge the likely future of a language by looking at the past history of the company who will be managing its development.
Microsoft has quite openly stated that they think GPL is a virus, and there has been rumblings of making it illegal to use their development tools in the creation/conjunction of GPL software or libraries (which is their right to do).
However, a major software project is a large commitment of time--porting to another language down the road is unlikely to be trivial. if Microsoft takes their familar road with C#, and my code becomes illegal to compile, or I now everyone who wants to work on the software now has to fork over $500 a year for a MS-blessed C# compiler to be able to contribute to the GPL project, I will have regretted my choice of
But the results also matter. Here are some development snapshot screenshots, fresh off a clean compile on Linux and MSW, built with wxWindows with no MFCs, Microsoft dlls or anything else that can be made illegal or prohibitively expensive later on:
http://www.clinicalexam.com/pluckerdesktop/tour
-----
Cast a Cold Eye
On Life, on Death
Horseman, pass by
--W.B. Yeats' gravestone