Mono Project Releases Version 1.0
theblackdeer writes "Just poking around the go-mono.com Mono website; it's now the multi-colored mono-project.com. Even better, it updated before my eyes to include the 1.0 release. Screenshots are (slightly) updated, too. Mono 1.0 includes the Mono Develop IDE (based on SharpDevelop, I believe). Download now and start your GTK# engines!"
Alliante adds "You can download the Release Notes and the Packages on their website."
I'm cheering for the Mono guys but I don't see how they can avoid being also-rans in the compatibility race.
Dear God NO, the last thing I want is the Linux software landscape to degenerate into a million shitty little utilities that all want $20-40 from me for something I probably only need to use once.
"Gold still represents the ultimate form of payment in the world." - Alan Greenspan, 1999
But C# hasn't exactly exploded on the Windows desktop yet either so I suppose it's premature.
I'm still a little skeptical about using a Microsoft-owned technology on Linux, but perhaps this is just what we need to get ISV's on board. I'm going to guess that the "Mono ABI" is going to be less of a moving target than the "Linux ABI" has been. That would be very ironic.
Tired of FB/Google censorship? Visit UNCENSORED!
While people can debate about this, I do think it's something important for linux. It says that no matter what one company can do to try to make their development platform closed and proprietary, the open source community can retort back with their open standards. Yeah, this is just an attempt at cloning yet another microsoft product by the open source community, but when the world uses microsoft and they're distributing this for free, it hardly is as bad as one software giant cloning say...word perfect. I haven't tried mono yet, but when the day arrives when I can run a windows app and linux app without jumping through wine I'll be a happy linux user.
.NET as something positive.
I really think operating systems have become a comodity anyway. To me, linux, windows, and mac don't mean much but the software that runs on them. Sure, making different versions like mozilla does works now, but you can't expect companies like adobe to ever do the same. I think running things off the same compiled code is where software should be headed. This would make the argument of not being able to switch to linux because of lack of supported applications moot.
This is the first time I've ever thought of
Yeah...we totally need 200 MP3 player applications.
The same applies to GNU C, GNU C++, GNU Fortran, GNU Ada, GNU Pascal and POSIX.
If you want to call it something else `D#', be my guest, but I think that incremental changes to the
language have a better chance of having an impact in the world, if we work with the standards organizations
than just by forking things.
Java, as it is now, is a complete non-contender in the area Mono is focusing on, which is Linux desktop apps. First, there's no complete open source Java implementation, no distribution ships Sun's JVM. Sure, you can download the JVM for free, but how can you expect us to build a desktop around the thing in that case?
.NET over Java, then they are pretty weak.
.NET over Java, and vice versa. This argument will likely never die. Ultimately the difference isn't that big. That said, I personally prefer the direction .NET/Mono is taking and I think Sun is foolish to be resting on its laurels. At this rate Mono will become a major force in the Linux landscape and Sun is doing nothing, five years from now they'll still be wondering what the hell happened.
.NET over Java, native GUIs, which is even weaker. Java-Gnome
If these are the best justification for
There's a lot of reasons to go with
Which brings us on to the second justification
for
Java-GNOME is completely dead. Java on the desktop, except for Eclipse and SWT (no thanks to Sun) is completely dead. GTK#/Mono has a lot of momentum and Ximian/Novell throwing their weight behind it which is not to be underestimated. Guess which is more likely to have support two years from now, Java-GNOME or GTK#?
It's like deja vu all over again.
Too many people will get hung up over the Microsoft angle and notions that mono is out to wipe out all other development toolkits. This is nonsense. What the mono team has done is upended a Microsoft strategy - that Windows is differentiated because of the .Net platform. Now we have a level playing field on top of all of the other inherent advantages of open source.
Bravo and thanks mono team.
I'm probably feeding a troll, but I'll assume you are sincere.
.NET is deployable on any platform with a CLI, like Mono. Nobody pays Microsoft anything, though it doesn't put them at the disadvantage that Java would.
Mono was developed because Miguel thought Mono was kinda cool, and because he could. Beyond that, though, there are a few other important issues.
Most importantly, Mono is vital to the future of Linux and other open-source projects. This was a blatant attempt by Microsoft to reign in wandering developer mindshare. Also, it is part of their strategy to bring the application space back from the web, to the desktop-- Microsoft's desktop.
Also, although most geeks realize that Microsoft is not to be trusted, and that generally they produce shoddy (or downright dangerous) software, most of the rest of the world doesn't understand the danger. So, for a lot of manager-types (you know the ones, knuckles dragging the ground, sloped brow furrowed in concentration while parsing simple sentences, signs your paychecks with an 'X'), they see this as "Microsoft's next big direction." Many will choose to follow that direction, because they love Power Point.
And finally, there's the issue of choice. Java is Okay, but there are issues with it. C# has a different set of issues. Both suck. Both are great. Both cower before the awesome power of LISP. Different developers like different things in a language. Some languages suit our personalities better than others. Me, I'm a LISP and Perl kinda guy. The guy sitting next to me likes C and PHP.
There are potential pitfalls with C#, but at the moment that is all they are: potential. And in most cases, those problems are perceived, and not actual. Now
But ultimately our goal should be to produce damned good software, not just destroy Microsoft; we should concentrate on building up, not tearing down.
Microsoft is to software what Budweiser is to beer.
Would you care to share your reasoning as to why a language specifically built to be cross platform and with an incredibly flexible and powerful GUI infrastructure is not a good choice for a GUI app but an immature, unproven platform with serious GUI shortcomings is?
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
While mono is better overall, Portable.NET has better WindowsForms support. It sucks to have 2 open source projects that at their core want the same thing. If the open source community wants to compete with the fast releases of the Microsoft .NET , they need to be more unified.
The nifty thing about this is that Mono has the potential to be bigger and better than the .NET Framework, and we don't actually *need* .NET to make good use of Mono.
The way I see it, Mono could end up gaining more market share than Microsoft's implementation, and as long as we don't tie ourselves to the Windows-specific APIs, there's not a whole lot Microsoft could do about it!
That's precisely what they've been doing all along. Until recently, they've just been very quiet about it...
You'll notice lately that Miguel's been talking about "API stacks" -- i.e. Gtk# et al versus Microsoft's SWF et al., both built on the safe substrate of the ECMA standard. They've been working on that stuff all along, but until recently not talking about it separately.
See also this post.
I believe they're offering packages without any of the Microsoft-specific bits now (to make e.g. Debian happy). And yes, this stuff works on Windows.
I don't think Microsoft quite realizes what's hit them yet. Embrace and extend again, but this time it's Microsoft on the receiving end.
DNA just wants to be free...
Actually Mono/GTK# is quite likely to quickly become more cross-platform than Java. There are plenty of platforms that are underserved by Sun's JVM (the BSDs, Linux on anything but x86, etc.). Because Mono is Free Software it is very likely to get ported to all sorts of niche platforms that Sun is never going to be interested in.
is that using C# implies accepting being led by Microsoft (after all, the Mono guys aren't innovating, they're just copying). If you have no problem following Microsoft, why on earth would you be using Linux and not Windows? For the cost of a licence?
.NET+Windows? Why on earth wouldn't I follow the leader instead of the copycats? Does the Mono team have ANY plans to innovate beyond what Microsoft is doing or is using Mono+Linux always going to imply being second-best?
Just exactly how is Mono+Linux any better than
One huge benefit to Mono on the desktop is that it acts as, and for all intents and purposes is, just a normal language/platform for Linux. Exactly like C/Python etc. You install the RPM, or compile the source, or get the whole thing pulled down as a depdenency from yum/apt for some third party program you really wanted to run in the first place. It's there in the background as any other package on your system. When you run a Mono GTK# program from your GNOME menu or the shell, you can't really say just from looking at it that it's a Mono program and not standard C.
/usr, it's just one of 12 languages and development kits I've got installed on my system). You're not going to get Java with your distribution. You can't pull down Java as a dependency for some other app. You don't get Java apps in RPM/whatever format in the first place. You've got to know what the heck a classpath is, etc.
Java on the hand, goes out of its way to jump in your face at every opportunity. Java is completely unlike everything else on your system. Java spews its shit all around your system even when you install it from a package (what the hell entitles Java to a toplevel directory in
Then you've got your Ant build systems, Jar packages, and tons of other stuff completely alien to Linux. The few Mono apps I've compiled have been the standard "./configure, make, make install". Long story short: Mono will will the desktop because end users don't have to know what Mono is in the first place.
It's like deja vu all over again.
That still seems a little weak. Most of the things you are trying to solve are either vacuous, or simply problems that should be solved at the VM layer without causing the users any additional pain.
Multi-Language: Please, they're all the same language designed to look like other languages. Java has multi language support to (Jython). This is not a fundamental reason.
Value Types: Use escape analysis and a better GC. This is a hack so programmers can give hints to a stupid GC.
Generics: Where are the C# generics? The version we're using at work doesn't have them. Java Generics will arrive first, but be worse off in the beginnnig. C# will arrive later, and initially have a better implementation. Java should fix their implementation in a future revision of the VM and bytecode standard.
Bindings: Spin the wheel and see which function gets called today. Not much needs to be said here, but there's something to be said for the precision of the java bindings as opposed to the pattern matching of the C# bindings.
ECMA: And patented by Microsoft. Fact it, Microsoft will embrace and extend it, or threaten lawsuit to keep their monopoly. The ECMA won't do jack about that.
C# language: The only even marginally valid claim. However, the lack of checked exceptions and sub-standard stack traces are pretty nasty. I don't think C# is a step up in any meaningful way, unless of course you like writing crappy code and just can't bear to know which exceptions you should be worried about. If that's the case, VB6 will always be waiting.
I'm not saying that the C# people are stupid, or anything like that. But this whole endeavor seems to demonstrate a monumental lack of foresight. Why fragment the world even further rather than uniting behind a standard the Microsoft doesn't own?
Hmmm, sounds like the software market for Mac OS X. Don't get me wrong, I like OS X almost as much as KDE on Linux, and I absolutely love my PowerBook. Some of these little $10 to $50 apps are also pretty cool and useful, like Konfabulator. I just find it amazing/disturbing/appalling that hardly anyone will give you the time of day on a Mac unless you pay them $20. These little apps are much cooler than the shareware I remember on Windows, but there is a much stronger FOSS community on Linux providing just about anything I need.
I like the idea of writing code once and being able to run it on multiple platforms. MONO takes us a half a step closer to that. I do have concerns, however. Primarily the screwy patent laws bother me.
The SCO fiasco, which was funded both directly and indirectly by Microsoft, tells me that litigation is probably going to be Microsoft's weapon of choice in the not too distant future. I have expressed these concerns in previous MONO discussions and always get a lot of replies telling me that Microsoft "won't" do this because of this reason or that reason. What I have never got was a reply telling me why Microsoft CAN'T to this.
So, given the fact that SCO has shown that litigation can and is being used as an anti-competitive tactic and given the fact that Balmer not so long ago said, when referring to open source that Microsoft would "vigorously enforce its IP rights", why should I feel good about the MONO project?
Would some lawyer type please tell me why Microsoft CAN'T prevail in a lawsuit over patent violations when the time is right for them to strike? I'm not trolling. I really want to be able to use MONO and feel good about it. But until I know that I'm not putting Linux at risk I simply can't support MONO.
Help me out here Please!
The race isn't always to the swift... but that's the way to bet!
One of the problem with Shareware (or cripple ware) and open source is that it's generally just as easy to distribute the shareware version as the complete version, so it only takes one person to purchase a product and give it to everyone.
I think this impacts open source game production because, frankly, it's hard to find a way to give the source to the community and still ensure some kind of revenue stream.
What I figured is, why can't someone release a game, GPL all the source code, but claim that the artwork and level data are copyrighted and, please, feel free to give your buddies a copy, but don't use the art/leveldata in a commercial release
I think that, while not nesseccarily in keeping with the free software ideology, it is in keeping with the open source philosophy (and yes, bare with me, i know that free is not cost free and open is not simply saying 'check out my code')
By providing my source code to whomever wants it, I make it easier for the next guy not to have to reinvent the wheel. But the specific game data (leveldata, game sprites) are what makes this game unique (if only at the surface level) and are useless to a programer who wants to use my code to write his own game.
Such a license would allow one to release a Shareware version of the game (akin to Doom or Commander Keen, where you get an episode, not some software that expires over time and does half of what you want) which allows for commercial distribution, and a full version which the author can sell.
Of course, maybe that makes the author a capatalistpropriatarypigbastard, but i'd like to hear feedback on the idea...
The Neo-Bohemian Techno-Socialist
Structs? Have you heard of classes? .NET included structs which was nice but its only there for compatibility with older languages like C. You shouldnt use them for straight .NET development. Its up there with continueing to use pointers. If you have to have those sort of things why even use .NET?
.NET has this feature and Java doesnt. Apparently no one gave thought to the idea that Sun would just put out a new version with that feature included also.
.NET they are actually part of the backend. The VM. In Java, in the VM they're all just boxed objects. And lots of typecasts. Shitty. Google around for better explainations.
Huh? Structs are there to give you stack based storage outside of the GC so that if you are creating and destroying thousands, hundreds of thousands, or millions of variables the GC doesn't have to constantly collect. Even though gen zero collections are fast it's still an issue.
Generics exist in Java. They existed as open source projects and are now part of the language (see version 1.5). Ive heard this argument in the past:
You obviously don't understand the distinction he was making. Let me try harder for you. In Java generics generate the same old code as always and are really just a fancy way of letting you add type safety at compile time. In
I've never seen someone so misunderstand a post.
1. He meant multiple computer language support, not internationalization.
2. Structures are useful because they are value types, not references, which allows for some optimizations.
3. He mentioned that Generics exist in Java. He said they were a VM feature in the CLR which leads to very dramatic performance benefits (no casting behind the scenes).
Multi-Language: Please, they're all the same language designed to look like other languages. Java has multi language support to (Jython). This is not a fundamental reason.
.NET/Mono is actively moving towards a general purpose VM whereas the JVM is not. Sun will officially support other languages when... well never. Today, you've got languages like Python/Ruby/Haskell being targeting at the .NET CLR, but look at the big picture. What about CLR version 2, 3, 4... ? The potential is huge. Parrot is the only thing even remotely like it the open source world, and that's only for dynamic scripting languages at the moment. Don't count out a Parrot to Mono CLR compiler yet either! The multilanguage feature has the potential to unify all the minor languages to a single CLR. Right now we're writing GTK bindings for C, C++, Python, Ruby, Perl, etc. With GTK# (despite the name, it's more like GTK-Mono IMO) every language targeting the CLR gets up to date bindings!
The big difference is that
Where are the C# generics?
In Mono.
It's like deja vu all over again.
People have to eat. As far as I can tell, food isn't free. Until food is free, I will charge a reasonable fee for the use of my software. If the software is terrible, I'll give it away - or, more likely, not even release it. I have hundreds of projects that never made it to a release-quality state and would never release them without serious effort on my part.
So, I cheer on anyone who encourages closed-source commercial development for Linux because food isn't free and people have to eat.
Now, before you rate this down, here's what I would recommend the Linux community seriously consider. There are a large contingent of commercial organizations who would port their Windows applications over to Linux in a heartbeat if there was a Windows-like registry for Linux with the sole purpose of accomodating commercial applications. This registry would have to be protected by the OS itself and require Linux users to generally agree to not touch it (read: crack it). I don't care how the registry is implemented, but organizations want the ability to enforce 30 day trials on systems. The lack of a centralized, secured repository of information really deters commercial interests from porting high-quality software from Windows to Linux. There's a lot of Linux software for Windows, but over 90% of it seriously lacks in an area called usability - Oh, I've heard of "great strides" being taken, but every once in a while (every 3-4 months) I'll randomly try a distro. - Fedora Core 2 being the latest since it looked pretty interesting, but the first screen I encountered after the unusable installation put the username and password entries on separate screens...this is what I mean by usability - ease-of-use, the command-line login is more usable than the new graphical login of Fedora. The result? I went back to Windows and I'll wait a few months and try another distro. or a ported application to see if usability has improved any. BTW, I'm one of those people who makes recommendations for software/hardware combinations. To win me over to Linux is going to take some serious effort in the area of usability - effort I have yet to see. (And I know my way around enough of Linux to be dangerous, so don't write me off as some idiot Windows user).
That said, I also want every company that ports to Linux to agree that if a product goes EOL (End Of Life), the source code to that product becomes Open Source under a compatible license. This, IMO, is fair and reasonable. See, I like to develop software first and once I've finished what I've worked on, then I receive input about it. However, until I am completely done working on the source code, I don't want anyone else to touch it, let alone see it. Just like an artist, I only want people to see the finished product, not some half-finished masterpiece. It is only fair to existing users of the software to see the source code if it is no longer being developed. As such, if I EOL a product in the product line, I'll either migrate existing users to another product or open the source code. One thing I won't do is leave them hanging without options.
Here's a good one everyone.... When does if(null == blah) { return true;} throw an exception? When the guy writing a class has decided to override == and not really considered nulls. Wow, isn't that grand. Now we can get a null pointer exception when we're trying to prevent a null pointer exception. So now there's no possible way to avoid throwing the exception, and the exceptions in C# are slow too. THANKS MICROSOFT!!!!! Operator overloading should be strictly forbidden. Here's another question for all you operator overloaders.... Does your + operator commute with your - operator? Does you * or / operator distribute over + or -? If you don't know the answers to these questions, you should never overload operators.
First up... I am the poster of #9571933 above, secondly, you have completely misunderstood my point... frankly I'm not surprised.
At no time did I say or even hint at 'support' meaning 'fix'.
Support for a Microsoft product for instance is often easy to get and exists at multiple levels. If you truly need Windows 2003 Server support at 3 am over the phone, you can get it... you just may be paying an arm and a leg for it. However if you are getting an error message which makes little sense to you, a quick search of the Knowledge Base can often resolve it.
Because of some problems I was having today with Linux and kDevelop, I decided to start a blog about my anger. If you read the initial post you'll see a bit about what my gripe is, but I'll say it again here.
In my experience... (note that I say 'my experience', lets not flame me for being too dumb to have a good experience or anything else along those lines), Linux an open source software have an awful support record.
Lately I've had a number of difficult Linux related questions which I could not find answers for. No matter how many Linux 'experts' I'd ask or message board posts or Google searches I'd do... answers were never forthcoming.
Traditionally when you pay for a product, the author of it is more dedicated to it and spends a fair amount of time on it... unlike many open source projects that begin as a hobby or other non professional project.
I have no doubt that there is plenty of good (F)OSS, but in my experience (yes, that term again), a lot of it fails when it comes to documentation and support if the problem does not fall into very narrow bounds.
Yes, there are plenty of "How-To" Linux books in the world, but no matter how many they are, they and all of the other "How-To's" and related documentation and tutorials in the world are worthless to me if they cannot solve my problem.
The moral of my story is "Money = Incentive to (Succeed|Expand)", coupled with "Incentive => Higher Quality", "Higher Quality => Money"
That is to say, paying for a product motivates the author to continue their good work and support the product and make it the best they can. In turn a higher quality has a better chance of having people be willing to pay for it.
In my experience (and only my experience), (F)OSS tends to lack heavily in terms of usability compared to commercial products. With an income related to a product, one can often get better input (often from skilled consultants) on layout and design to ensure the application is as easy to use as possible... thus increasing the potential for further profit!
Help Brendan pay off his student loans
You need to be modded down, not because of ideology, but because what you're saying makes no technical sense. Windows users can just run regedt32.exe to change the "centralized, secured repository of information". It's not like warez doesn't exist in Windows--in fact, come to think of it, there's way MORE warez in Windows. And now that I think about it, there isn't that much shareware in Windows OR Linux nowadays as there was in the days of registry-less. If you want a centralized, insecured repository of information, you can use the Windows registry, GConf in GNOME, or any filesystem.
What you're asking for is DRM, and that exists in neither Windows nor Linux today, and I wish it didn't exist tomorrow. Not to mention that you're advocating a general pattern of taking control away from the user, and therein lies the path to spyware.
There's a lot of Linux software for Windows, but over 90% of it seriously lacks in an area called usability
You may be right, you may be wrong--but one thing is for sure--any usability advantage by Windows has NOTHING to do with shareware, which is all but gone. I think it has more to do with software being what microeconomists call a Natural Monopoly--marginal costs of producing the next item are zero