Domain: mono-project.com
Stories and comments across the archive that link to mono-project.com.
Comments · 571
-
They can use their skills in Linux...
-
Re:The cross-platform .NET?
As a
.net implementation, Mono is actually very complete:
http://www.mono-project.com/CompatibilityWhich are these essential parts of which you speak?
-
Re:Commercial Support
-
Re:The cross-platform .NET?C# has some major advantages over other languages, namely:
- A very advanced type systems. I supports typed collections better than Java, being on par with C++. You can even formulate queries on a database, the filesystem, etc and the type system will make sure that everything fits together. This is all done without ugly "hacks" for special cases.
- Type inference.
You can just write "var i=...". When the compiler compiles your code, it will find out the real type of "i" and replace "var" through that type. So it can typecheck your code, but you can just behave as if you were in a weakly typed script language. - Closures and lambda expressions.
You already know them from Python. You don't have them in Java. - Delegates.
These are funtion pointers done right. They are very handy for callbacks, e.g. for UI programming. - A very good tool support.
The language allows very deep static analysis. So it supports refactoring and statical error checking. Java has the similar features. Python is more limited regarding this. - Support for generated code with partial classes
You can define a class partial in source code and partial in compiled code. This allows a controlled mix of generated and hand written code without nasty hacks. Very handy for UI programming or in the enterprise where code generation is still the norm. - Implementations are available for all major platforms (partially thanks to mono) and even for very limited devices (thanks to the open source
.net micro framework).
I am a Java/Scala developer. But from time to time I envy the
.NET developers. Beside politics, C# could be the standard scription langauge for Unix, better than Perl or Bash. With Mono there is even a scripting frontend for C#. -
Re:I don't get it
The bits that make sense in cross platform systems have been done: http://www.mono-project.com/Compatibility
Those that are missing currently (almost entirely limited to entity framework and workflow) have open source alternatives already available (EG NHibernate for EF).
In terms of release cycles it varies fairly wildly. Mono actually was at release for several parts of Framework 4 before Microsoft had their version out of the door, Microsoft tend to be fairly verbose with the roadmap and also put out a great deal of CTP’s targeting small sections of functionality which allows downstream projects to stay on top of what’s coming, -
Re:Good.
But they can't "Embrace, Extend, Extinguish" something that Microsoft invented themselves. The phrase refers to Microsoft adopting a standard and then adding their own extensions to it thereby diluting the interoperability. In this case Microsoft developed the language and CLR, made them as standards but didn't standardize some of the class libraries that they use on Windows (the most prominent being the Windows Presentation Foundation). But guess what? The C language has survived for years with people writing their own proprietary libraries.
If anything, it is the Mono Project that embraced Microsoft's standard. They extended the system with their own libraries. Obviously there is no extinguish part.
Both Mono and
.NET have classes that are specific to their own implementation. If you want to support both then you just have to limit yourself to the base classes. If you want to just target Mono then use their extensions. For example, there are numerous GUI Toolkits for Mono that you can use instead of WPF. -
Impact on popular Linux applications
Looking through the Mono application screenshots, what I believe are the most popular programs impacted by Mono development slowing are Banshee, F-Spot, and Tomboy. Since this trio is easily replaced by Rhythmbox, gThumb, and Gnote, among other options, good riddance to the lot of them. In addition to the standard Stallman concerns, the high concentration of the development team within Novell was always a problem anyway. There are way too many similar applications within open-source operating systems, so culling out some of the weaker ones--from a development risk standpoint--is a net benefit as far as I'm concerned.
-
Too late for GNOME?
Quite interesting, GNOME already have *a lot* of core applications backed by Mono... Who will tell 'em?
;-) -
Re:Not many tears
Ok, I'm not going to wholesale bite but you really need to bring some Citation to this FUD.
You see, a simple google search results in this: http://mono-project.com/Compatibility
Which show's that as far as base libraries and feature support, Mono is almost all there with full
.Net 4.0.Seeing as that's the latest version of
.Net and not even the latest version that a lot of businesses are targeting, would suggest that Mono isn't lagging at all. -
Impact on Mono?
Has there been any word on how, if at all this affects Novell's sponsorship of the Mono Project?
-
Re:Silverwhat?
-
Re:HTML5 != Flash/Silverlight
Silverlight does work on Linux. Which means they can add features like crazy, but I'm still not interested.
FTFY -
Re:NeitherMy remark is not as trollish as you would like to portray it. See http://www.mono-project.com/Compatibility for instance.
Everything you see there except for the C# language and a few other bits, are all *at risk*. Things like ADO.NET (used by every persistence layer such as NHibernate, Entity Framework, Linq to SQL, etc), ASP.NET, Winforms, Silverlight, Parallel frameworks, Code Contracts, WCF, WF, etc. etc. Even WPF if they ever decide to clone it.
If Microsoft is so pro open source why don't they open up the rest of the stack (for instance WPF)?
-
Re:Mono for Android!
The C# language is/was ECMA-standardized. The libraries (eg. the "API") most certainly is not. Even disgregarding the legal aspects, the fact of the matter is that the only complete implementation of the
.NET stack is Microsoft's. Mono is missing many major components, as detailed in their page:
http://www.mono-project.com/Compatibility -
Re:Really?
Might be worth perusing the following page:
http://mono-project.com/Compatibility
Basically, there are colossal holes in portability of C# apps (whether implemented as Mono or C#.Net) due to the library limitations. If you are doing something non-trivial (eg. intending to use something like WPF) and want it portable (since your enterprise customers have chosen their hardware and the bigger they are the less likely their critical servers are Windows, at least in my humble experience). The reason you don't notice a problem is that you are only working on Windows, and possibly have never had to deploy to a really big heterogeneous environment. Personally, I work on a Mac and build a lot of enterprise, web, and client side stuff that I test there and then to deploy to customers that either use Linux or Windows Server. Mono and the .NET Framework have a long way to go to be useful for me and my customers (while Java is already there). This is why so many bigger businesses stick with Java despite the relatively old-fashioned lack of syntactic sugar (but it is not that bad, really). -
Re:I'm amused, and he has a point
So maybe this company wants developers who are truly committed to open source, or cross-platform solutions, vs. just committed to pulling down a paycheck.
If that's the case, then his elaborate explanation was not needed. A simple one like "we don't hire
.NET developers because we care about FOSS, and want people working for us to care as well" would suffice.Except that that doesn't necessarily apply to
.NET -
Re:Money
That's why you run apache with mod_mono on a Linux box instead.
-
Re:Mutiplier
The libraries is one of the important parts of it, the "yield" keyword, LINQ and extension methods cannot be implemented by libraries alone though.
I write this as someone working on a project in C# where iPads and Android tablets would be ideal platforms for one part of the project, but will never happen because of the poor decision to use C# made because the internal programmers at the company that hired us only knew that language.
-
Re:Agree, mostly.
I have nothing MS in my house, nor do I intend to just give them money, why would I want to use
.NET?The fact that the CLI is standardized is a potentially compelling reason to use
.NET. The C# language is also standardized. In fact, these standards are available at no cost. This is an incredible advantage; if, for some reason or another, you find your .NET vendor to be inadequate, you can move to another vendor with minimal overhead. While there is no question in my mind that Microsoft's implementation of .NET the most commonly used .NET implementation out there, the fact that there is already a competing vendor here is a good sign. This, of course, requires that you resist the urge to use implementation-dependent features in your project. A sufficiently abstract design should mitigate this problem when those features are required.Why should you use
.NET? Maybe there's no good reason to do so. If you're a programmer, you have to decide whether or not that is actually the case. You can make that decision however you like, for whatever reasons you like. There are many objective reasons one might pick not to use .NET, including the possible cost of training your development team to use it. With that in mind, programming is an engineering task. At the end of the day, things like .NET are only tools, and a failure to properly perform research is foolish at best. .NET, at least in its standardized capacity, is no more of a "Microsoft thing" than C++ is a "Bell Labs thing". I do not see that you have to give Microsoft any money or endorsement to make use of .NET as a programmer. -
Re:Send the wah-mbulance.
http://www.mono-project.com/Moonlight https://github.com/mono/moon/tree/moon/moon-2-0
That's all well and good, but Moonlight doesn't support DRM-protected content.
-
Re:Send the wah-mbulance.
-
Re:Ok, I'm convinced
That is semi-wrong - Mono has an offshoot called Moonlight that offers most of the functionality of 1-3 (3 is still in beta). The only thing really missing is DRM because Microsoft refuses to release the encryption info necessary to make it work, but they have contributed licensed codecs.
I also believe Microsoft has a vested interest in Moonlight succeeding on Linux, though saying why is probably dipping into NDA territory.
-
Re:Mono, Monodevelop, etc.
Does anyone know what the implications to Mono would be?
The monkies will continue to fling poop as usual.
-
Re:Really?
-
Re:Really?
-
Re:The MS stuff is cool
Except for the whole non-portability thing.
Try this. It supports most of what the Microsoft version does, including ASP.NET MVC.
-
Re:Really?
Expensive? http://www.mono-project.com/Main_Page
Look, I don't use .NET either but it's a very very very capable tool for business apps and is one of the few things MS is really doing correctly. Choosing the right tool for the job is very important, and there are quite a few situations where .NET fits much more than most other packages. -
Re:Umm, .NET?
No, it's not. Mono has been around for years. I haven't messed with it, but from other posts about this article and comments friends of mine who have messed with it, it's pretty damned good these days.
Even a simple winforms based hello world emulates COM and Windows underneath. A winform control is a script of DCOM/COM with win32. It is not a simple Swing or GTK widget which simply calculates pixels and talks to the window manager to display Hello World.
For this reason alone it is not a full on Java replacement nor a serious language to develop cross platform apps
-
Re:Umm, .NET?
No, it's not. Mono has been around for years. I haven't messed with it, but from other posts about this article and comments friends of mine who have messed with it, it's pretty damned good these days.
-
Re:C#
>but until they learn what a compacting garbage collector is Tada! http://www.mono-project.com/Compacting_GC The new GC is bundled with 2.8 and will become the default in 2.10. Mono's VM is pretty nice overall, its the GC that caused pain in long running process scenarios. Its not so much that the GC wasn't compacting either, it was more an issue because it was a conservative scanner which lead to leaks.
-
Re:C#
Maybe worse than ever because it's not just the API they control, but the language.
Sure, they control the language, but it's typically not the language (or even a few of the standard libraries) that is of concern since it's an open specification. Where the, "we might have cause for concern" comes in is all the libraries/API that Mono implements that is not part of the standard (the
.NET framework for instance.) IANAL, but I think they'd have a hard time with any lawsuit against Mono C#, the VM, and the few open spec libraries. On the other hand, I could see it something coming about for the use of their API .NET. Though, IIRC, I think it might be another hard case since Microsoft has repeatedly given Mono developers direct consultation on various aspects of .NET.Anyways, just thoughts on the issue. See also: http://www.mono-project.com/ECMA
-
Re:Oracle is Evil, C# Java
Mono runs on Android (see the market...), iPhone, Windows, Linux, and MacOS. How much more cross-platform do you need?
-
Re:Meanwhile, at Microsoft...
Mono is pretty much caught up. will all features of
.netThere are a few exceptions, but nothing that can't be worked around quickly.
-
Re:Oracle is doing everything they can to fuck up
Mono is pretty much a drop in replacement for Microsoft's platform. I am sure it will become much more popular when Java dies.
-
Mono isn`t Silverlight
Moonlight works ok.
Mono is not at feature parity with Silverlight. I don`t even talk about non existing developer and designer environment for Linux/OS X/BSD.
Even MS admits that Silverlight may not be really cross platform as once envisioned and you Mono/Moonlight/Icaza fans still mention Moonlight.
For industry (if they took SL serious, silverlight is whatever offered at MS Windows Update, which is version 4 or something now.
-
Re:no
Moonlight works ok.
-
Re:Here we go again (SCO)
no one in their right mind would bother using such a thing
I guess these companies are out of their minds then: http://www.mono-project.com/Companies_Using_Mono
-
Re:reason for the acquisition
From http://www.mono-project.com/Scripting_With_Mono
The early results of switching showed that there was a 50 to 150 times performance increase in switching from LSL/interpreted to LSL/Mono.
-
Re:Thank god he's gone from Oracle
How many platforms does
.NET run on? [answer: 1 - Windows].Ever heard of Mono? No, I don't suppose that you have.
even PHP is a more popular development tool than C#
Number of people using a particular language or tool is not as important as how they feel about using it. Ask most C# and
.NET Framework devs whether or not they like their tools and you will hear affirmative answers in almost every case. Lots of people use PHP, and they piss and moan about how much it sucks, whereas C# and .NET really are a pleasure to use. In fact you would be hard pressed to pick a more powerful general purpose programming language with more features, varied syntax and sheer number of options than C# these days.was discovered to be *very* badly remotely exploitable
And yet PHP, by way of comparison, has never had security problems, amazing! Bugs are found and bugs get fixed, 'nuf said.
Which development platform is conservative adding features (not worrying about 'trendy' features that get deprecated on the next release) so that massive investments on code are not deprecated by the need of a vendor to sell you a new IDE version every two years?
One can be too conservative too. If your language and platform are constantly lagging behind the newer niche languages, Ruby for example, then people are going to dump your platform. It is the opinion of many that Java has been too conservative with regard to answering features offered by
.NET and C#. The new features in C# are not just a passing fad, in fact Microsoft didn't invent most of them. Microsoft simply took the best parts of existing languages from various other programming languages, including functional style languages, and included them in C#. Java should have been doing the same.You can keep your shiny new features that affect 2% of your codebase and survive for two years before something replaces them. I'll stick to saving myself time, my customers money, all the while keeping their systems safe.
.NET is good for the desktop, it blows in the enterpriseHave you even used
.NET in an enterprise situation? As for J2EE, don't make me laugh, its short comings are legendary among devs who actually know their craft. -
Re:Let me get this straight
-
Re:It doesn't exhibit natural popularity.
C# is a wonderful language, in my opinion, but its ties to the
.NET framework limits its platform scope and, to me at least, its appeal.You have heard of mono right?
-
Monotouch's stance
Found here - namely 4 apps have made it through the app review process that signed the 3.1.3 clause.
-
Re:And what have YOU done for Free and Open Source
And Mono is, as far as anyone is aware, free of all patented technology.
Or have you found a patent that covers
.NET? I haven't. No one else I've asked has. Have you?Are you fucking kidding me? Are you only just hearing about Mono today? Is everyone you know equally clueless, or did you just never think to try maybe checking the Mono website itself which informs you that it implements patented technology. It's always been known that Mono is not free of patented technology, Miguel has never claimed it was free of patents, he always admitted that it was not.
Oh and yeah before you get to it, we've also known about the Community Promise for a long time and discussed its problems too. Specifically, note that this "irrevocable" promise only applies to things that implement a specific version of the standard, and even then only to the extent that they comply with the standard (as decided by Microsoft), and that any future standard may or may not be covered by the promise.
In other words, at any time they want, MS can decide your implementation doesn't comply, or release a new version of the framework that you are no longer able to comply with and cannot implement without exposing yourself to patent claims.
It's embrace-extend-extinguish like usual, only this time MS tricked part of the Linux community into doing the embracing.
-
Re:Inflamatory headling superceeds mundane content
We have announced that our upcoming Mono release (2.8) will default to 4.0:
http://www.mono-project.com/Roadmap
For the first time in Mono's history our C# compiler and its supporting engine and core libraries were done before Microsoft released the product, we were usually one to two years behind. This time we are some five months ahead of time:
http://tirania.org/blog/archive/2009/Dec-09.html
There are still a handful of loose ends here and there, but luckily, nothing major.
-
Mono culture
So, in other words, Microsoft is encouraging a monoculture rather than a Mono culture?
-
PlayReady digital restrictions management
MoonDimPhotons works on Linux and can generally play web applications designed for the previous version of SilverDimPhotons, as long as they don't use DRM. But Netflix intentionally makes its service incompatible with MoonDimPhotons because a recompiled version of MoonDimPhotons could tee(1) the video into a file that can easily be redistributed to the public in violation of copyright. Linux on PCs and DRM are at fundamental odds with each other.
-
uh silverlight works in linux
Try Moonlight.
-
Re:Microsoft isn't evil
They've opened *some* of their source: Mono.
There's certainly grounds to suspect it's some sort of trap. But, what if it's just what it looks like?
Call me an optimist, but I think the FLOSS community should consider the possibility that it's winning.
-
Re:Is it time to look yet?
Yes, software patents are broken. Yes, Linux has lots of patent vulnerabilities. Beyond that, I can't really understand your point.
Legal issues are all about perception, and in this case, "Linux Hackers" and distros cloning a Microsoft technology with well-publicized patents creates an entirely different perception in the wild-west of the patent-law courtroom than a troll like SCO popping up and trying shake down IBM.
This is the entire point of Microsoft paying de Icaza for his work on Mono and Gnome. Novell's crooked patent deal with Microsoft ties in to the same strategy.
It's quite simple really. By the way, a lot of the supposed credulity about these issues on slashdot is a paid service.
:)Now, regarding "Miguel never tried to embrace GNOME with Mono. You can't show me any mail/blog post regarding with that." This sounds so obviously and totally untrue that I think this must just be a misunderstanding.
-
Re:Is it time to look yet?
Well, everyone makes up their own mind. I'm against Mono. The problems with it are not "MS hate." They're a very practical response to Microsoft. If you follow the news (SCO, etc) it's unremarkable fact that they're trying to destroy Linux via intellectual property law. Tricks just like Mono fit right in line.
Microsoft and de Icaza have been trying for ages to tie Mono to Gnome's success, and in a small way, at least, they are succeeding. Canonical considers Mono to be a "core framework" in ubuntu and they include it by default. It's not just Tomboy but F-Spot and other applications now too - Canonical says over 40 at this point.
I don't promise it will blow up as badly as it could, but taking the risk just to have de Icaza's clone of MS's knock off of Java, when Java itself is GPLv3, is... to use Rush Limbaugh's phrase, Developmentally Challenged.