Mono Beta 2 Released 289
A little birdy writes "Less than a month after Beta 1 was released,
Mono Beta 2 has been released. See the Release Notes, or go directly to the download page. It includes a C# compiler, an implementation of the Common Language Infrastructure and two stacks of APIs: a Unix, Linux, GNOME, Mono stack for APIs that takes the most advantage of your Unix server and desktop and a set of APIs compatible with the Microsoft .NET Framework 1.1 that provides support for ASP.NET (web services and web forms), ADO.NET and many other components." And in a related story: darthcamaro writes "The drive to develop a FOSS implementation of Microsoft's .NET framework by DotGNU and Novell's Mono project is being painted as a contest between the Free and Open Source communities in an article on internetnews.com. The article details the running argument between DotGNU's Norbert Bollow and Mono's Miguel de Icaza on the issues of commercial involvement, software patents and all the 'religious' stuff that the Free software community holds against the open source community."
Mono Beta 2? (Score:5, Funny)
Re:Mono Beta 2? (Score:2)
What applications are there (Score:5, Insightful)
Also will the applications I write with this stack work on Windows?
Re:What applications are there (Score:5, Informative)
ikvm [ikvm.net]
also all major asp.net applications run
Re:What applications are there (Score:2)
Re:What applications are there (Score:5, Informative)
If you write a pure C# program that does not use the GTK-Sharp , QT-sharp, or any other neat bindings, it should run. The very simple Hello World apps work.
I still think that the mono developers are straying a bit from what they should be doing. For the windows forms, they are relying on certain wine-libs. This works, but is not as elegant as it can be. Miguel was talking about the next incarnation of gnome being written in C#, essentially using the Gnome bindings for it. My opinion is that they should build gnome to natively handle the windows.forms portion. I am not so tied to the look of the applications as I am functionality. I could care less if Microsoft.office.NET looks like gnome when run on gnome.
Re:What applications are there (Score:5, Interesting)
ideal, but it has some benefits. For instance
we are able to support applications that want
to embed IE, or use Direct3D.
Miguel.
Re:What applications are there (Score:5, Interesting)
Windows.Forms is built for Windows... and thusly, running it under Wine is a perfect compromise.
Re:What applications are there (Score:4, Interesting)
I'm looking forward to Longhorn's vector based UI. The static buttons problem goes away at that point. Within the last year or so, MS made a deal with
We got some cool stuff coming along in the next few years.
Re:What applications are there (Score:2)
If I maximize the window, I want the toolbar to stay the same size, but the text area to get bigger... just scaling everything won't work.
Re:What applications are there (Score:3, Insightful)
I don't think he meant rescale in lieu of resize. No reason why you couldn't have both. The simple fact of the matter is that you need your toolbars at etc to be resolution independent.
Re:What applications are there (Score:2)
Re:What applications are there (Score:5, Informative)
See http://www.nullenvoid.com/gtksharp/wiki/index.php
for an on-line guide.
I've been using GTK apps like GIMP and DIA at work where I'm stuck with Windows for a long time now.
GIMP Win32 installer: http://www2.arnes.si/~sopjsimo/gimp/
DIA Win32 installer:
http://dia-installer.sourceforge.net/
BTW there are very few if any "linux only" libs. Most of those libs are part of the GNU System, they work with the Linux kernel, BSD variants, Solaris, and most UNIX Systems. Many have Win32 ports or ports to the Cygwin POSIX environment for Windows.
Re:What applications are there (Score:3, Interesting)
I am worried with wine and about vendor lock in as well since the Windows version will always be better since MS would just set the standards. This is how MS beat Borland.
Have you ever thought about releasing gtk# to
THis might convince some developers to cross platform their apps rather then only focusing on Windows after standa
Re:What applications are there (Score:5, Interesting)
Part of the problem is that the Windows.Forms API
exposes an entry point to hook up to the win32
programming model the `WndProc' method override
on Control.
This is used to allow the developer to catch events
and process events that Windows.Forms might not
support directly with the managed API.
Also, since the Windows.Forms and Drawing APIs
are not comprehensive, developers of third-party
controls often depend on calling into Win32
calls (with P/Invokes). These are used for
special effects or more complicated behavior than
is available through the managed APIs.
For instance, a common scenario is embedding
the IE control and hook up to its DOM (see the
cute Reflector from Lutz Roeder).
Suboptimal, I know.
Re:What applications are there (Score:5, Insightful)
Re:What applications are there (Score:5, Funny)
Dude, in the UNIX world we call this a major accomplishment!
Re:What applications are there (Score:5, Informative)
This isn't exactly true. You can run gtk-sharp applications on Windows. There is a Win32 port of GTK. You can't, however, run gnome-sharp applications on Windows. But GTK is good enough for most GUI apps. I am not sure about qt-sharp and Windows though. There is QT for windows, so I imagine qt-sharp should work.
-matthew
Re:What applications are there (Score:5, Interesting)
You said that if you don't use GTK# your app will run on Windows. This is wrong. GTK# apps can work on Windows, or MacOS X just fine.
Understand this: the portability of an application is not defined by the type of machine (virtual or not) it's running on, it is by and large defined by the portability of the compilers and frameworks/libraries it relies upon.
GTK+ is a portable widget toolkit, it works pretty well on Windows and MacOS. The Win32 widget toolkit is not very portable, mostly because the only open source implementation is the Wine implementation and Wine by policy only concentrates on application compatibility, not on having nice pretty widgets.
So, if you are writing a .NET application you are best advised to use GTK# - this is true even if you are writing a program meant for Windows as in future if you wish to port things to another platform it will be a lot easier. There are a few other things to consider as well, such as the nicer API GTK has.
As to the DotGNU approach vs the Mono approach, basically I think you'd have to be insane to want to reimplement what Wine has done. Nobody is going to use System.Windows.Forms on Linux because it blows goats, everybody will use GTK# or (maybe when it is mature) Qt# - therefore a SWF implementation is useful only for application compatibility.
As to mapping S.W.F to Gnome/GTK, forget it. Back in the day (waaaaay back) Wine attempted to map the Win32 widget toolkit to Tk which was one of the better toolkits available back then. Didn't work. Widget toolkits differ too much to succesfully map between, and in particular the differential between a modern toolkit like GTK+ and Win32 is enormous - why do you think Microsoft are so keen to scrap it and start over with Avalon?
Re:What applications are there (Score:3, Informative)
-Mark
Re:What applications are there (Score:3, Interesting)
If the toolkit doesn't map to the native widget set, not only does it tend to look crap, it also behaves wrongly (try bringing up a context menu in a GTK app ported to Windows and running on the second screen - the menu appears as an orphan on the primary screen). There are a thousand little things the emulation writers get wrong and
Re:What applications are there (Score:3, Informative)
You could care less? So it does bother you then? So why did you say "I am not so tied to the look.." ?
Re:What applications are there (Score:2)
Yes. Even apps written with GTK-sharp will work on Windows (provided you install the gtk-sharp .dlls).
-matthew
Re:What applications are there (Score:5, Informative)
Muine [gooeylinux.org], a media player
Woodpusher [sourceforge.net], an ICS chess client (seems to have stagnated recently though).
Dashboard [nat.org], an exciting new user interfact paradigm.
I'm sure there are others, these are the ones I remember off the top of my head.
Re:What applications are there (Score:2, Informative)
"Mono apps for gnome on x86."
This is my major problem with Mono. They chose a development path which prevents a huge portion of their class library from working on non-x86 systems. Because they chose to lean on Wine libraries, I can't do anything useful with Mono in my primary development domain.
Any chance of X11 bindings in an upcoming release? I'd love to make my projects portable across platforms with Mono, but it just doesn't seem feasible right now.
Taft
Re:What applications are there (Score:5, Informative)
As for the class library, that's just FUD that you're spewing. Yes they have chosen to use Wine for Windows.Forms, no use in reinventing the wheel here for a tiny population. But all the applications the parent of your post mentioned don't use windows.forms. In fact, the engine is flexible enough that Miguel got MonoDevelop (the IDE they've ported from SharpDevelop) to run on his Mac under OSX. See his blog entry [ximian.com] for more information.
I wrote a fairly complex simulation engine under Mono that runs flawlessly on my Mac and Windows. This includes a user interface that is not Windows.Forms.
Re:What applications are there (Score:4, Informative)
All the applications listed above are Gtk applications
and I have run them all on Linux/x86, Solaris/SPARC,
MacOS/ppc, LInux/PPC.
Miguel.
wait (Score:2, Interesting)
C# compiler (Score:4, Interesting)
It uses a program called TreeCC which goes beyond the Lex+Yacc model and provides an aspect-oriented tree programming model. This makes it very easy to write visitor patterns on your tree, and you can do syntax and semantic analysis with ease.
The resulting source code for a full working C# compiler is minute. TreeCC expands it into the real code.
Check it out!
Re:C# compiler (Score:5, Insightful)
It is on the same website [southern-storm.com.au] as Portable.NET, the C# compiler for the Dot GNU project, not Mono.
Re:C# compiler (Score:5, Insightful)
Re:C# compiler (Score:3, Informative)
The Portable.NET C# compiler is a work of genius. It was written by Rhys Weatherly who is the guy who *INVENTED* treecc. The Portable.NET C# compiler (cscc) can also compile C and Java to *PURE* IL code. It is a properly designed compiler with pluggable frontends and backends (like gcc).
Downoad the source to Portable.NET and you'll discover which project will suceed in the long run. It just doesn't get much press.
Re:C# compiler (Score:3, Interesting)
Chill it out man.
There is hardly a need to be so abrasive, especially of people working on open source software.
The mono C# compiler isn't "a work of crap". It's a compiler. Use it, don't use it, but until TummyX has written a better one, I'd suggest you not denounce that with such fervor.
PNET C# compiler's features are to be lauded, to be sure, but I'm thinking that you may be overstating the impact of the facts. Is it really amazing that a compiler can emit (in your emphasis) *PURE* il? So d
Performance (Score:4, Interesting)
Re:Performance (Score:5, Informative)
room to grow optimization wise. There is no clear
answer to this question. Although Our JIT engine
implements a fairly advanced SSA code optimization
platform, and it also allows for pre-compilation
in batch mode (we typically get a 20-25%
performance on applications) it really depends
on the software you run.
Typically we have been able to tune Mono when
people have pointed out a major performance issue
by profiling the problem: sometimes the fix is
simple, sometimes it requires the JIT codebase
to be improved.
Work on improving the JIT engine continues,
we recently checked in better register allocation
for some corner cases, better inlining of intrinsic
functions, loop-based optimizations and removing
array bounds checks.
If your program is I/O bound, a different set of
issues arise, so am sad to say `it depends'.
miguel.
Re:Performance (Score:2)
Re:Performance (Score:2)
Miguel must be on the road (Score:5, Funny)
which is worse,
reading or
writing comments
for slashdot on
my cell phone.
Keep up the great
work Miguel.
Re:Performance (Score:5, Interesting)
The Slashdot crowd might be interested to know that recently on the mono-devel list there have been benchmarks and discussions on moving the implemention of Mono's System.String class from native code to managed code since Mono's JIT actually already provides better performance than the native code does in that case.
Though the performance increase (which is 50% in one case!) can be mostly attributed to no longer having to go between managed/native code, that a pure managed solution is faster is impressive on its own regardless.
Re:Efficient...but rather large (Score:4, Informative)
on the VSIZE; The RSS is mostly Gtk/Gdk/Pango/X
libraries and libc.
Performance comparisons (Score:2)
Re:Performance comparisons (Score:5, Informative)
our first JIT. We redid our JIT to address that
(and many other issues), so the data is relatively
old (one year+)
System.DirectoryServices (Score:5, Interesting)
Re:System.DirectoryServices (Score:5, Informative)
on System.DirectoryServices, and the expanded Novell.LDAP namespace:
https://secure-www.novell.com/brainshare/portal
Miguel
Re:System.DirectoryServices (Score:3, Interesting)
Worthy Cause, but Huge Barriers to Entry (Score:5, Interesting)
I agree with Bollow's reasoning and reality, but I fear that his sentiments may fall far short of his dream. He'll have to cope with
With that said, I think it's a very good idea to try to slowly nudge Microsoft developers over to other platforms, particularly if we come out with more advanced and/or convenient features than Microsoft's own standards. Nevertheless, time will tell whether this project pans out or not.
What he is actually doing (Score:5, Insightful)
He may think he's giving companies choice to move to Linux. But what he is really doing is providing justification for choosing Windows.
Re:What he is actually doing (Score:2)
Well said. I wish the Mono developers would concentrate their considerable talents elsewhere.
But they do not want to develop only for Windows (Score:3, Insightful)
Then of course it only half works (have you seen what most ASP.net projects end up looking like?), but all of the people of any skill have moved on by the time anyone knows that and it's left for some po
Developers, Developers, Developers (Score:5, Insightful)
This seems like a legitimate set of concerns, but I think the ability of Microsoft to change the game at this point is severely limited.
The reason why Microsoft can't radically alter .NET is because of the existance of legacy apps. The company I work for has thousands of man-hours and hundreds of thousands of dollars into our ASP.NET applications. Microsoft can't break these applications. The .NET API has to remain consistant or they'll lose that legacy application support and lose customers. The fastest way to piss off an IT department is to make a change that breaks their apps. Believe me, I know...
So, if Mono can get the .NET 1.1 standards done, they can support all those legacy apps with few changes. Even if/when Microsoft introduces some spiffy new libraries with .NET 2.0, businesses can still say "it's cheaper for us to get off the forced upgrade wagon and move to Mono as a platform for .NET and we can keep our legacy applications." Unless .NET 2.0 comes up with some massively useful new system, there isn't that strong a reason to upgrade.
Granted, Microsoft can still pull out a patent and try to shut Mono down, which remains a threat, but I don't see them as doing that. All Mono has to do is use that as a talking point - don't develop for .NET because of patent issues. This hurts Microsoft by slowing the adoption of .NET. The worst that happens is that Mono has to fall back on its own libraries, and given that things like Gtk# are useful on their own they still have something to show for their work.
The more I think about it, the more I think Mono is in a strong position. I'd be more worried about Microsoft unleashing a patent infringement case than I would about them changing the APIs to shut out Mono. If they did that, they'd be shooting themselves in the foot.
It's as if Linux were able to run all Win95 applications just as Windows 2000 was coming around. Yes, Windows 2000 was infinitely better than 95, but if you're a PHB and you have a choice of moving your legacy apps to an expensive proprietary system or a free open one, you're going to be more inclined to do the latter as it makes your bottom line better. Legacy app support is absolutely crucial and right now Mono can do something that not even Linux can do - support Microsoft-based legacy apps with a minimum of changes. That gives Mono a big advantage in the marketplace, and while it helps Microsoft move developers to .NET it also helps make Linux a more attractive platform for enterprise development, especially on the backend.
Re:Developers, Developers, Developers (Score:2)
Hehe. Heeeheeeheee. Thanks.
Re:Developers, Developers, Developers (Score:2, Insightful)
Microsoft can't break these applications.
Are you serious, or in denial? There are precious few interfaces in this business that are so carefully and completely defined that they never change, or that are so absolutely backward compatible over time. (The ones that are, are a wonder to behold). For history, look at DOS to Win16 to Win32, or HTML support in IE, all claiming some measure of backward compatibility but with gaping holes. Look at the list of software that breaks when a major OS release come
Re:Developers, Developers, Developers (Score:5, Insightful)
Granted, specifications do change, but:
Businesses tend not to be early adopters. I still use Office 2000 at work. My boss uses Windows ME (ugh, I know...). Our apps are designed around ASP.NET 1.1 on the server side. If Microsoft started forcing us to upgrade everything, we'd have to tell them to kiss off. Our IT budget doesn't support forced upgrades. Believe me, we're not alone in that, and that's why Microsoft can't suddenly start breaking widely-used libraries to kill Mono - it would be shooting themselves in the foot.
Re:Developers, Developers, Developers (Score:3, Insightful)
Really? VB.net is not backward compatibile with VB6. [ftponline.com] How many millions of man hours were spent writing VB code that now has to be rewritten to play in
Re:Developers, Developers, Developers (Score:3, Informative)
VB6 apps would run just fine. Just use old VB6 for development. Hell.. some companies still use Visual Studio 5.0 for development (I worked for such a company).
Don't want
vb6 and vb.net use different technologies and even syntax in some parts is different. It's different product, that's all. They didn't break any API.
Re:Developers, Developers, Developers (Score:3, Informative)
Does Anyone know.. (Score:2, Interesting)
Re:Does Anyone know.. (Score:3, Informative)
However, for those who were wondering:
When Microsoft got
Re:Does Anyone know.. (Score:5, Informative)
Well, quite.
RAND != Royalty Free and Non-Discriminatory
RAND == Reasonable And Non-Discriminatory
So, in fact, they *can* and *do* charge money to licence patents under RAND. RAND is not good enough for any Free Software, GPL or otherwise.
Re:Does Anyone know.. (Score:3, Informative)
GPL is very clear about that ... quoting ...
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
Novell might be forced to make it proprietary if Microsoft
"RAND" generally a bad thing (Score:2)
The W3C is one of the tech standards organizations that does *not* allow RAND (thanks to outcry from the community when HP, Apple, Microso
MS preparing for the offensive... (Score:5, Informative)
MS has hired an IP manager who not only believes in but has spearheaded IP rampages. [legalmediagroup.com]
"Marshall Phelps has long been a vocal advocate of the need for companies to take IP licensing seriously."
"...he inspired at his previous company, IBM, which is now reaping almost $2 billion a year from licensing its patents."
"At IBM we did a lot of it. We had lots of lawyers doing preparation and prosecution around the world. At Microsoft, we don't have anyone doing that, but we are going to start."
"According to Phelps, managers too often fall into the trap of seeing patents as a purely defensive measure, a tool with which to stop the competition in their tracks.
Phelps says he is pleasantly surprised by just how understanding Microsoft's executives have been. "On these IP issues I don't have much of a problem getting anyone's attention at Microsoft. It starts at the top, and if you've got a guy like Bill Gates who's really concerned about IP and really likes it then you don't have much of a management problem."
Make no mistake about it, Microsoft has learned to do business by using its capital to get what it wants. Microsoft cannot buy out FOSS but they sure as hell can litigate FOSS directly or indirectly to "stop the competition in their tracks."
As most everyone here knows, FOSS has been on the Microsoft radar for several years now and they have been very active and very unsuccessful in halting the progress of FOSS.
This is the last ditch effort on Microsoft's part to stop what is becoming an unstoppable force. It will not matter if the FOSS community produces a better and more technologically advanced product because Microsoft will not be competing based on the merit of their products.
Whether or not the patents that are filed are frivilous and ridiculous, they will be used offensively to diminish the threat of FOSS to the Microsoft revenue stream.
Be prepared, there is more of the SCO syndrome to come.
burnin
Any news about the patent review? (Score:5, Insightful)
If it is really RAND and royalty free, it will become my favorite development platform. Working with
If not, it is just another poisoned fruit by microsoft.
--
Re:Any news about the patent review? (Score:3, Interesting)
The standards are royalty free, however the standards only cover the CLR (the VM/JIT) and C# the language, not the Framework (all the classes that do stuff).
That's partially why the Mono folks are making two stacks -- the Microsoft-compatible stack, which may be patent encumbered (though Microsoft has never yet used a patent offensively); and the Mono stack, which isn't ch
Garbage Collector? (Score:5, Interesting)
A conservative GC is nice for a quick hack, but it really does not cut it for a modern VM.
So which one will it use in mono 1.0? Boehm or ORP? And if it is the boehm collector, what plans are there to switch to a modern GC?
By the way: the conservative garbage collector is the only real technical flaw of mono. Other than that it is quite a modern VM. Quite amazing for this short development time...
--
Re:Garbage Collector? (Score:5, Informative)
so all we are missing is the compacting features. It does a fairly good job, and we can run large
applications with good success.
Doing a compacting collector is in our radar,
but we have to balance our resources: port to
new platforms, support 2.0 features and improve
performance.
Mono 1.0 will use Boehm, but after that we might
consider using a different collector (in fact,
we have some preliminary patches for doing
refcount-based systems).
Re:Garbage Collector? (Score:5, Interesting)
But a generational GC would have much better performance for short-lived objects, wouldn't it?
Doing a compacting collector is in our radar, but we have to balance our resources: port to new platforms, support 2.0 features and improve performance.
As long as you keep in mind that you will have to change to a generational GC some day, thats O.K. The generics of 2.0 will reduce the load to the garbage collector because putting valuetypes into a (typed)collection will no longer require boxing.
Mono 1.0 will use Boehm, but after that we might consider using a different collector (in fact, we have some preliminary patches for doing refcount-based systems).
Refcounts? I thought the problem with refcount-based systems was that they were not able to deal with circular references. What have I missed?
--
Re:Garbage Collector? (Score:5, Informative)
there are various papers on the subject.
Refcount is bad for small apps, but good when you
have applications that use a lot of memory (since
scanning even with generations is an expensive
process).
There are various papers on Citeseer on the
subject.
Re:Garbage Collector? (Score:2)
Refcounts? I thought the problem with refcount-based systems was that they were not able to deal with circular references. What have I missed?
Cycle breaking. See python.
Basically, ref counting is used as an optimisation : for things which this works on, its a great boost. For the rest, mark-and-sweep is used anyway.
Re:Garbage Collector? (Score:2)
I'm an applications developer... (Score:4, Interesting)
Re:I'm an applications developer... (Score:5, Interesting)
Windows.Forms API on the 1.0 timeframe (you can
get the previews, but they are not ready to ship).
Windows.Forms has a number of problems for
open source software anyways: for instance, it
does not do constraing-based layout, so for
every language that you want to support, you must
relayout your dialog boxes manually (or if you
have a larger font size).
By using Gtk# you take advantage of the Linux-specific
APIs and Linux-specific features (you can use
Gtk# on Windows, Linux and MacOS).
On the other hand, there is a community of
MacOS developers working on bindings to Cocoa
bindings to give them the same flexibility and
OS integration on the Mac.
Windows.Forms would give you a Windows-solution
everywhere.
We are going to support it for the sake of helping
Windows developers move to Unix, but it is not
a particularly great toolkit.
miguel.
When is Mono going to have an IDE like VS.NET? (Score:4, Interesting)
Here you go... (Score:4, Interesting)
Re:When is Mono going to have an IDE like VS.NET? (Score:2, Interesting)
Why? (Score:3, Interesting)
But... it this something that is a serious effort, or is it just an "If Microsoft can do it, Open Source can do it better" thing? Is there really a need / purpose / use for this other then to "one-up" the hated M$?
Is the MONO project a ticking bomb? (Score:5, Insightful)
Maybe someone can help me out here? What is going to prevent Microsoft from playing the patent card when it suits them?
Re:Is the MONO project a ticking bomb? (Score:3, Insightful)
Microsoft has never used a patent in that manner. Nor do most companies, actually -- patent portfolios are built more for defense than for offense. Making money out of patent litigation is something that fly-by-night vulture companies do, not blue chips like MSFT.
Second, Microsoft has much to lose themselves from shutting down Mono. They often point to Mono as an example of the flexibility and interoperability of their pla
Re:Is the MONO project a ticking bomb? (Score:3, Insightful)
Their legal commitment to their stockholders to keep their stock values as high as possible is preventing them from doing this. If Microsoft starts making acts of desperation, they'll be seen as a desperate company, and a desperate company's stock prices aren't as high as a well-off company.
While you could make the argument that that's no assurance they won't do it at all; I could
Re:Is the MONO project a ticking bomb? (Score:5, Insightful)
If patent problems exist, why go looking for them?
Could Python, Java, et al have patent problems? Maybe. Does Mono have patent problems? ABSOLUTELY. It is a known constant. The others are variables, they are wild-cards, they are unknowns.
So, at that point, it becomes a question of which is a lower risk. Anyone can see that a 1:x chance is a lot more less likely then a 1:1 chance.
Does mono do SSL? (Score:2, Interesting)
Re:Does mono do SSL? (Score:5, Informative)
Yes, thanks to the work of Carlos Guzman and
Sebastien Pouliot we now have support for TLS and
SSL (it is a fully managed implementation
miguel.
workable stack? (Score:3, Insightful)
It cannot be C#, Windows Forms combination because Mono does not have real support for Windows Forms yet.
Would I be able to package GTK# in some kind of installable form for distribution on Windows so I can do C#, GTK# on Mono? Is this the right way to think about this?
Can I use Visual Studio to develop Mono, GTK# applications?
Re:workable stack? (Score:4, Interesting)
No VB.NET support (Score:5, Interesting)
Although the official reason that GnomeBasic [gnome.org] was dropped was because of "stagnation", the real reason that it died was because Mono was supposed to take it's place.
If that happened, I've seen no evidence of it.
While you can write Mono code in Java [weblogs.com], PHP [php.net], Logo [sf.net], Oberon [oberon.ethz.ch], Pascal [qut.edu.au], Forth [dataman.ro] and Lisp [sourceforge.net], VB is still unavailable.
It's a pity such a popular language appears to be entirely ignored.
Re:No VB.NET support (Score:5, Informative)
We have a full time developer working on this
(Anirban) and you will see a lot of work on
compliance from him.
Mainsoft has donated a full VB.NET runtime that
we are now integrating.
Rafael and others have just obtained a grant
from the government of Brazil to complete the
VB.NET support in Mono.
And in addition to that, a few open source developers
work on it on their spare time.
You are right, the Open Source developers are not
particularly thrilled at doing VB.NET, but it is
important to bring developers from Windows, so
that is why the effort is being funded.
Miguel.
Mono vs DotGNU (Score:3, Interesting)
I'm sure it is heresy to ask, but am I the only one who's confused by the Mono and DotGNU difference? I read the internetnews article, and the controversy is still pretty opaque. I don't use .NET, and don't have any imminent plans to do so, but if I did, why should I prefer one implementation over the other? Is it purely a religious issue?
To paraphrase Life of Brian: The only people we hate more than Microsoft are the f*ing Mono developers. Or the f*ing DotGNU developers. Take your pick.
Splitters!
Re:Mono vs DotGNU (Score:3, Informative)
MDI Windows.Forms in DotGNU [dotgnu.org] , an IDE in Windows.FOrms on DotGNU [dotgnu.org] , Gtk# on DotGNU [dotgnu.org]...
Is there any difference you see ?. (sorry working on DotGNU for 2 years without pay has clouded my senses)..
Diversity (Score:3, Insightful)
I've written free, open, and closed software; I've accepted money from companies big and small, and I've also been paid to work on non-commercial free projects. I try, very hard, to be an agnostic when it comes to conflicts of religion -- such as the debate of Windows vs. Linux, or KDE vs. Gnome, of C# vs. Java. Tools are tools, and it is how they are used that matters.
And given that case, I do not like how Gnome is being used. Money drives everything, so Novell's involvement only bothers me when I consider their past history of screwing up good things like WordPerfect.
Foremost among my concerns is how Mono can be used as a wedge by Microsoft; if they can not "beat" free software with legal trickery (e.g., SCO), they can slip behind the lines via involvement in Linux via proxies. Microsoft has proven itself untrustworthy, in my personal dealings with them as well as their highly-publicized run-ins with anti-trust law.
I'm not against .NET or C#; I've written some C# code, just as I've written Java and C++ and Python and Fortran and COBOL over the years. I dislike proprietary standards (like .NET and Java) because they trap people, limiting choices and input form the community at large. Give me the chaos of C and C++ over the corporate machinations of C# and Java; I will accept a bit of chaos if my tools can evolve based on conceptual and community diversity.
Re:Real-world examples of tangible benefits (Score:5, Informative)
For instance, Microsoft uses XmlSchema, Mono supports it, but distributed RelaxNG support as well.
We are working on Windows.Forms, but we also have strong bindings for Gtk# to build native applications. In fact MonoDevelop (www.monodevelop.org) is fully written using this stack.
We support the Microsoft database APIs, but we ship providers for all the open source (Postgress, MySQL, Sqlite) providers and other third party databases (DB2, Sybase, Oracle).
Tao is a backend agnostic set of 3D graphic APIs (OpenGL, Cg, SDL) while we still plan on supporting the Direct3D managed APIs.
Our set of APIs is what has allowed us to build things like MonoDevelop: a fairly complete IDE for Mono for developing Linux-based applications.
Re:Real-world examples of tangible benefits (Score:3, Interesting)
Re:Real-world examples of tangible benefits (Score:4, Interesting)
efficient.
That being said, I recommend you ask the question
to third parties that are using Mono/Gtk#: gfax,
beagle/dashboard, MonoDevelop
Re:Real-world examples of tangible benefits (Score:3, Insightful)
Microsoft is in many ways successful. If you take away the predatory aspect of their business practices which I personally think are totally reprehensible and inexcusable, you will see an attitude that is some combination of "not invented here" plus "it doesn't matter until we do it". The good thing about that, is that it represents leadership in some way. They basically stay focused on t
Re:Real-world examples of tangible benefits (Score:4, Informative)
MonoDevelop is focused on being a great Unix
IDE which means integrating with the base OS as
much as possible: use the underlying widgetry,
use the Unix conventions (create makefiles,
configure scripts).
It is a fork of an IDE from the Windows world,
SharpDevelop: a fairly good tool, that integrates
into Windows, and we did not want to run only
a Linux version of a Windows tool.
We wanted a Linux tool for Linux.
Re:Please do not lie (Score:3, Insightful)
If we want to be 100% pure we will never be fully
compatible. But neither is
Are we damn close? You bet. Are we exactly
the same? No.
Miguel.
Re:Real-world examples of tangible benefits (Score:4, Insightful)
You can deploy your ASP.NET applications, developed with Microsoft tools, on cheap Linux server farms.
Look at the DOC format and how even slight inconsistencies can prevent other technologies from getting past
Problems with DOC compatibility are a network problem: you aren't there when the recipient's attempt to open your DOC file fails. However, even if Mono.NET isn't 100% compatible, since all the development is happening in house, you can fix it pretty easily.
If this just enhances the Linux platform or turns into a platform itself, it may have a chance.
Mono is that, too. In fact, Mono is two things: an entire environment for writing Gnome and Linux applications in C#, and an implementation of Microsoft's
Gnome desparately needs a better programming platform than C/C++, and Mono provides it.
However, once it becomes a platform, if you think MS won't try to demolish it the way it has done to every other platform, you are mistaken, especially since the project has shown no leadership and is essentially a clone of what MS is doing
Currently, Linux apps written in C/C++ are competing with Microsoft apps in C/C++, and Microsoft does whatever they do to compete. With Mono, Linux apps written in C# are competing with Microsoft apps written in C#, and Microsoft will still do whatever they do to compete, so nothing much changes.
One thing is for certain, howver: Linux apps written in C# are much more competitive with Microsoft apps written in C# than Linux apps written in C/C++. Developing apps in C/C++ is just way too much of a drag on any group of developers. Microsoft saw the light and moved on to something better, and it is high time that Linux developers do the same thing.
Re:Benchmark: Mono vs. Java vs. C++/C (Score:3, Interesting)
Firstly, if you want to test Java for speed, use IBM's VM - it can be very much faster than Sun's.
Secondly, I just don't believe these results. Given equivalent code Java is usually quoted as being within 10%-20% of C++ speed (and IBM's VM is faster). I am highly suspicious that exactly equivalent code was not used. Was an Integer class implemented in C++?
Also, what about memory use? by default, the 1.4 VM allocates 64MB max heap. The test is allocating a million objects. I don't know how Integer is
Re:Benchmark: Mono vs. Java vs. C++/C (Score:3, Insightful)
This would definitely have been the case 4 or 5 years ago, before hotspot compiling. Java was then typically 10%-20% of the speed of compiled C++, but there is good reason why Java should be pretty much the same speed as C++: All good Java VMs now produce not just native code at runtime, but highly optimised native code resulting from profiling analysis. Java 1.5 even caches the native co
disagree (Score:3, Insightful)
Perhaps the thousands of rants targeted at RMS are simply reasonable observations or your perception of imbalance reflects your own biases on the issues.
Re:Why? (Score:3, Insightful)
Because .Net seems to offer the language and environment benefits of Java while supporting Windows-specific technologies that, let's face it, 95 percent of the computing world can take for granted. Cross-platform portability just isn't that important for a lot