Slashdot Mirror


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."

517 comments

  1. Licensing concerns abated by SIGALRM · · Score: 5, Informative

    From the FAQ:

    The Mono project has also sparked a lot of interest in developing C#-based components, libraries and frameworks

    Yes it has. In our company's roadmap, we considered C# and Mono, but the controversial elements of their licensing (ASP.NET, ADO.NET, and Windows Forms subsets) gave us pause until we researched it further. Most of it is covered under the ECMA/ISO and the other technologies developed on top of it.

    Looks like the Mono strategy is to work around the patent issues by using a different technique that retains the API but changes the mechanism.

    --
    Sigs cause cancer.
    1. Re:Licensing concerns abated by Anonymous Coward · · Score: 0

      It's futile. this will turn into a anti-Mono FUD-fest no matter what the FAQ says.

    2. Re:Licensing concerns abated by mitchskin · · Score: 1

      The patent applications are on the API itself , so it's not possible to "work around the patent issues by using a different technique that retains the API but changes the mechanism"

    3. Re:Licensing concerns abated by mattyrobinson69 · · Score: 1

      you cant patent something. you can onlu patent HOW to do something

    4. Re:Licensing concerns abated by alext · · Score: 2, Interesting

      Retaining the API is one option, but not the only one they talk about - "removing code" is another.

      If this looks like nit-picking, consider the implications for porting a Dotnet app to Mono: if 80% of API coverage is achieved instead of 100% it could easily make the port uneconomic.

      This is the problem with the Mono value proposition - it drops exponentially in relation to compatibility, and you don't have to drop far until you've brought the whole cloning strategy into question, the question being whether there was a need to make Mono any closer to Dotnet than Dotnet is to Java.

    5. Re:Licensing concerns abated by Short+Circuit · · Score: 1

      What about a patent for a mechanism? For example, John Browning's patents for his guns.

      You may say you're patenting how to do something, but you're also effectively patenting the device itself.

    6. Re:Licensing concerns abated by mabinogi · · Score: 1

      A person would call something a gun, whether the projectile was fired using combustion, compressed air, or a spring.
      If by "The device itself" you mean a device that causes something to happen by this one specific method, then you'd be right. But most people are happy to call multiple objects that appear to perform largely the same task but by different methods the same type of device.

      And even if that weren't true, it's irrelevant in this context, because an API does nothing, and is therefore not patentable by anyone's definition.
      It's not an invention, and it's not a mechanism, it's simply a bunch of words that make it easy for someone to access a mechanism.

      The only way an API would be remotely patentable is if someone had patented the concept of an API - A mechanism for providing a coherent set of human readable names used to access services.

      --
      Advanced users are users too!
    7. Re:Licensing concerns abated by jeanph01 · · Score: 2, Interesting

      I am very afraid of Mono and its consequences. This kind of project is exactly what Microsoft need for hurting linux. Like someone from Red Hat said, the problem with Mono is that it has the backing of Novell and can become and important part of the future linux systems (in gnome, mozilla, the desktop, whatever). Until Mono has not a CLEAR and written message from Microsoft of what can and cannot be done, we can never be sure that Microsoft will not use it to make linux suffer. I don't think that the stategy of "playing around" the Microsoft patents will be something trivial in a world where Mono would be a critical part of a Linux system. I know that Mono has a lot to offer and that it fill a need that Java has not yet completely filled until now (with Sun yoyo attitude with the GPL one can never be sure). But I don't understand how the Open Source community does not reject this whole Mono project altogether until the Microsoft Damocles sword has been dealt with.

    8. Re:Licensing concerns abated by Anonymous Coward · · Score: 0

      thats what i was trying to say, although in a less specific/accurate way - thanks

  2. beware... by Anonymous Coward · · Score: 5, Funny

    mono makes your throat sore. you get it from kissing girls. actually i guess that's not going to be a concern around here.

    forgive the interruption.

    1. Re:beware... by Uggy · · Score: 1

      Er, mono is "monkey" in Spanish, following in Miguel's inexplicable primate fetish.

      --
      Toddlers are the stormtroopers of the Lord of Entropy.
    2. Re:beware... by EvanED · · Score: 1

      It's also the short name for an EPV infection, also known as the kissing disease.

    3. Re:beware... by Anonymous Coward · · Score: 0

      Infectious mononucleosis ;)

    4. Re:beware... by Anonymous Coward · · Score: 0

      Hah... that shows how much you know about kissing girls. Your presence here explains it all. Anyone knows that you don't get mono from kissing girls, you get cooties. *Sheesh*

    5. Re:beware... by saforrest · · Score: 3, Funny

      ...following in Miguel's inexplicable primate fetish.

      I don't know about you, but every animal I find attractive in that way is indeed a primate.

    6. Re:beware... by saforrest · · Score: 1

      mono makes your throat sore. you get it from kissing girls.

      Hey, you can also get it from thinkgeek.com.

    7. Re:beware... by Anonymous Coward · · Score: 0

      Well, if you're so concerned, I guess you can just continue to stick with mano y mono, if you know what I mean.

    8. Re:beware... by cfuse · · Score: 1
      mono makes your throat sore. you get it from kissing girls. actually i guess that's not going to be a concern around here.

      Obligatory Firefly quote: Jayne: That's why I don't kiss 'em on the mouth.

    9. Re:beware... by Rogue+Leader · · Score: 1
      Obligitory Wayne's World, quote:

      Once I thought I had mono for an entire year. Then it turned out I was just really bored.

      --

      worst sig ever. . .

    10. Re:beware... by Anonymous Coward · · Score: 0

      and is also a Homo, I'll wager.

    11. Re:beware... by 0racle · · Score: 1

      My throat is killing me and I'm feeling lathargic. Myabe I need to see a doctor after all.

      --
      "I use a Mac because I'm just better than you are."
    12. Re:beware... by Tukla · · Score: 1

      Not a furry, eh? ;-)

  3. How important is this for Linux? by Pengo · · Score: 4, Interesting


    A open source RAD evironment sounds like it could have a huge impact on the number of apps that could be rolled out.

    Not so much for the enterprise market, but also for the 'shareware' class applications. Most of my Windows specific applications are programs that are from very small development houses or shareware products. (I love to support a small shareware author!) . I use open source when prudent, but I also love to use a nice simple tool that even if it costs $15-$20 bucks to a pay-pal account, is money well spent in my opinion. Maybe Linux will start to attract this development base with Mono.

    Another question, I have a pro version of C# I picked up at staples last year. Anyone know how realistic is it for me to build an application in Windows using my copy of C# and compile it and run it on mono?

    1. Re:How important is this for Linux? by chetohevia · · Score: 4, Informative

      As long as you don't use P/Invoke or too many of the Windows.Forms items, it should do fine. That's part of the whole point.

      The other thing you can do is run Gtk# on Windows for your xplatform GUI. :)

    2. Re:How important is this for Linux? by Tobias+Luetke · · Score: 5, Informative

      As long as you either use GTK# ( download ), wxNet or console mode you won't even have to recompile it under mono on linux/MacOs/whatever. You will be able to just run it.

    3. Re:How important is this for Linux? by Anonymous Coward · · Score: 2, Informative

      This would depend upon which class libraries you used. Basic apps should work fine, but those using the windows GUI APIs wil not be portable.

    4. Re:How important is this for Linux? by thelexx · · Score: 4, Insightful

      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
    5. Re:How important is this for Linux? by jdh-22 · · Score: 2, Informative

      It will take a little bit of porting if you have any Windows.Forms or any windows32 API calls (hah). Most of the Windows.Forms stuff is currently handled under Wine with Mono. Changing that stuff over to GTK# wouldn't be too bad, plus they would be able to use the application on Linux, and OS X.

      I would like to congradulate the Mono developers on a job well done. Programming languages are finally becoming a little more senesible!

      --
      Every Super Villan uses Linux.
    6. Re:How important is this for Linux? by XMyth · · Score: 1

      eh? That's the point of shareware....if you continue to use it then please be kind and pay for it. If you do not continue to use it then don't worry about it....where's the problem?

    7. Re:How important is this for Linux? by Anonymous Coward · · Score: 0

      How is that any different then the existing linux software landscape where there are millions of 'shitty little utilities' which are given away for free? At least when you pay for a product you have some hope of support... which is why I'm hating linux software currently, each problem I have I am unable to find a solution to.

      It's not good when you do a goggle search for an error message and the only hits you find are from the source code for the app!

    8. Re:How important is this for Linux? by no+reason+to+be+here · · Score: 1

      Lots of shareware is crippled until you pay for it. What if you need to use it just once, but can't access a function that you need for your one time use in the crippled version?

    9. Re:How important is this for Linux? by Anonymous Coward · · Score: 1, Insightful

      Yeah...we totally need 200 MP3 player applications.

    10. Re:How important is this for Linux? by drinkypoo · · Score: 1

      That stuff is specifically called crippleware (though not by the authors) and it really should not be considered shareware. It's more like the classic idea of trial versions. Most crippleware is also nagware.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    11. Re:How important is this for Linux? by Anonymous Coward · · Score: 0

      Not to mention the umpteen million text editors that are hardly better than notepad... most of which are installed together by default.

    12. Re:How important is this for Linux? by arvindn · · Score: 4, Interesting
      I cheer your voice of sanity in crowd of ideology and narrowmindedness.

      When the windows desktop market was the size of the current linux desktop market (not in terms of percentage, of course, but numbers) there was a huge market for shareware. Why doesn't that market exist for linux today?

      One reason could be the technology, which you've addressed, but IMHO the main reason is the economics. A while back, in a newsforge article I analyzed the situation and suggested how to create such a market. I was quite taken aback by the feedback, which consisted mainly of semi-coherent rants saying "shareware is teh evil!!!" and "kill anyone who dares to suggest proprietary software for linux!!" and so on, despite the fact that what I proposed would have the side effect more open source software getting written.

      The linux landscape is changing, its going mainstream, and there are a lot linux users who don't like that. I must humbly suggest to such people that you cannot do anything about it, and you should therefore either accept the reality or start moving to another system where you can feel more "l33t".

    13. Re:How important is this for Linux? by ggambett · · Score: 1

      I'd love to see a RAD environment for Python development and getting that compiled to .NET. That would be awesome! Is there any project doing that?

    14. Re:How important is this for Linux? by ckaminski · · Score: 4, Funny

      I recommend these people try the HURD. I hear they need a bunch of wannabee uber-geeks to test their kernel...

      Plus, you can bitch and moan all you want about it being the One True Gnu, and be right for a change.

    15. Re:How important is this for Linux? by Anonymous Coward · · Score: 0

      amen.

    16. Re:How important is this for Linux? by mrjb · · Score: 1

      A open source RAD evironment sounds like it could have a huge impact on the number of apps that could be rolled out. That would be any RAD environment, open or closed- and open RAD environments were already there. The source of NetBeans was opened in 2000, and Java cross platform support is currently definitely better than that of .Net.

      I worked with C# for a few months, and it seems pretty nice, although it is in my opinion just a bit too easy/tempting to write programs that include the windows stuff, breaking cross platform compatibility - which is my main concern for this type of platform in the first place. This, and the patents stuff bothers me a bit.

      Now I don't usually run with the hype, I usually wait until new ideas and products prove themselves. As a result I'm a late adopter of Java (by now I'd say it has proven itself) maybe I'll be a late adopter of Mono/.NET as well. For now I don't see the added value. Anyone clue me in?

      --
      Visit http://ringbreak.dnd.utwente.nl/~mrjb/growingbettersoftware to download your free copy of the book
    17. Re:How important is this for Linux? by bassburner · · Score: 2, Informative

      I developed a ASP.NET web application that connected to both Microsoft SQL Server and MySQL in Visual Studio .NET and moved it over to a Linux server for deployment without a problem. One important thing to note is that I understand that debug versions from MS .NET won't work in mono, only release versions.

    18. Re:How important is this for Linux? by msh104 · · Score: 1

      Well, only very limited. mono is working on the Windows.Forms Implementation. once that is finished it will "run". (but look like wine, because it is)

    19. Re:How important is this for Linux? by EvanED · · Score: 1

      How close are GTK# and Windows forms? I find Mono very intriguing for cross-platform development, but how hard would it be to port between GTK# and Winforms?

    20. Re:How important is this for Linux? by Jason+Earl · · Score: 2, Insightful

      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.

    21. Re:How important is this for Linux? by Bedouin+X · · Score: 1

      What language did you use?

      The answer that my limited reasearch hasn't been able to find is whether my VB.NET assemblies and user controls will work. Since I think the assemblies are compiled down to the CL I'm pretty sure that the answer is yes, I just want to know for sure. My God I would love to run a .NET server without all of the other Windows overhead and security headaches.

      --
      Dissolve... Resolve... Evolve...
    22. Re:How important is this for Linux? by Dr.+Evil · · Score: 3, Interesting

      That's politics, not economics.... and Shareware's only bite is in closed-source non-free software.

      The shareware model has generally proven ineffective. It has the maintinence problems of closed source along with stunting growth of other software by leveraging the effect of "market dumping".

      I'd like to see more creative models, like the one where the author sets a "freedom" price on the software and people contribute to having the source code released under an open license. I think people would feel better contributing cash to a project if they knew it wasn't going into a vacuous pool.

    23. Re:How important is this for Linux? by 4lex · · Score: 2, Funny

      I was just thinking the same. I personally think of crosshurd. This lets you choose between several kernels (4 at the moment) for a lot of architectures (12 at the moment). This should be 1337 enough for anyone... However, if everything else fails, what about good old Plan 9?

      --
      My journal. Mainly about freedom.
    24. Re:How important is this for Linux? by EvanED · · Score: 3, Interesting

      Now I don't usually run with the hype, I usually wait until new ideas and products prove themselves. As a result I'm a late adopter of Java (by now I'd say it has proven itself) maybe I'll be a late adopter of Mono/.NET as well. For now I don't see the added value. Anyone clue me in?

      I think it's mostly the matter of extra options and personal choice. For instance, coming from a C++ background there are several things that I feel are "missing" from Java (default arguments, enums, operator overloading, etc.) and thus I am partial to using C# that has most of what's missing. A good cross-platform .Net and Windows Forms implementation would be very nice. So it adds (or at least will add once they get Winforms mostly done) another option to the "so you want to make a cross platform program" toolbox, in with Java, Qt, wxWindows, etc. Options are always good.

      (My intent is not to start a Java flame war here; this is just my opinion.)

    25. Re:How important is this for Linux? by Anonymous Coward · · Score: 0
      Please.

      That's the biggest bunch of shit I've ever heard.

      By your remark, then since I paid HP $10K for my server, the fact that something is broken means they would fix it. However, what I get is some fucking phone monkey telling me that it's a "configuration problem" which I know for a fact is bullshit.

      On the other hand, I've had *some* outstanding support experiences on open source projects where I had issues with the software.

      So the moral of this story is..."Money != Support"

    26. Re:How important is this for Linux? by Anonymous Coward · · Score: 1, Informative

      Minus the .NET part, "Boa Constructor is a cross platform Python IDE and wxPython GUI Builder" (& with some Zope support). Ok, not exactly what you're asking for ...but still :)

    27. Re:How important is this for Linux? by Alt_Cognito · · Score: 0

      Umn, am I the only one confused by this derivation of the thread? How many different versions of Linux distributions are there? Why don't we get rid of those while we're at it! emacs, vi, nano, pico, joe, all must be merged into kate or maybe nedit.

      Anyway, this is silly talk. It is nice to have choice.

    28. Re:How important is this for Linux? by Darth+Daver · · Score: 2, Insightful

      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.

    29. Re:How important is this for Linux? by mr.+marbles · · Score: 1

      Yeah...we totally need 200 MP3 player applications.

      You mean we don't have it already?!?

    30. Re:How important is this for Linux? by Dalcius · · Score: 5, Informative

      "The linux landscape is changing, its going mainstream, and there are a lot linux users who don't like that. I must humbly suggest to such people that you cannot do anything about it, and you should therefore either accept the reality or start moving to another system where you can feel more "l33t"."

      You call others narrowminded but I don't think you yourself understand the reasons people are afraid of the side-effects of Linux growth. Maybe you're just hearing a vocal minority.

      I personally cannot stand to use Windows these days, for many reasons... but one of the biggest is the environment. Under Linux searching for help, files or other content is particularly easy: the signal to noise ratio is quite good. Under Windows, it's "Sign up to download, we sell your email, now you can wait in a queue to get your file, but here are some ads to keep you busy". Pop-ups, spam, misdirection, just junk in general.

      The bottom line for this reasoning is that Linux it's just easier to find what you want (or at least a definitive 'It doesn't exit') in a shorter time. When the community starts growing, we'll see lots of wannabe applications attempting to sell themselves to you, registration keys and website registrations, hassles downloading files or getting help, etc. This is a Bad Thing.

      That all said, I'm in favor of Linux's growth and I think most people are. There aren't many true Linux users who do it just to be "leet" and I think its pretty silly to suggest that. Most Linux hobbiests do it because they are in control, in one way or another -- application choices, configurations, power, etc.

      Slapping a dogma on someone and calling them an idiot isn't helping anyone. I think the Linux community is ready to expand and wants to expand, it's just afraid of how severe the consequences might be when the 'unwashed masses' start using this stuff.

      Cheers

      --
      ~Dalcius
      Rome wasn't burnt in a day.
    31. Re:How important is this for Linux? by arhra · · Score: 1

      And to add the .NET part back in, IronPython (at least, once it actually becomes available...)

    32. Re:How important is this for Linux? by mr.+marbles · · Score: 1

      how hard would it be to port between GTK# and Winforms?

      This is where documentation would help tremendously. Particularly in the form of "porting from windows .net to Mono" guide. I hear there's a book coming out on developing with Mono which might help some of us.

    33. Re:How important is this for Linux? by TCaptain · · Score: 1

      The Mono roadmap on the site mentions that the VB.NET component is still under heavy development, so I'd say expect some problems...but who knows? I mean I've tried some stuff (not mono...I mean in general) that was labelled the same way that worked quite well for me.

      --
      "I'm not a procrastinator, I'm temporally challenged"
    34. Re:How important is this for Linux? by kotfu · · Score: 1
      The Mono website says:
      Mono includes a compiler for the C# language, an ECMA-compatible runtime engine (the Common Language Runtime, or CLR),and class libraries.
      Note the absence of the RAD part. There is no Visual Studio equivelent. It's a compiler, a run-time, and some class libraries. Programmers still use emacs, or vi, or whatever else to edit their code.
    35. Re:How important is this for Linux? by Anonymous Coward · · Score: 0

      Gtk is a fuckload better than win forms anyhow. Hurray for constraint-based GUI layout systems.

      Sorry, I have to work with win crap (not by choice) and I spend too much time trying to get labels to match up with input fields and otherwise line everything up neatly.

    36. Re:How important is this for Linux? by Knos · · Score: 1

      Basically shareware brings none of the benefits of opensource (free price, availability, future-proof) and none of the benefits of proprietary software (lot's of invested money: quality, support, polishing)

      --
      . . . . . . . .. . . . . . . .
      may u!sh 2 sm!le at dz!z bad nn.!m!tat!ion
    37. Re:How important is this for Linux? by GbrDead · · Score: 1

      that you cannot do anything about it

      I can. Like writing free software.
      Competing against Microsoft, IBM, etc. with $20 utilities might once have been possible. But competing against the F/OSS hordes with something less valuable (I mean real price) than $1000 is not possible today.
      In summary: not that I don't like the idea of shareware for Linux, it simply won't happen.

    38. Re:How important is this for Linux? by mrchaotica · · Score: 1

      That brings up the thing I love best about OS X - a big chunk of those FOSS Linux apps work on it! We get the best of all three worlds: a big chunk of commercial games second only to Windows, the ease of use of a Mac, and the power and flexability of Unix and FOSS software!

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    39. Re:How important is this for Linux? by Anonymous Coward · · Score: 0

      "a big chunk of commercial games second only to Windows"

      That is clearly disputable as many games also now have Linux ports and there are many Open Source game projects for Linux. Even if Mac is second to Windows, it is second by a huge denomination. Basically, if you currently want to play a large selection of games use Windows or get a console.

    40. Re:How important is this for Linux? by abreauj · · Score: 1
      A open source RAD evironment sounds like it could have a huge impact on the number of apps that could be rolled out.

      This month's Linux Journal had an article about a very nice RAD tool: GladeGen.py. You design your GUI with Glade, and then this script generates a python script to use your GUI. I've been using it for about a week now, and in that time I've written a couple dozen small GUI tools for my users.

      There's a page of links from the article at linuxjournal.com.

    41. Re:How important is this for Linux? by Hatta · · Score: 1

      (or at least a definitive 'It doesn't exit')

      Really? So they've solved the halting problem now, huh? ;)

      --
      Give me Classic Slashdot or give me death!
    42. Re:How important is this for Linux? by GrayTech · · Score: 2, Funny

      That's functionality challenged software you insensitive clod!

      --
      -- I need to remember to update my sig
    43. Re:How important is this for Linux? by Anonymous Coward · · Score: 4, Insightful

      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.

    44. Re:How important is this for Linux? by LetterJ · · Score: 1

      Actually, a surprising number of those FOSS Linux apps work on Windows as well. With a combination of Cywin and native ports, I run most of my favorite Linux utilities on my Windows workstations.

    45. Re:How important is this for Linux? by DMUTPeregrine · · Score: 1

      Use Gentoo. The portage tree is controlled, so those minor apps will nver get in. I've not used Debian, but I'd assume it's similar. Also, unwashed masses generally stay away from Gentoo.

      --
      Not a sentence!
    46. Re:How important is this for Linux? by alext · · Score: 1

      Hmmm, I don't know about the "quickly" part. A huge amount of effort has been spent getting Java on all kinds of platforms from phones to mainframes.

      I think you're talking about 6 years or so to replicate this assuming Mono took off, and right now its take up in the commercial world (vendors and users) is negligable.

    47. Re:How important is this for Linux? by alext · · Score: 1

      Real-world software requires support for databases, security, performance, productivity, reliability...

      The presence of enums would be about criterion number 10006 in a realistic evaluation of Java and. Mono platforms.

    48. Re:How important is this for Linux? by TravisWatkins · · Score: 1

      You mean something like what Transgaming does?

      --

      "But I'm still right here, giving blood and keeping faith. And I'm still right here."
    49. Re:How important is this for Linux? by DaHat · · Score: 3, Insightful

      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!

    50. Re:How important is this for Linux? by Electrum · · Score: 1

      A open source RAD evironment sounds like it could have a huge impact on the number of apps that could be rolled out.

      What about Borland Kylix?

    51. Re:How important is this for Linux? by Anonymous Coward · · Score: 1, Funny

      "Wake me up when the mainstream has enough smarts not to run binary code."

      And uncompiled source code runs on which processors?

    52. Re:How important is this for Linux? by EvanED · · Score: 1

      Real-world software requires support for databases, security, performance, productivity, reliability...

      I would argue that .net provides these in most cases. I'm not saying that Java == bad, C# == good, just that there are many cases in which .Net works plenty well enough that the choice to use it can be based on personal preferences. (Or in other words, the first 10,005 items in the list check out just fine.)

      My statements about preferences about C# over Java are based on my experience of having C# provide the features I want (minus cross-platformness, which Mono is fixing). I cannot say that I have done any hefty programs, but from the toy ones I have done C# has suited me better than Java. I also have read enough to have an idea of what .net and Java support, and don't think that one has a clear advantage over the other in general. It all depends on project requirements and the programmer's previous experience.

      (To address your concerns: ADO.net provides at least a decent amount of database support; security is far more in the hands of the programmer than the language; Java has only recently run at an acceptable speed, especially GUI-based programs, while I have not yet seen a .net program that felt sluggish; productivity is very much a factor of personal preferences and language features such as what I named; reliability is again much more a function of the programmer than the language; etc.)

    53. Re:How important is this for Linux? by Decaff · · Score: 1

      there are several things that I feel are "missing" from Java

      You may want to look at next release of Java (now called Java 5). Its available in late Beta right now, and will be out in Sept. It has a lot more of the features of C#, such as enums and boxing/unboxing and metadata, and some nice new features such as OpenGL acceleration of GUIs, and shared VMs.

    54. Re:How important is this for Linux? by Anonymous Coward · · Score: 0

      Actually if you read the website, there is an IDE, albeit not a match for VS yet. Mono-develop is an open port of a Sharp-Develop, a Windows .NET IDE, using Gtk# instead of Winforms.

    55. Re:How important is this for Linux? by DerWulf · · Score: 1

      how has it been 'proven' ineffective? I think the large number of shareware products indicate the opposite. There is no maintenance problem with shareware. either it works for you -> encouragement to pay or it doesn't -> delete it. 'vacuous pool': how is it pointless to pay a guy/gal that wrote software that helps you?

      --

      ___
      No power in the 'verse can stop me
    56. Re:How important is this for Linux? by DerWulf · · Score: 1

      for me, your post boils down to: I prefer to know that X doesn't exist (even if proving a negative is not possible ;) to signing up, queueing up and watching adds to receive X. That doesn't make sense.
      You say that the signal to noise ratio increases automaticaly as the 'bandwith' (total number of softwares) increases. Accepting that and accepting that high signal to noise is 'a bad thing' the best solution is to have one piece of software total.

      Not serious ;)

      --

      ___
      No power in the 'verse can stop me
    57. Re:How important is this for Linux? by Dalcius · · Score: 2, Interesting

      Regardless you make a very good point and that is that we won't have hardware support and photoshop and good games, etc., until we get the other crap that comes with it. That said, we're not only going to get good software we want (signal), but a lot of bad software we don't (noise) as well as ads and other junk (noise).

      But I didn't say that I'd prefer to stay the way we were, I said I'm all for Linux's growth. I'm just dreading the day that I have to start dealing with this stuff in the Linux environment. A good comparison, I think, is going from the early days of the Internet to now. Sure, we have lots more content and the ability to order plane tickets, but then we have spam, pop-ups, etc.

      Hopefully the existing Linux communities (like Gentoo, which I use) will keep things together.

      Cheers

      --
      ~Dalcius
      Rome wasn't burnt in a day.
    58. Re:How important is this for Linux? by DerWulf · · Score: 1

      yeah, I caught your drift, I saw what you meant to say. It just didn't check out with the strict-logic-analyzer ;) ... Actually I am not part of 'we' but I am waiting for the day that linux has become mainstream enough that the 'signal' parts hits the right level. Games, to be specific. Now I know that WINE and transgaming are doing all they can but this just isn't enough. I won't even try it until the 'supported game list' disapears because all games are expected to run. Its frustrating enough to get windows games running on windows so it's not going to get easier on linux.

      --

      ___
      No power in the 'verse can stop me
    59. Re:How important is this for Linux? by orasio · · Score: 1

      Blender was set free that way, they built an organization that raised 100000 Euros, and they provided the source under the GPL.

    60. Re:How important is this for Linux? by Tukla · · Score: 1

      Reminds me of a MacOS X utility I downloaded to help set up some NFS exports. The author wanted me to pay $15 to use it, even though I was going to use it once. Needless to say, I set up the exports the old-fashioned way. Once. More than two years ago. Glad I saved that $15; it bought me a copy of MEPIS Linux a few months ago.

    61. Re:How important is this for Linux? by TRACK-YOUR-POSITION · · Score: 2, Insightful
      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.

      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

    62. Re:How important is this for Linux? by Ayende+Rahien · · Score: 1

      Dude, you do know that there is nothing that prevents a windows user from going to the registery and changing whatever values you've there, right?

      Not to mention, a secure 30 days trial can be achieved without a registery quite easily.
      A simple way to do so would be to record the date of the app server, or to create some sort of unique identifier & sign the date.

      --

      --
      Two witches watched two watches.
      Which witch watched which watch?
  4. I never thought I'd be chanting this, But... by cmdrwhitewolf · · Score: 4, Funny

    Go Mono, Go! I hope you infect everybody!

    (at least I'm not back in college anymore, where they would've probably hauled me away in straight jacket for chanting that...)

    --
    [Now, I'm off to lift my le... Um, visit... at another place.]
    1. Re:I never thought I'd be chanting this, But... by Anonymous Coward · · Score: 0

      Not if you pronounce it correcly. Remember, this mono is spanish for monkey. Pronounce it mo-no, not mon-o.

  5. Wow! by RevAaron · · Score: 0

    This is great!

    It's been a while since I've had a good look at Mono- and things really seem to have advanced since! Way to go guys!

    --

    Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    1. Re:Wow! by RevAaron · · Score: 1

      Re the mod'ing done on this comment:
      Funny? I can see overrated, as I start off with a +2, as my Karma is so utterly swell. :P But funny? I mean it- I haven't looked at Mono in quite a while, although .NET and Mono both really interest me.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  6. Someone... by irokitt · · Score: 1

    likes Modest Mouse.

    Anyone here use Muine, is it better than xmms?

    --
    If my answers frighten you, stop asking scary questions.
    1. Re:Someone... by B1ackDragon · · Score: 2, Informative

      I've used Muine, a while ago. It automatically downloads album covers from amazon or something, which was cool but didn't always work. Also, it is organised into albums, so if you've got a directory of music thats mix and match, you have to select an album just to hear the one song off of that album. I could be wrong however, it was a while ago.

      Actually, I think it suffers from that all too common among Apple and Gnome base apps problem of "Its so intuitive it's annoying." I like an asthetically pleasing app as much as anyone, but it's almost as if people are afraid of control and buttons and things these days. If you're used to XMMS, it's going to be hard to beat in terms of functionality.

      --
      The snow doesn't give a soft white damn whom it touches. -- ee cummings
  7. .NET terrarium.. by joeldg · · Score: 4, Informative

    Wonder if that can be run in mono..
    installing to find out.

    I have been playing in GTK getting sprites and such working, but would like to use this for more portability.. .NET terriarium is damn cool
    http://www.windowsforms.net/default.aspx?tab Index= 6&tabId=42
    Check it

    1. Re:.NET terrarium.. by fredrik70 · · Score: 1

      hmmm, I seems to remember SGI having the same idea a few years back, very cool app. However, most of my lifeforms died quite quickly... :-(

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    2. Re:.NET terrarium.. by Joe+Tie. · · Score: 1

      Wonder if that can be run in mono.. installing to find out.

      Any luck?

      --
      Everything will be taken away from you.
    3. Re:.NET terrarium.. by Anonymous Coward · · Score: 0

      I used orca to modify the msi to not crash after not detecting .NET 1.1 to install, but then it crashed later with an unknown error.

      Perhaps if I installed .net 1.1 first, installed the terrarium, then uninstalled .net and installed mono.... ...but im too lazy to do that.

      btw, im not the original poster im some other guy. so, he might have done it and not reported back :-P

    4. Re:.NET terrarium.. by joeldg · · Score: 1

      That is a big no.
      First, it obviously wasn't compiled with mono.. second, it is packaged in an msi file which is a pain under linux.

      However, this mono 1.0 is rockin...
      loving the monodevelop

      Cheers

    5. Re:.NET terrarium.. by TummyX · · Score: 1


      First, it obviously wasn't compiled with mono..


      Uh. Why on earth would this be a problem? It shouldn't need to be compiled with mcs.

  8. Congratulations Mono team by Anonymous Coward · · Score: 2, Interesting

    It's been 3 years and a ton of code. Great work. Let's get those apps rolling out.

    I now await the FUD machine.

    1. Re:Congratulations Mono team by tiger99 · · Score: 1
      Yes, congratulations, but never mind the FUD, which is merely one of the increasingly desperate death throes of a failing Criminal Monopoly.

      In any case, just watch how quickly bug fixes and security holes get fixed in Mono, as compared to Monopoly.

    2. Re:Congratulations Mono team by Anonymous Coward · · Score: 0

      hahaha, that's absolutely brilliant. Just curious though - do you get an erection every time you type the word "monopoly"?

    3. Re:Congratulations Mono team by alext · · Score: 1

      But I thought the point was that there already were lots of apps?

  9. Appeal of RAD Langs by iisageek · · Score: 0, Flamebait

    The appeal of RAD Languages like VB and C# is nice because you can make a quick utility for a project or novilty without having to sell your first born child. Only draw back is, as with VB, script kiddies with basic knowledge can go and make viruses. Is this going to pose a threat to the *nix community who is known for it's inability for a quick RAD?

    1. Re:Appeal of RAD Langs by kmmatthews · · Score: 1
      inability for a quick RAD
      Never used the motif designer or even glade, have you?

      script kiddies with basic knowledge can go and make viruses
      Is a VB app or a "great-tool.sh" that contains "rm -rf ~ /" more complex? Think about it. As least on Unix, if you're a normal user, the "rm -rf /" bit doesn't hose your system.

      As always people, if you want to shoot yourself in the foot, you're free to.

      --
      feh. stuff.
    2. Re:Appeal of RAD Langs by Omega1045 · · Score: 1

      You don't know a dang thing about *Nix of .NET, do you? VB.NET is a full on OOP language. You are thinking of VBScript running in Outlook and IE for your virus claims...

      The only thing that makes C# and VB RAD is the IDE. The languages on their own, while using features like garbage collection and foreach contructs to simplify and speed up development, are not RAD. C# is very similar to C++. It even has pointers!

      I would imagine a nice shell scripts running with the correct access could be more dangerous in the hands of a script kiddie. With .NET you can sign your apps, which gives sysadmins another level of security. There are a number of other security features built into .NET. I am not trying to sound like a fanboy here, just pointing out how completely off target or statement is!

      --

      Great ideas often receive violent opposition from mediocre minds. - Albert Einstein

    3. Re:Appeal of RAD Langs by Anonymous Coward · · Score: 0
      With .NET you can sign your apps, which gives sysadmins another level of security.

      How does somebody I have no reason to trust signing an application make it any more secure? Every .NET stack come with a C# compiler, no excuse not to ship applications as source code now! When I audit it and compile it, then I trust it, not because somebody paid for a digital sig.

    4. Re:Appeal of RAD Langs by Omega1045 · · Score: 1

      So you argument is not with .NET, but with trusting signed applications? Correct?

      Signed applications do two things for you, assuming the vendor is not going to send your source or you don't have time to go through all the code to audit it:

      1) A trusted 3rd party vendor issues the certificate. That 3rd party verifies the details of the vendor. So, you can easily track back any malicious code, which is a very big deterrent from having malicious code included in the app.

      2).NET Signed code used a hash similar to MD5 sums to make sure the code has not been tinkered with since it was originally authored. Any classes binding to the code know the correct digital sig, and will not run the code if it has been messed with.

      --

      Great ideas often receive violent opposition from mediocre minds. - Albert Einstein

    5. Re:Appeal of RAD Langs by Anonymous Coward · · Score: 0

      motif designer and glade are GUI builders, not complete RAD environments.

    6. Re:Appeal of RAD Langs by Anonymous Coward · · Score: 0
      So you argument is not with .NET, but with trusting signed applications? Correct?

      My issue is with allowing any potentially hostile code to run, period. It's too late after the event.


      1) The 3rd party issues certs for money, trust cannot be bought! I'm not interested in tracing malware, the idea is not to be duped into executing it in the first place.


      2) This is only relevent if you are running bytecode from a potentially hostile source. Given that all .NET stacks ship with a compiler, this is not an issue, distibute as source or distribute to /dev/null

    7. Re:Appeal of RAD Langs by Omega1045 · · Score: 1
      I appreciate your zeal for security and FOSS, but the vast, vast majority of IT departments are not going to have the time or resources to dedicate to auditing code at this level. It is not a practical solution for almost anyone, especially when you consider patches, bug fixes, and incrimental version releases plus keeping someone on staff expert in the technology (.net, java, etc, etc).

      In the end, most people have to trust someone. They will also need to ensure that the code has not been tampered with. The two parts of digital signatures I have mentioned go a long way to helping secure code from trusted sources.

      I am still a little confused by your terminology and information on .NET. Given that all .NET stacks ship with a compiler Are you refering to the runtime? Versions of the .NET runtime do come with a compiler. I don't understand your use of the term "stack". Is this what you meant, in your words stack = runtime? You aren't refering to .NET assmeblies... I assume your word "stack" means the .NET runtime, or Mono runtime.

      --

      Great ideas often receive violent opposition from mediocre minds. - Albert Einstein

  10. ah, the joys of playing catch-up by jbellis · · Score: 4, Insightful
    ironic that this comes just days after MS announces that whidbey and the next-generation .NET framework hit beta 1.

    I'm cheering for the Mono guys but I don't see how they can avoid being also-rans in the compatibility race.

    1. Re:ah, the joys of playing catch-up by Anonymous Coward · · Score: 0
      Better to try than to have not tried at all.

      Why are you complaining? Stop putting down devs who have a dream, they have a right to it as much as anyone else. It's a free world man!

    2. Re:ah, the joys of playing catch-up by Anonymous Coward · · Score: 0

      generics is already in a certain build of mono. Thanks for the FUD, but they're not starting over for the .NET 2.0 release.

    3. Re:ah, the joys of playing catch-up by Anonymous Coward · · Score: 0

      Actually, the Mono version numbers don't match the .NET Framework version numbers. Mono 1.0 already has many of the big new features in .NET Framework 2.0 (such as Generics in C# 2.0, which resemble templates in C++).

      - Simon

    4. Re:ah, the joys of playing catch-up by miguel · · Score: 4, Insightful

      Like Alan Cox said: "Free software is always late", followed by something like `The moment you write the first line of code you are already late: you need the feature, thats why you wrote that line'.

      Everyone of your favorite projects was late or playing catch up: Samba, OpenOffice, Gnome, Linux, glibc, gcc, gdb, CUPS.

      Miguel.

    5. Re:ah, the joys of playing catch-up by Anonymous Coward · · Score: 0

      hmmm, so since all those major open source projects are playing catch up I guess it makes more sense to just use the proprietary but advanced versions of those instead?

      You basically are saying there is no technical reason to use open source since it's always just trying to immitate the innovator.

    6. Re:ah, the joys of playing catch-up by Sunspire · · Score: 4, Insightful

      First, Mono already supports a lot of the stuff coming in Whidbey (generics for example).

      Second, even if Microsoft killed their .NET effort tomorrow it wouldn't change the fact that we now have a kick-ass development platform for Linux. Everybody needs to take a look at the two software stacks of Mono.

      Wether Mono has feature parity with MS .NET is not the most important thing, neither is supporting Windows.Forms. Mono is good enough to stand on its own, as the next generation Linux development platform. Interoperability with Windows is just sugar on the top. Where do you see the Linux desktop being five years from now? I truly hope we're not still at the time writing our applications in C, as we do for the GNOME desktop now. Unless Sun steps up to the plate to release their JVM under a open soruce license, Mono is pretty much our only hope to modernize our development environment in any reasonable timeframe.

      Of course, some will say we've already got Python, or Ruby or whatever. But I say I want to program Python in Mono.

      --
      It's like deja vu all over again.
    7. Re:ah, the joys of playing catch-up by arth1 · · Score: 1
      I'm cheering for the Mono guys but I don't see how they can avoid being also-rans in the compatibility race.

      The question I ask is: How likely is it that a project X developed with .NET can now be rolled out on a *ix platform? If it takes hours of configuration changes, recompilations and making it incompatible with its original platform, and requires the admins to also be coders, it's not going to be a viable option.
      If, on the other hand, it truly offers the claimed portability without jumping through hoops, then it might be a winner.

      Regards,
      --
      *Art
    8. Re:ah, the joys of playing catch-up by Tobias+Luetke · · Score: 1
      You basically are saying there is no technical reason to use open source since it's always just trying to immitate the innovator.

      Geese you need some help with your interpretation skills. Hes neither saying or implying that nor is the person hes quoting from saying or implying that.

      Moreso he actually WROTE the first line of one of the projects mentoined (gnome) and the project in question (mono) so I think this counts as proof that he's not beliving that :)

    9. Re:ah, the joys of playing catch-up by goodviking · · Score: 4, Insightful

      I used to agree with you, then I read "How Microsoft Lost the API War". The thing that really struck me was that fundamentals components of .NET will be abandonned with Avalon . This is why I now think that open source .net is a masterstroke. MS is basically asking/forcing their developer base to adopt a now open sourced, platform neutral enviornment. In a few years, they're going to break the whole model and say that to play, you have to retrain and recode major portions of your work. At that point, it becomes more cost effective to stick with mature solutions that work, not play catchup to the latest and greatest. "Look, Shinny Things" is not a better business strategy than compatibility and reuse.

    10. Re:ah, the joys of playing catch-up by Kentamanos · · Score: 1

      Not to mention...

      Once people play with .NET in a non-2.0 framework, I think they'll get more excited about .NET in general.

      Then demand for a 2.0 Mono framework will increase, and more people will probably jump onboard to help.

    11. Re:ah, the joys of playing catch-up by WhiteWolf666 · · Score: 2, Insightful

      Really?

      Just hours of configuration changes, and admins that are coders?

      Seriously, that isn't that much of a requirement. Anyone doing enterprise level roll-outs is going to be spending THAT much time, and that many SKILLED manhours doing the rollouts anyways.

      For companies running custom apps, that they have the source to, or they desgined themselves, or that they have a good relationship with the supplier for, Mono represents a great way to move back and forth between .NET and *ix.

      Yes, it some cases, it will take some elbow grease. Hopefully (and the goal is), it will not take an insane amount of work.

      Paralell source trees are not the devil.

      And eventually, it will offer the claimed portability, either through practice or technically.

      Through practice: Enough people are using Mono to know not to use .NET features that Mono can't handle.

      Technically: Mono gets enough funding to just whoop .NET's ass.

      Personally, I think the first is more likely, and not even that difficult depending upon the context.

      --
      WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
    12. Re:ah, the joys of playing catch-up by cygnusx · · Score: 1

      >fundamentals components of .NET will be abandonned with Avalon

      One word: no. WinForms will continue to be supported. Hell, GDI and GDI+ will continue to be supported. If you don't want to write Avalon apps, don't write them. But your apps will stick out as clunky old things in Longhorn the way DOS apps did under Win3.1 and Win3.1 apps did under Win95.

      At that point, it becomes more cost effective to stick with mature solutions that work, not play catchup to the latest and greatest. "Look, Shinny Things" is not a better business strategy than compatibility and reuse.

      Funny, because Apple has built up a billion dollar business based exactly on that proposition ... If you ignore eye candy OSX is no different from Gnome 2.6 :-).

    13. Re:ah, the joys of playing catch-up by XMyth · · Score: 2, Informative

      Not abandoned exactly. There will be new APIs that supercede them for Longhorn only (Avalon/XAML) apps. What they're really trying to do is break the tie with legacy apps on Longhorn. Your System.Windows.Forms (which is really the only part that is changing with Longhorn) apps will not be using the latest and greatest API once longhorn hits, but that's about it. If you've properly seperated your UI from the rest of your app then this shouldn't be a *big* problem for most people....especially since it will work without any changes anyways.

    14. Re:ah, the joys of playing catch-up by mrchaotica · · Score: 1

      The other possibility is that Microsoft could give up on pieces of Longhorn, at least in the near term. They've already been forced to start working on IE again, so it's probably becoming more likely.

      Considering Mono and Mozilla, it seems to me that the smartest move for Microsoft is to do just that (which of course is why I think they should just keep working on Longhorn : D )

      The best part, of course, it that's it's possible that even if they do [keep working on Longhorn], we might have Reiser4 and a decent standard accelerated X by the time Longhorn comes out, and .NET compatibility!

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    15. Re:ah, the joys of playing catch-up by Brannoch · · Score: 1

      No, I think that the same argument can apply to proprietary software. The quote applies to any software that is intended to implement wanted features, no matter where the idea for the feature came from. By this standard, all software is always late, proprietary or not.

    16. Re:ah, the joys of playing catch-up by bay43270 · · Score: 2, Interesting

      Microsoft released .net as a standard to get better support for it. It doesn't hurt them in any way because .net isn't all that revolutionary (nice, but not revolutionary). Avalon is just the Windows-specific API for creating rich UIs (like cocoa# will be for the mac). Avalon is Microsoft's way of making sure Windows will stay the preferred environment for .net development. You can still code GTK# or cocoa# applications. You could even code winforms if you want.

      If the community were smart, they would take Miguel's suggestion, and start on a competitive stack. Perhaps something that extends SVG to allow binding to .net and a friendlier syntax for reusable components.

    17. Re:ah, the joys of playing catch-up by Anonymous Coward · · Score: 0
      Everyone of your favorite projects was late or playing catch up: Samba, OpenOffice, Gnome, Linux, glibc, gcc, gdb, CUPS.
      Except that hidious, pathetic excuse for a DE is not one of my favorite projects.
    18. Re:ah, the joys of playing catch-up by Anonymous Coward · · Score: 0
      The IronPython paper is great, "how to force a square peg through a round hole". Similar tricks could equally be applied to a JIT'd VM that was designed from the ground up as a target for dynamic languages. We haven't actually seen the IronPython code yet, so I figure you will just believe anything you're told or you're astroturfing?

      BTW: I'm Elvis, inventor of UNIX, alpha geek and burger idol. I've personally benchmarked a python implimentation running ontop of a VM written in scheme, implimented atop a JVM, beats out native code every time. It's the future...

    19. Re:ah, the joys of playing catch-up by Gaijin42 · · Score: 1

      You just invalidated the business model for almost everyone producing a J2EE app. They are making millions. The model must work.

      And it takes MONTHS of configuration and customization for some of those apps.

    20. Re:ah, the joys of playing catch-up by Anonymous Coward · · Score: 0

      Enjoy pissing on work people did around the time you were in elementary school? gcc pioneered optimized RISC compilation; before gcc other compiler folks declared it too complicated. gcc also pioneered cross-language binary interoperability and is often the first compiler on any given platform (although companies then go on to "proprietary" compilers). gdb pioneered software cross-platform debugging; other debuggers needed fancy ICE hardware. Neither was "catch up" or "late". These were brand-new functionalities declared impossible or too difficult before people went and did it.

    21. Re:ah, the joys of playing catch-up by cakoose · · Score: 1

      This is true, but there are two different issues here. The quote from Alan Cox probably refers to features in terms of general functionality. Sure, you're always catching up with people want.

      With the CLR, two things are different. Firstly, you have to wait until MS has an implementation/specification before starting work on it. Secondly, you can't just provide similar functionality, you have to match the API exactly. This is tough when the API implicitly depends on Windows-specific features (from what I've read, an example of this might be S.W.F, though I don't know the internals).

      It's tough to predict whether Mono will be able to keep up with Microsoft's platform. With something like that doesn't change as much, like POSIX, it's probably easier. With .NET, the target can move as fast as MS wants it to move. Though it feels like the gap is slowly closing after the initial torrent of new APIs and language features, the new Longhorn API will be another big piece that will take a while to implement (if it's even feasible).

      On the other hand, Mono does provide a nice development platform that isn't necessarily compatible with the MS platform, and that's useful in itself.

    22. Re:ah, the joys of playing catch-up by miguel · · Score: 1, Informative

      You are correct in that we need an existing implementation for Microsoft technologies.

      Sometimes Microsoft will help, they submited to ECMA everything needed to implement generics in the VM and the compiler six months in advance of their first public compiler. We were lucky enough to have a compiler with said features by the time they launched theirs.

      In some other cases, we do not care what Microsoft is doing. There are plenty of APIs that Mono ships with (check our release notes) including Gtk#, RelaxNG, Mono.Data.*, Mono.Security.*, Mono.Math.*, Novell.*, mDNS.*.

      Miguel

    23. Re:ah, the joys of playing catch-up by Anonymous Coward · · Score: 0

      ya, but it's still playing catch up.

      So instead of using a cheap immitation I can just use the real version.

    24. Re:ah, the joys of playing catch-up by alext · · Score: 1

      Switching from WinForms to GTK is rather more than a configuration change.

      I work for a big company but it is unlikely to be able to induce a package supplier to make this kind of customization.

    25. Re:ah, the joys of playing catch-up by alext · · Score: 1

      If the community were smart, they would take Miguel's suggestion, and start on a competitive stack

      Actually this is what the community would do if they were exceptionally stupid.

      There's no value in being vaguely similar - Mono has to be fully compatible to have any value over other platforms. The fact that Mono C Sharp programs look like Dotnet C Sharp programs means nothing if the code doesn't actually run - it might as well have a different bytecode, language and CLR too.

    26. Re:ah, the joys of playing catch-up by Jesus_666 · · Score: 1

      Plus, if the late software is being developed fast enough, it might actually get ahead of whatever it was trying to emulate in the beginning.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    27. Re:ah, the joys of playing catch-up by WhiteWolf666 · · Score: 1

      Don't need to switch from WinForms to GTK.

      Hopefully, just tweak your app so that it will work WITH WinForms under Wine.

      Wine's support will never be 100%, but perhaps you can structure it so that 90% will be good enough.....

      --
      WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
    28. Re:ah, the joys of playing catch-up by Anonymous Coward · · Score: 0

      Well considering it was written by the creator of Jython, I have can see giving him the benefit of the doubt. Where as you've developed....nothing.

    29. Re:ah, the joys of playing catch-up by Anonymous Coward · · Score: 0

      Gnome 2.6:OS X::HURD:Darwin/Mach

    30. Re:ah, the joys of playing catch-up by Anonymous Coward · · Score: 0

      C is is the only language for Real Programmers.

      Just the fact that you think C isn't the one true language shows you are a big fat idiot.

      C forever!

    31. Re:ah, the joys of playing catch-up by bay43270 · · Score: 1

      There's no value in being vaguely similar - Mono has to be fully compatible to have any value over other platforms. The fact that Mono C Sharp programs look like Dotnet C Sharp programs means nothing if the code doesn't actually run - it might as well have a different bytecode, language and CLR too.

      True, if the goal were compatibility with Microsoft's .Net. In Miguel's post he provides two alternatives. One is a direct port of Avalon (which you seem to favor). The other is a rewrite.

      A direct port would allow Microsoft programs to run on other programs, but it would always be behind and could never be better than the Microsoft implementation (it would be a lot like wine). A direct port *will* happen. Its just a matter of time. But then again, why *just* emulate windows. Its not like the Linux desktop is going to be littered with Avalon programs, no matter how compatible they are.

      A separate implementation would give the world an entirely new UI framework rather than bindings to GTK, Cocoa, KDE, or whatever. Why not just use the gtk bindings? Because its been a while since gtk was written, and now we know better ways. We also have access to more powerful hardware. In order to keep up with Quartz and Avalon, we will need to do better than tacking on transparency to GTK, or adding pre-rendered SVG graphics. Maybe we could do better than Avalon, maybe not. At the very least, we have a cross-platform UI framework in native .net. Best case, we have a successor to GTK and KDE that can compete with Avalon on any platform.

    32. Re:ah, the joys of playing catch-up by Tukla · · Score: 1
      we have a successor to GTK and KDE

      Just to nitpick: I think you mean Qt, not KDE.

    33. Re:ah, the joys of playing catch-up by aztracker1 · · Score: 1

      I actually think SWF will work on avalon with the new API, just the underpinnings of .Net will use the new API underneath, instead of the old... point of .Net and MSIL

      --
      Michael J. Ryan - tracker1.info
  11. CLR is good stuff... by tcopeland · · Score: 2, Interesting

    ...it enables things like calling Ruby from C# and vice versa.

    I think someone is working on a Ruby to IL compiler, but I failed to successfully Google it...

    1. Re:CLR is good stuff... by upsidedown_duck · · Score: 1

      ...it enables things like calling Ruby from C# and vice versa.

      Generally, these features of the CLR have to be overrated, because the semantics differences among programming languages are so great that the CLR has to hit a hard wall at some point. Do all object-oriented languages resolve which method the call at run-time the same way? Do all programs treat arguments to functions in the same way? Just by asking these questions, I would bet that programming in a multi-language CLR environment would be prohibitively complex for any non-trivial project. I would imagine debugging would be a nightmare, too.

      --
      -- "Makes Little Debbie look like a pile of puke!" - Moe Szyslak
    2. Re:CLR is good stuff... by tcopeland · · Score: 1

      > I would imagine debugging would be a nightmare

      That's a good point. Sure, my Java classes can now inherit from my COBOL classes... but do I really want to do that?

    3. Re:CLR is good stuff... by Anonymous Coward · · Score: 0

      It's not object-oriented languages I wonder about. What I wonder is how does the CLR handle combinations of object-oriented and functional languages. You can write for the CLR in a functional language, but is that just syntatic sugar for what is really an object-oriented language?

    4. Re:CLR is good stuff... by IamTheRealMike · · Score: 2, Interesting
      Originally I thought the CLR would be great, as it's basically language interop the Right Way - as long as you remember that language interop always involves compromises, you're good.

      But it seems that the dream of great language interop has not been reached even with .NET - look at the work Nat+Trow are doing with Beagle/Dashboard. Rather than use the .NET CLR tools to reuse the Lucene search engine (written in Java), they forked it and rewrote it in C# - why?!

      I see this even more. Interop is great in theory, but lacking in practice. See how they started out by using libxml/libxslt to implement the System.Xml APIs and then abandoned that and wrote their own in C#, partly because C interop was not good enough/high performance enough.

      To be frank, I think Mono isn't going to unify anything. People will still code in C, C++, Python, C# and so on, and they will all be running in their "native" forms. So we just have yet another platform that needs to be bridged for useful work to get done (via some kind of COM-like technology).

    5. Re:CLR is good stuff... by upsidedown_duck · · Score: 1

      What I wonder is how does the CLR handle combinations of object-oriented and functional languages.

      Further, how do programmers handle combinations of such languages? How do debuggers handle them? Imagine debugging a multi-threaded object-oriented program written in three languages...yuck.

      --
      -- "Makes Little Debbie look like a pile of puke!" - Moe Szyslak
  12. How can Miguel say that Mono is independent.. by Pivot · · Score: 1, Interesting

    - when he need to consult microsoft when developing it further...

    1. Re:How can Miguel say that Mono is independent.. by Slayer_X · · Score: 1

      Amen dude!

      This is why I think MONO is very bad thing :(

      --
      - Slayer_X
      http://www.slayerx.org/
      Lima
    2. Re:How can Miguel say that Mono is independent.. by Anonymous Coward · · Score: 1, Informative

      On the face of it that seems like a pretty poor troll, but I guess I bit.

      C# is an ECMA standard. Stating a preference for developing it as a standard instead of following an embrace and extend strategy is perfectly reasonable and doesn't imply dependence on anyone.

    3. Re:How can Miguel say that Mono is independent.. by miguel · · Score: 3, Insightful

      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.

  13. Why .NET and not Java? by Sanity · · Score: 5, Interesting
    This may seem like flamebait, but they throw the first stone right there on From the Mono website:
    ...However, the Java runtime systems commonly available on Linux lack the performance that customers demand, and Java applications do not conform to the Linux GUI look and feel.
    If these are the best justification for .NET over Java, then they are pretty weak.

    As has been pointed out ad tedium in various Java-related discussions on /. - Java's early reputation for poor performance may have been justified in the 1.0 and 1.1 days, but modern Java VMs employ sophisticated JIT compilers which gives it comparable performance to natively compiled languages like C++, and easily matches .NET's CLR performance. Java's bytecode and .NET's bytecode are not that different, the main differences are in the APIs.

    Which brings us on to the second justification for .NET over Java, native GUIs, which is even weaker. Java-Gnome does the same thing as Mono's GTK bindings, offering exactly the same GUI abilities, and SWT offers a truely cross-platform GUI API with a native look and feel on each platform it runs on.

    1. Re:Why .NET and not Java? by iisageek · · Score: 1

      Is there any decent Java IDE's for Linux? I've tried Eclipse 3.0 on Slackware and Slackware-Based College Linux but to no avail.

    2. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0

      With a 4 digit ID, you're probably at least 30 years old, and yet you're still pretending that "My Language Is Gonna Beat Up Your Language"? Get real, there will be the need for both Java and C# support.

    3. Re:Why .NET and not Java? by Kaellenn · · Score: 3, Interesting

      Unfortunately, while I agree with you on all your well-made points, I don't think your'e gonna be able to convince people who have a long-held hatred of everything to do with Java.

      Yes, it's unfortunate, but at the time the mono project started, those statements were true and were good justification. However, as time progressed and java stabilized as a great programming language, different reasons for pressing the mono issue came to the forefront.

      Like it or not, this is an MS dominated industry, and they're going to be pressing .NET, not Java. Java's a great tool and I'd love to see more java apps written, but we're never going to keep up with MS if we can't do the .NET thing too.

      In the end, it's probably good to have both; more cross-platform implementations are better. :)

    4. Re:Why .NET and not Java? by DroopyStonx · · Score: 1

      The way I see it, companies who have .NET solutions now have the option of switching to windows.

      We have solutions in .NET. Sure, the debate rages on as to whether .NET is better than Java, but personally, it's easier for me to develop in .NET using C#. If I wanted to ditch windows, my only option used to be to completely redo our apps in Java, but time simply doesn't allow for that.

      With mono, all we have to do is slap the code on a linux box and we're good to go.

      --
      We have secretly replaced these Slashdot mods' sense of humor with a rusty nail. Let's see if they notice!!
    5. Re:Why .NET and not Java? by miguel · · Score: 4, Informative
      First, keep in mind that Mono also ships with a Java VM, so your Java code will work on Mono ;)

      There are other reasons, I do not claim these are all of the possibilities, but here are some more:
      • Multi-language support by design, which lets some complicated languages like C, C++ and Fortran
        to be supported without hacks.
      • ValueTypes (structs) are not supported in Java, which is a source of major pressure on the GC, an
        issue solved completely by the availability of it
        on .NET
      • Today: Generics are a VM feature, not only a language feature: which means that your list of
        ints will be a list of ints, and not syntactic sugar for a list of objects of Integer. Importan
        for performance.
      • Binding APIs for C# and .NET is trivial, which is why there is a whole industry of bindings
        for the framework: its trivial to call back into the old code base, without using JNI of any kind.
      • Some people care about the fact that it has been standardized by ECMA.
      • .NET improves upon the lessons learned from Java and were able to make changes that Sun could not
        (yes, that means that someone else can build something new now, and fix the .NET mistakes ;-)
      • Some of us prefer C# the language to Java the language.


      But feel free to use Java for doing Gnome applications, I have nothing against it, we are
      only an equal opportunity platform provider. Let the big boys fight it over.

      Miguel
    6. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0

      Because .NET is more open and more portable than the JVM. Example: we currently program in java, but compile the java code to .NET to run the programs on both Linux and Windows.

      The bindings you have mentioned don't solve the problem. They all require that you ship the JNI wrappers either in source-code or native for all machines on which the software should run.

      With .NET we can just P/Invoke the OS native libraries. This is as unportable as JavaGnome/SWT but is easier to handle and works better.

      Regarding Libraries/Patent issues, as long as you use the GNU .NET libraries, this isn't a problem.

      See http://www.gnu.org/software/dotgnu

    7. Re:Why .NET and not Java? by Sunspire · · Score: 4, Insightful

      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?

      If these are the best justification for .NET over Java, then they are pretty weak.

      There's a lot of reasons to go with .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.

      Which brings us on to the second justification
      for .NET over Java, native GUIs, which is even weaker. Java-Gnome


      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.
    8. Re:Why .NET and not Java? by danheskett · · Score: 4, Interesting

      First, Java as a client tool is not popular for Windows development. .NET of course will be. And it is rapidly becoming that way. If a properly written CLR and Class Library was constructed for non-Windows, any app written to use the provided libraries would run immediately on Linux/etc. This a big thing. If any old user can run any old Windows app natively on Linux, that's good (TM).

      Second, .NET isn't as language specific as Java. Though the .NET CLR is slightly or moderatly biased towards some languages it is vastly more friendly to new compilers. The whole point of the .NET CLR is to encourage new languages to compile to it. This means that a single CLR can support any number of new languages. It means that a Ruby# program compiled to CLR on Windows will run under .NET. This is a "good thing" that Sun can't really with Java.

    9. Re:Why .NET and not Java? by Timesprout · · Score: 3, Informative

      Ive been a big critic of Eclipse in the past but 3.0 is huge improvement over their previous efforts and its not actually bad. IDEA IntelliJ is probably the best IDE out there but will cost you a few bucks. NetBeans is passable or you can download JBuilder Foundation which is quite limited, the decent versions will set you back a fair whack. I'm not sure if Oracle JDeveloper is free, it's a JBuilder spin off and from what I hear not bad. Eclipse is the pick of the freebies but I prefer to pay for the quality of IntelliJ.

      --
      Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
      What truth?
      There is no dupe
    10. Re:Why .NET and not Java? by nonmaskable · · Score: 1

      and Java applications do not conform to the Linux GUI look and feel.

      From what I can tell, neither does Mono since I use KDE. I doubt there is a believable case that >50% of Linux desktops use Gnome...

    11. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0

      > Java's a great tool and I'd love to see
      > more java apps written

      Hopefully people don't write free java apps. Because without a free (as in freedom) java implementation you cannot run these apps on a free operating system.

      Please see www.gnu.org and specifically
      http://www.gnu.org/software/dotgnu

    12. Re:Why .NET and not Java? by puppetluva · · Score: 1

      Intellij is widely regarded as one of the best IDEs out there and it runs on Linux:
      http://www.intellij.com

      Also Sun's Netbeans and Java Studio are quite good as well (Netbeans is free).
      http://www.netbeans.org

      Finally another great non-free IDE/Editor is Visual Slickedit. It runs on just about any platform that exists (including Linux).
      http://www.slickedit.com

    13. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0
      With a 4 digit ID, you're probably at least 30 years old, and yet you're still pretending that "My Language Is Gonna Beat Up Your Language"? Get real, there will be the need for both Java and C# support.
      You got it backwards, they were beating up on Java, he merely pointed out the flaws in their criticisms. He didn't say anything bad about their language.
    14. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0

      the Linux GUI look and feel

      This has got to be satire. KDE and Gnome both still suck balls compared to even Windows 2K/XP, let alone MacOS X. (Confused menu layouts, icons apparently designed in kindergarten, unresponsive and slow feel from unintuitive feedback design, etc.)

      Both are usable, sure, but not good; what the heck does "Linux GUI look and feel" try to imply? That it is actually good? That it has set some kind of high standard? Whoa there. Still has long miles to go... (User interface development is where I contribute myself, as I'm not a terribly good coder. We still have a buncha R&D to do.)

    15. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0

      Keep up the good work!

      I absolutely love C#. The next GUI (non-console that is) program I write, I'm definitely going to give Gtk# a shot on the chance I'll get a larger install base.

      I did have one question, on the Gtk# page, you mention:

      "While our System.Windows.Forms implementation is making good progress and will allow user to run graphical .NET SWF based application on Linux, Gtk# is the Mono project main graphical toolkit for cross platform application development and tight Linux integration."

      What is SWF?

    16. Re:Why .NET and not Java? by Anonymous Coward · · Score: 1, Informative

      Uhhhh... slackware ships Sun's JVM.

    17. Re:Why .NET and not Java? by minus_273 · · Score: 1

      .Net is an open standard Java is not. You can download the source code for the C# compiler and CLR from the MS website and build it on your favorite platform with Make, you can't do that with Java. I think that i reason enough for me to use C#

      --
      The war with islam is a war on the beast
      The war on terror is a war for peace
    18. Re:Why .NET and not Java? by digidave · · Score: 1

      I have yet to see a significant desktop application written in Java perform as well as a native application. DB2's control center and Websphere Site Developer are two good examples. Both are quite usable, but not as snappy as a native app.

      I also find that Java apps perform poorly using VNC/TightVNC on Linux or Windows' Remote Desktop. There is often a long delay between clicking and seeing the result. This might be a problem with the remote control apps, but it still affects my desire to use Java apps on a remote system.

      --
      The global economy is a great thing until you feel it locally.
    19. Re:Why .NET and not Java? by Jason+Earl · · Score: 1

      Five years from now they [Sun] will still be wondering what the hell happened.

      Unless Sun does something drastica they will have imploded long before 5 years is up.

    20. Re:Why .NET and not Java? by lubricated · · Score: 1

      > Java's early reputation for poor performance may have been justified in the 1.0 and 1.1 days, but modern Java VMs employ sophisticated JIT compilers which gives it comparable performance to natively compiled languages like C++, and easily matches .NET's CLR performance

      Java is a memory hog, plain and simple. whenever I run java apps on my computer even in the background like freenet the whole computer slows down. It is the sole reason I don't run a freenet node.

      --
      It has been statistically shown that helmets increase the risk of head injury.
    21. Re:Why .NET and not Java? by levell · · Score: 2, Informative

      SWF=System.Windows.Forms

      --
      Struggling to find a day everyone can make? WhenShallWe.com
    22. Re:Why .NET and not Java? by LDoggg_ · · Score: 4, Interesting

      You know Miguel, you've honestly ticked me off in the past with your anti java sentiment.
      That said, this is the first time I've seen a post of yours that has some merit.

      I've been coding in Java for more than 6 years now, and I guess I've just gotten really comfortable with the language. I've also been using linux for several years now. The last few years has seen good JVMs & IDEs available for linux, so I've kept developing with it.

      Recently I've become involved in setting up K12LTSP networks. I started a project that's windows companion CD of software the students will be using at school on linux.
      I wrote the graphical installer in Java and it took me no time at all. Its XML based and exactly what I wanted.
      One problem, I have to bundle a vm to make it autorun.

      Your mono stuff looks like it can do this and totally open source. I'll have to get use to some new libraries and what not, but if this works out, I'd be really psyched about your project.

      Anyway, keep up the good work, and congrats on 1.0 !

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
    23. Re:Why .NET and not Java? by ckaminski · · Score: 1

      System.Windows.Forms?

    24. Re:Why .NET and not Java? by Coward+the+Anonymous · · Score: 2, Informative
      --
      -- Jason
    25. Re:Why .NET and not Java? by mrtrumbe · · Score: 4, Interesting
      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#?

      Smells like trolls 'round these parts.

      Here are sourceforge's statistics on GTK#.

      Here are sourceforge's statistics on Java-Gnome.

      What criteria are you using to proclaim Java-Gnome dead? From the statistics on sourceforge, it seems that there is interest in the project and far more reports of bugs than for GTK#.

      I agree that Sun hasn't been as cooperative as I'd like to see in terms of Java's relationship with the open source community. However, I think you are making some baseless assertions about the current and future relevence of projects supporting Java in the open source arena.

      Also, I think it is laughable that the mono team claims "Java applications do not conform to the Linux GUI look and feel." Which look and feel is that, exactly? KDE? Gnome? FVWM? The majority of Linux apps that I use do not conform to any single look and feel. OpenOffice? Looks like Windows 95. Mozilla/Firefox (by default)? Completely different (though skinable). Sure, Mono, with GTK# looks like a Gnome app, but that really isn't going to help a KDE or FVWM user, is it?

      Much of the anti-Java sentiment around slashdot seems to originate from rabid pro-open source ideology. I wish people would evaluate these technologies on their capabilities and applicability rather than whether the companies supporting them conform to their particular ideology.

      Taft

    26. Re:Why .NET and not Java? by yerfatma · · Score: 1

      Wouldn't it be "System.Windows.Forms"? Or did I miss something?

    27. Re:Why .NET and not Java? by Anonymous Coward · · Score: 1
      One problem, I have to bundle a vm to make it autorun.
      Is this really such a problem if it is on a CD? Anyway, if it really is a problem to bundle a VM you could just compile it with GCJ.
      Your mono stuff looks like it can do this and totally open source.
      So is Kaffe.
    28. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0

      Geez...pretty obvious in hindsight. Thanks guys.

    29. Re:Why .NET and not Java? by Anonymous Coward · · Score: 1, Informative

      And they subsequently removed it again in Slackware 10.0. So, no, Slackware doesn't currently ship with a JVM.

    30. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0

      >Why .NET and not Java

      Always thought that there was a strong OSS slant to most Java houses (for instance the heavy use of linux platforms). One of the tenents of OSS is choice. Isn't having MORE choice better? I for one applaud mono. They've delivered what appears to be a quality product. Let the various implementers of runtimes and platforms duke it out on features and performance and let developers make the appropriate choice.

    31. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0

      > What criteria are you using to proclaim JavaGnome dead?

      8 downloads for Java-Gnome vs. 59 downloads for GTK# prove very well that the java bindings are dead.

      Since GTK# is bundled with Mono and other .NET implementations it is surprising that there are any downloads for gtk#!

    32. Re:Why .NET and not Java? by GlowStars · · Score: 5, Informative

      ...no distribution ships Sun's JVM...

      WRONG! SuSE does.

    33. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0

      "While our System.Windows.Forms implementation is making good progress and will allow user to run graphical .NET SWF based application on Linux, Gtk# is the Mono project main graphical toolkit for cross platform application development and tight Linux integration."

      What is SWF?


      See?

    34. Re:Why .NET and not Java? by dmaxwell · · Score: 1

      The GtkQT stuff is getting pretty good. I run KDE with the GTK2 apps set to use the GtkQT theme. The appearance of the GTK2 apps no longer clashes. I also use the Plastik theme for Mozilla which takes care of that. It so happens that Openoffice is more or less themed as Plastik and makes some use of GTK2. In all, the appearance of my desktop is as "unified" as other OS I've used.

      Upcoming releases of KDE and GNOME will use DBUS so hopefully that will put object interchange problems to bed.

    35. Re:Why .NET and not Java? by iwadasn · · Score: 5, Insightful


      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?

    36. Re:Why .NET and not Java? by sbrown123 · · Score: 0, Troll


      # Multi-language support by design, which lets some complicated languages like C, C++ and Fortran
      to be supported without hacks.


      Multi-language support is never easy work in languages like C, C++, or even Fortran. It is not a design issue as much as system differences. You need really sharp people who know multiple platforms to be able to pull this off. Even simple things like writing a program to generate text files becomes an issue in that different platforms perform newlines differently. Than try to add in i8n support and watch your programmers leave in droves.


      ValueTypes (structs) are not supported in Java, which is a source of major pressure on the GC, an
      issue solved completely by the availability of it
      on .NET


      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?


      Today: Generics are a VM feature, not only a


      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: .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.


      Binding APIs for C# and .NET is trivial, which is why there is a whole industry of bindings
      for the framework: its trivial to call back into the old code base, without using JNI of any kind.


      JNI is crossplatform. The .NET method is not (or atleast I should say I have not seen it actually work yet or found claims that it should). You should also check out CNI which allows Java classes to be treated as C++ classes.


      Some people care about the fact that it has been standardized by ECMA.


      95% of Microsoft's implementation of .NET is not ECMA standard (mostly the language libraries). Besides that this is really a poor argument since language standardization has no actual value. If there were name an instance where this was an issue?

      .NET improves upon the lessons learned from Java and were able to make changes that Sun could not
      (yes, that means that someone else can build something new now, and fix the .NET mistakes ;-)


      There are hordes of open source and commercial virtual machines. The actual number far surpasses .NET implementations. I could write one tommorow and make as many changes as I liked. If you go against the standard you'll find people yelling and screaming at you. Same goes with .NET. Go ahead and fork .NET and see what people say to you.


      Some of us prefer C# the language to Java the language.


      Yep.

    37. Re:Why .NET and not Java? by LDoggg_ · · Score: 1

      GCJ doesn't do awt or swing yet.

      I think gcj is a a really cool project, but there doesn't seem to nearly as much momentum as with the mono stuff.

      Does kaffe have swing implemented? And a windows port?

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
    38. Re:Why .NET and not Java? by chill · · Score: 2, Interesting

      Slackware and SuSE both ship the Sun JVM.

      And Sun's 1.4.2 also has:

      Swing
      Release 1.4.2 includes many bug fixes and these major enhancements:

      * The Microsoft Windows XP look and feel. If you are using the system look and feel on the Windows XP platform, Swing components now match the platform.

      * The GTK+ look and feel. You can now customize your look and feel to a particular theme.

      Which means the look/feel argument for .NET is moot.

      -Charles

      --
      Learning HOW to think is more important than learning WHAT to think.
    39. Re:Why .NET and not Java? by sw155kn1f3 · · Score: 1

      First of all, well done Miguel, the amount of work you did is just amazing.
      What's really interesting - will there be bindings for perl modules for instance, like ActiveState's Perl.NET (thay can convert existing CPAN modules to .net classess using embedded perl interpreter (I don't really know how it works, but it seems to be so)).
      Is there any chance to get CPAN functionality (no one ever can beat CPAN in terms of module availability). That would be great. Thousands of ready components.
      How do you think - is it ever mossible (with Parrot or maybe embedded perl interpreter) in mono?

      --
      - Arwen, I'm your father, Agent Smith.
      - Well, you're just Smith, but my father is Aerosmith!
    40. Re:Why .NET and not Java? by mingot · · Score: 3, Insightful

      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?

      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: .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.

      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 .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.

    41. Re:Why .NET and not Java? by dragmorp · · Score: 2, Insightful

      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).

    42. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0
      You shouldnt use them [ValueTypes] for straight .NET development. Its up there with continueing to use pointers
      Um...no.
      I actually wrote one of the first hands-on whitepapers about performance coding in .NET, and I can assure you that ValueTypes are a smart move.

      First of all, to wave the OO sword blindly is to assume that Objects are the best solution to all problems. They're not. They carry a substantial overhead, which is *sometimes* worthwhile. There are plenty of instances in which it's not...and with Java you're out in the cold. Stack-allocating a VT in critical code gives a tremendous performance boost WITH NO SAFETY PENALTY.

      That's the second issue. To conflate pointers with ValueTypes is silly. There are legitimate arguments to be made against pointers, on the grounds of language safety. Not so with ValueTypes. They have a strict subset of the expressive language power of Objects, meaning there is no way to shoot yourself in the foot using them. The only downside is to make sure that you're not treating them like objects...if you make the wrong choice, your performance suffers even worse.

      ValueTypes are a useful tool that is merely annoying if used badly, but highly beneficial if used well. Giving developers a useful tool with no drawbacks is always a good idea.

    43. Re:Why .NET and not Java? by cakoose · · Score: 2, Interesting
      • ValueTypes (structs) are not supported in Java, which is a source of major pressure on the GC, an issue solved completely by the availability of it on .NET

      Since you know something about JIT compilation and GC, I'd like to ask you about the actual benefit of value types. At first I thought they were great but now I'm not so sure. There appears to be a couple ways to solve the GC and performance issues without creating a user-visible partition of the type hierarchy (and the potentially error-inducing difference between copying references vs. copying values).

      Escape analysis can be used to figure out when an object stays within the bounds of a single thread's stack. That way, many objects can be allocated on the stack automatically.

      Also, if the compiler can detect that a class is immutable, then the it would be free to copy instances around when they're sufficiently small (instead of passing a pointer).

      Those two optimizations seem to be feasible, though the first probably requires intra-procedural analysis to perform well. Are there benefits to value types that these two optimizations don't nullify?

      On the topic of Generics, the CLR implementation has a lot of advantages over the Java implementation (I especially like the runtime specialization for value types). However, currently Java has the convenient notion of covariance and contravariance of type parameters (though they chose really, really bloated syntax). This is one of those features that I expect will make it into the CLR pretty soon (or maybe it'll stop at the langauge level) because MS seems to have no problem adding features, which, as a side benefit, also pushed Sun to start adding stuff!

    44. Re:Why .NET and not Java? by theshowmecanuck · · Score: 1
      Netbeans and Eclipse like has been said.

      Netbeans prior to version 3.6 was a bit of an 'iffy' thing for me, and I preferred Eclipse. However since 3.6, I have switched back to preferring Netbeans. Mainly because it has a lot of stuff already built in to it and configured. E.g. If I want to build jsp pages, they have a tomcat server built in, and I just need to click on the run button and it runs (of course you need to set up your source code tree in a web app structure, but it will do that for you too). Eclipse required me to fart around configuring the stuff myself. But, it is pretty good too once you get it set up. However, I am at the point where I just want to be able to use the tool that I get, and not have to spend as much time configuring it as using it. Netbeans is also set to come out with version 4, and you can use the base structure that it is built on (the platform) as the base for your own application.

      That's my two cents anyway. Both Netbeans and Eclipse are good... and are free. :-)

      --
      -- I ignore anonymous replies to my comments and postings.
    45. Re:Why .NET and not Java? by mitchskin · · Score: 1
      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?


      One nice thing about value types in .NET is that they can be allocated on the stack; this does eliminate some pressure on the GC. Most garbage comes from short-lived objects, which are good candidates for stack allocation. Value types are especially used in the drawing APIs, becuase if you have GC pauses while you're redrawing the UI it will look slow to the user.

      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: .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.


      Yes, they will exist in Java once 1.5 is released. However, they are implemented differently in Java and in .NET. The .NET version of generics includes support in the VM itself; this means that if you instantiate a generic type with a basic type (e.g., an ArrayList of int, in Java terms) in .NET you get unboxed types (actual ints) and in Java you get boxed types (Integers). This adds a lot of indirection, which has performance implications


      It's also nice to be able to introspect on generic types and get the answers that you would expect, given your code.

    46. Re:Why .NET and not Java? by Pxtl · · Score: 2, Interesting

      I think the problem people don't realise is that "Object" in modern languages means something different from "Object" in C++. In C++ an object was just a struct with extra optional features like privacy, inheritence, etc. In Python, .NET and Java, an object is part of the garbage collector.

      For example, in Python (the only interpreter I know under-the-hood), a simple int has to deal with refcounting, next and previous objects in the garbage collection chain, and a host of other issues because it is an object.

      Am I understanding this right: In the context of these newer languages, the feature that is desired is the ability to have local, generic structures rather than full blown "objects" to avoid all this overhead. So that a struct is just a shorthand collection of a few primitives?

    47. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0

      Is this the same SuSE/Novell that is the main force behind Mono? When push comes to shove, which VM do you think gets the boot? I think I'll hold of on starting any major projects for SuSE/Java just a bit.

    48. Re:Why .NET and not Java? by JPS · · Score: 1

      Just curious and not flamebait: What about security ? Don't you think the Java VM is able to control what the java bytecode is doing much more precisely than what the .NET VM can ? Isn't the Java bytecode much more structured than the .NET one ? (And isn't that actually one of the reason java bytecode can be produced almost only from Java ?)

      Quite frankly, I am fairly dubious regarding the security of the bytecode produced by a C program :)

    49. Re:Why .NET and not Java? by mitchskin · · Score: 1

      Chris Brumme at microsoft has some interesting discussion of this stuff in his blog. The post dealing with proxying talks about why value types are baked into the class hierarchy. For example, being able to remote a value type (to another machine, for example) by copying it can in some situations be a big performance win over having to forward method calls on the object back to the machine where it lives.

    50. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0

      Don't be cheap bastard, buy some memory, it's cheap

    51. Re:Why .NET and not Java? by Sunspire · · Score: 4, Insightful

      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.

      The big difference is that .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!

      Where are the C# generics?

      In Mono.

      --
      It's like deja vu all over again.
    52. Re:Why .NET and not Java? by sbrown123 · · Score: 0, Flamebait


      Value types are especially used in the drawing APIs, becuase if you have GC pauses while you're redrawing the UI it will look slow to the user.


      Most API's in both Java and .NET wrap native code that takes care of most hardware and memory intensive operations such as guis. How many C# coders you think use MFC or xlib/gtk/qt functions to create windows? For short lived objects where there is no API its best to reuse objects rather than create new ones since in both languages the allocation process hits performance much worse than the deallocation process.


      The .NET version of generics includes support in the VM itself; this means that if you instantiate a generic type with a basic type (e.g., an ArrayList of int, in Java terms) in .NET you get unboxed types (actual ints) and in Java you get boxed types (Integers). This adds a lot of indirection, which has performance implications


      Java 1.5 (now at beta 2) generics are a part of the VM. It also supports auto unboxing like .NET.

    53. Re:Why .NET and not Java? by sbrown123 · · Score: 1, Troll


      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.


      Give an example of where this is needed.

      Also note that structs can be created, manipulated, and destroyed with Java with JNI and CNI.


      In .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.


      Java 1.5 has auto unboxing. Same thing .NET has. This was added on top of JSR-14. You are probably looking at the original generics design for Java 1.5 on googled pages. Its been updated.

    54. Re:Why .NET and not Java? by Armchair+Dissident · · Score: 5, Informative

      I now have to use C# at work as our company has decided that this is what Microsoft's future is invested in. I've had a love-hate relationship with it, and my opinion of .NET is possibly clouded by my use of C#, rather than a criticism of .NET, but anyway:

      • Multi-language support by design is a hack. It's not real. C++, for example is not C++ as I, as a C/C++ hack, know it. It's a thing that is something like, but not quite C++.
      • structs as ValueTypes are a pain in the arse. They have the same syntactic semantics as classes but have no similarities. Because of this
        flibble foo = new flibble();
        flibble bar = new flibble();

        foo==bar"
        means two completely different things depending upon whether flibble is a struct or a class. Which has given me endless problems with DateTime.
      • Generics are not yet a standard feature of of .NET CLR. This is the reason given by Microsoft for not including generics as part of C#.
      • EMCA standardisation is a joke if the libraries can be butchered. The language is the least of the problems when portability is concerned. The precise way in which the libraries work and interoperate is the big problem.
      • .NET - as far as I can see - was simply a way of touting a "write once, run anywhere" platform, without actually proving the case. C# takes some things out of Java, and some out of C++, but never asks the question "why are these here". Operator overloads without templates, and without a good distinction between references are pointers spring to mind. (what does 'foo == bar' do?)
      • Some prefer C#, but I can't see why...
      Sorry Miguel. Mono is a worthy project, and I have it running on OS/X - it's impressive from that point. But as .NET stands, and especially C#, Microsoft got it hideously wrong.
      --

      The ways of gods are mysteriously indistinguishable from chance.
    55. Re:Why .NET and not Java? by haystd · · Score: 1

      There are hordes of open source and commercial virtual machines.

      Are there any non-commercial ones that support Swing? Don't most of the non-commercial ones use the Boehm-Demers-Weiser conservative garbage collector, which isn't nearly as advanced as the one Sun uses? It's just my impression that outside of research and a few niche markets that the open-source java virtual machines are mostly non existant. I have nothing against Java, I just haven't seen many non-commercial alternatives that are as capable as Mono.

    56. Re:Why .NET and not Java? by mingot · · Score: 2, Interesting

      Wow, you ARE clueless. Are you having the same conversation as anyone else here?

      Most API's in both Java and .NET wrap native code that takes care of most hardware and memory intensive operations such as guis.

      Which is not the point. These operations still take up memory in your address space that is managed by the garbage collector. And since a paint routine is not a usually a single line the chance that the GC could decide to collect in the middle exists.

      For short lived objects where there is no API its best to reuse objects rather than create new ones since in both languages the allocation process hits performance much worse than the deallocation process.

      I can't speak for Java, but for CLR apps you are dead wrong. Allocations are made linearly from a contiguous chunk of memory (managed heap) that the GC holds. You ask for MyClass and it gives you the next availible slot of memory in it's heap, and updates the startpoint to initial + sizeof(MyClass). Hell, its faster than a C runtime call to malloc because it doesn't have to go sniffing around for a large enough block.

      The perf hit comes when it's time to deallocate. Remember, though that deallocations are non-deterministic and happen when the GC needs more memory. So although you will not see the performance hit when an object goes out of scope or when you call it's finalize method you still don't have a perf hit. Only when the GC cleans house. At this point (which should still be considered deallocation, even though it's usually an allocation that prompts the event) things slow down. All object trees have to be walked and those that are unreachable are collected and the managed heap compacted.

      What value types do is bypass the garbage collection. Never adding items to it. Making it so that the collection phase does not need to happen nealy as often. They are also faster to allocate and take NO TIME to deallocate.

      Not a clue on how the Java GC works, so instead of making assumptions I'll just leave it at that.

      Java 1.5 (now at beta 2) generics are a part of the VM. It also supports auto unboxing like .NET.

      *SIGH*. No, they are part of the COMPILER. Which generates a load of shit bytecode with tons of typecasts that ARE bad for performance. See, the VM RUNS the bytecode. The Compiler MAKES the bytecode. In .NET it is a change to the compiler AND the VM. The VM knows what they are. It really does hold the collection of objects as the native type. It is NOT ignorant of the fact that is dealing with a colletion of said native type, as the Java VM IS.

    57. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0

      You are the 4th persion in this thread to point that out!

      You win a rotting pony.

      Thanks for playing Beat Off to a Dead Horse.

    58. Re:Why .NET and not Java? by mingot · · Score: 3, Informative

      Give an example of where this is needed.

      Um, anywhere that a method gets called continuously that has a large number small local variables (int, double, etc) that are used in calculations. My choices are to either pass in a re-usable object (which sucks when you have a method with 10+ local doubles) or to make the thing class level (if the method happens to be in the calling class) or to stash it in some static class that both of my classes now need to know how to interact with. Pretty much every option sucks, save defining the thing where you need it. Hell, if I was programming Java performance would have to suffer and I would not think twice about it (unless I *had* to) simply to avoid the maintenance headeaches of the alternatives.

      Also note that structs can be created, manipulated, and destroyed with Java with JNI and CNI.

      The entire point of using structs in .NET is performance and your solution is to wrap them with JNI which has its own overhead? Maybe you're still stuck on the idea that the only reason they exist is to gived pinned memory which can be used to interoperate with older C API calls. False. If that were the case NONE of the native types would be value. The value type would be something esoteric that was only dragged out when you needed to P/Invoke.

      Java 1.5 has auto unboxing. Same thing .NET has. This was added on top of JSR-14. You are probably looking at the original generics design for Java 1.5 on googled pages. Its been updated.

      It's quite possible that my general ignorance about most things Java is showing. I'll dig into this and see how it compares to the (admitadly date) materials I have read.

    59. Re:Why .NET and not Java? by iwadasn · · Score: 3, Insightful

      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.

    60. Re:Why .NET and not Java? by Darren+Winsper · · Score: 1

      Checked exceptions are a funny thing, they're a help and also a hinderance. The amount of times I've written "catch (SomeSillyException) { /* Won't happen */ }" is a stupidly large number.

    61. Re:Why .NET and not Java? by cakoose · · Score: 1
      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.

      Give an example of where this is needed.

      If you're using a complex number class and doing a lot of computation on them. You could convert your code to modify values in place, but it's better to have this optimization performed automatically.

      Also note that structs can be created, manipulated, and destroyed with Java with JNI and CNI.

      That is clearly not an ideal way to program. Don't tell me you disagree.

      Note that I don't think value types are useful. They make for confusing code because of the difference between value copying and reference copying semantics and the optimizations can be performed automatically by a compiler anyway. It's just that you don't seem to understand what the parent poster was talking about.

      In .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.
      Java 1.5 has auto unboxing. Same thing .NET has. This was added on top of JSR-14. You are probably looking at the original generics design for Java 1.5 on googled pages. Its been updated.

      Again, you have no idea what you're talking about. In Java, if you do ArrayList<int>, you'll create an collection that maintains references to individual java.lang.Integer objects. With CLR generics, it'll work a little more like C++ and you'll be using an array of 'int' value types. This is much, much, faster. It's also probably more memory efficient, even taking into consideration the replication of code. The unnecessary typecasting also slows things down a lot.

    62. Re:Why .NET and not Java? by spideyct · · Score: 1

      I am admittedly ignorant of the latest Java.

      I do not understand how Java has the "same thing .NET has" with generics, if Java does not have value types? The original point was that the .NET implementation of generics is in the runtime, not the language/compiler. It is able to take advantage of value types to avoid boxing/casting when unnecessary.

      So, does Java 1.5 now have value types too, to enable the same generics support as .NET?

    63. Re:Why .NET and not Java? by mattgreen · · Score: 1

      Mono is just a choice. You are free to choose Java to develop on. Isn't the OSS world all about choice? No one is 'standardizing' anything. If you dislike .NET immensely, then continue to develop with Java. No one is holding a gun to your head.

      The checked exceptions issue has been discussed at length on several blogs, I'll let you investigate that. You failed to address one of the most important points: Java GUIs typically try to imitate their host OS in terms of GUI, rather than allowing the host to do the widget rendering. Yes, there is *WT, but last I heard the Java pundits were crying foul over eclipse using it. Eclipse, the baby of the Java community, and they complain about it not using the 'more elegant' Swing. No one gives a damn if its more elegant if it doesn't even fit with the rest of the user's desktop.

    64. Re:Why .NET and not Java? by sploxx · · Score: 1

      Hi!
      A quote from you:

      Multi-language support by design, which lets some complicated languages like C, C++ and Fortran


      So it is possible to run C++ (not C#) on Mono?
      Please tell me about it, then I'm VERY interested :)
      Anyway, your work looks nice!

    65. Re:Why .NET and not Java? by sbrown123 · · Score: 0, Troll


      My choices are to either pass in a re-usable object (which sucks when you have a method with 10+ local doubles)


      How about you just create a class with 10 double instance variables? This way it would look (and act) pretty much like your struct. Just a thought. When I moved from C to C++ I stopped using structs for that reason.


      wrap them with JNI which has its own overhead?


      Overhead?

      Oh the horror. Are you trying to say that C# treats structs outside the virtual machine or something and it thus can create them or access them faster than C# classes? Please elaborate.

    66. Re:Why .NET and not Java? by cakoose · · Score: 1
      For example, being able to remote a value type (to another machine, for example) by copying it can in some situations be a big performance win over having to forward method calls on the object back to the machine where it lives.

      The remoting optimization relies fundamentally on the immutability of an object. For example, copying immutable string objects is just fine. Structs, instead of corresponding directly to immutability, 'fake' it by enforcing value copying semantics instead, which goes against the way the rest of the language works.

      Even from the performance perspective, structs are unnecessary. A combination of escape analysis, immutability analysis/notation and use of the 'final' keyword gives the compiler enough information to perform all the optimization automatically without compromising uniformity.

      What's worse is that in C# they look just like regular classes, so it's harder to look at a chunk of code and figure out what it does.

    67. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0
      Yes, it's unfortunate, but at the time the mono project started, those statements were true and were good justification.

      Actually, if I'm not mistaken WRT Mono timeline, these weren't very strong arguments even back then (early/mid-2001). Starting with JDK 1.3, Java has been "fast enough" (1.2 was an unfortunate step backwards; 1.0.2 was the fastest for longest, 1.1 wasn't much worse... but 1.2 was the dog). But of course, there has still been some more progress since then, and will be esp. with regards to separate JVMs sharing system classes (specifically JIT'ed versions of them).

      I agree in that C# is one of the Best Things to happen to developers (and Java!); competition has brushed up JDK 1.5 much much more, and it got some really useful (albeit syntax sugarish) features mostly due to C# pressure (enums, sharing static consts, foreach loops, auto-boxing, metadata as 1st class construct).

    68. Re:Why .NET and not Java? by cakoose · · Score: 1
      What about security ? Don't you think the Java VM is able to control what the java bytecode is doing much more precisely than what the .NET VM can ? Isn't the Java bytecode much more structured than the .NET one ?

      Wow...there seems to be some major confusion here. The CLR (.NET) bytecode is just fine. It's very similar to the JVM bytecode.

      What might be causing confusion is that the CLR bytecode has some 'unsafe' instructions that allow a program to do, well, unsafe stuff. However, the instructions that allow this are NOT necessary to write programs. It is also very easy to tell your VM not to allow the execution of unsafe instructions.

      The 'safe' subset of the CLR's instruction set is just as capable as the JVM's entire instruction set. The unsafe instructions were probably added to allow for efficient compilation of C++ code. They also let you do things in C# that you'd normally need to use JNI if you were using Java.

      (And isn't that actually one of the reason java bytecode can be produced almost only from Java ?)

      I don't think there's any instruction set that is so bizarre that only certain languages is capable of emitting it. The Mono C# compiler is written in C#. You could even emit unsafe CLR instructions from within C#.

      Quite frankly, I am fairly dubious regarding the security of the bytecode produced by a C program :)

      Security isn't enforced by the program that generates the bytecode (which would be a bad idea). It's enforced by the VM. I'm pretty sure that the MS VM, the Mono VM and the JVM are all written primarily in C or C++.

    69. Re:Why .NET and not Java? by lubricated · · Score: 1

      nice attitude, no wonder everyone hates java apps.

      --
      It has been statistically shown that helmets increase the risk of head injury.
    70. Re:Why .NET and not Java? by alext · · Score: 1

      But those statements would equally justify doing an open-source JVM.

      But then that project already had a leader didn't it?

    71. Re:Why .NET and not Java? by alext · · Score: 1

      Good question.

      In 5 out of 5 big time SuSE customers I've worked with, SuSE is there to run Java applications.

      But maybe you have a friend who is planning to experiment with Mono on his SuSE box sometime?

      Anyway, hope that helps.

    72. Re:Why .NET and not Java? by alext · · Score: 1

      Are the "provided libaries" the ones from MS or the ones you're proposing that we write?

      Either way, I see no Big Thing yet, just a Big If.

    73. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0

      Mono uses the same garbage collector.

    74. Re:Why .NET and not Java? by alext · · Score: 1

      Java GUIs typically try to imitate their host OS in terms of GUI

      Like Micosoft Office did, I seem to remember. And in fact like Dotnet is doing - although it can reuse ActiveX controls, the core set is a rewrite.

    75. Re:Why .NET and not Java? by mitchskin · · Score: 1
      The remoting optimization relies fundamentally on the immutability of an object.

      Not exactly; value types are mutable types that can be marshaled by copying them. By using a value type, the programmer is explicitly telling the runtime that it's okay if an object gets out of sync once it's been passed to or returned from a function (for a remoted object, that it's okay if the local and remote copies differ). Since remote value types are mutable, I don't see what you mean by the above quoted statement.
      A combination of escape analysis, immutability analysis/notation and use of the 'final' keyword gives the compiler enough information to perform all the optimization automatically without compromising uniformity.

      Well, I've read in several places that best practice in Java is not to use final. If even one of the methods of a class is not final, the JIT will be unable to prove that the run time type is immutable. That's a pretty strong limit on the applicability of the approach you're talking about.

      In addition, there are legitimate situations where it would be nice to have mutable types on the stack.
    76. Re:Why .NET and not Java? by a_karbon_devel_005 · · Score: 1

      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?

      Structs in C# don't have anything to do with backwards compability really, iirc. The fundamental difference in C# is that classes are REFERENCE types and structs are VALUE types, as Miguel suggests. Since you don't seem to understand that, I'll explain:

      When you pass a class to a function in C#, it's passed by reference.
      When you pass a struct to a function in C#, it's passed by value.

      This is what he's referring to, and if you don't understand the uses involved there, I can't help you.

    77. Re:Why .NET and not Java? by TheRaven64 · · Score: 1
      I do wish people would stop bundling look and feel together. They are entirely different concepts. Java apps will look like native apps, but they won't feel like native apps unless they include platform specific UI code. A Mac app does feel like a Windows app, and giving a Windows app an Aqua theme does not change that. KDE apps do not even feel the same as GNOME apps, and so giving them the same look is confusing as hell for the end user because you remove a visual clue that they are going to behave differently.

      When developing Java code people should either:

      1. Use the Java (metal) look and feel, so that users will get a subconscious visual clue that the app will not behave like other apps on their desktop (and adapt accordingly), or
      2. Write native UI code for each platform you target.
      Ideally, they should do both, defaulting to native UI code where the platform is recognised or a metal UI where it is not. Exactly the same is true of .NET. Use Windows Forms for your Windows UI, GTK# for your GNOME UI (is there a Qt# to use for KDE UIs?) and Cocoa# (if such a thing exists) for OS X UIs.

      Apologies to the parent poster. This rant was not entirely directed at you.

      --
      I am TheRaven on Soylent News
    78. Re:Why .NET and not Java? by multriha · · Score: 1

      Checked exceptions are vital to writing reliable code.

      Those "catch (SomeSillyException) { /* Won't happen */ }" lines you're running are places in your code where something unexpected is happening and you are ignoring it. 9 times out of 10 is this a bug or security problem.

    79. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0

      "NET - as far as I can see - was simply a way of touting a "write once, run anywhere" platform, without actually proving the case."

      Hey, that's something they definitely stole from Java - claiming cross-platform capability without proving it.

    80. Re:Why .NET and not Java? by jacksonh · · Score: 1

      You have achieved the highest level of wrongness I have seen in a slashdot post in a very long time. Congratulations! Kudos to the people that marked this as insightful.

    81. Re:Why .NET and not Java? by mingot · · Score: 1

      How about you just create a class with 10 double instance variables? This way it would look (and act) pretty much like your struct. Just a thought. When I moved from C to C++ I stopped using structs for that reason.

      Or I could just write it in GWBASIC/BASICA if I'm willing to go that far to turn my code into shit. I'd really rather just keep my local variables local, thank you.

      Oh the horror. Are you trying to say that C# treats structs outside the virtual machine or something and it thus can create them or access them faster than C# classes? Please elaborate.

      They are within the VM, but the garbage collector does not allocate them nor does it deallocate them. You see, reference types are allocated on the threads stack. In addition to this reduced pressure on the GC value types are quicker to manipulate because they do not require a pointer dereference, and as an added bonus you can create them all day long and ever force a GC collection. These are all very simple and understood concepts, really. Pick up any halfway decent C (lack of # intentional) and it'll explain the rest.

    82. Re:Why .NET and not Java? by cakoose · · Score: 1

      The remoting optimization relies fundamentally on the immutability of an object.

      Not exactly; value types are mutable types that can be marshaled by copying them. By using a value type, the programmer is explicitly telling the runtime that it's okay if an object gets out of sync once it's been passed to or returned from a function (for a remoted object, that it's okay if the local and remote copies differ). Since remote value types are mutable, I don't see what you mean by the above quoted statement.

      Sorry, my mistake. The optimization depends fundamentally on copyability and immutability implies copyability. What I meant was that value types are essentially a compiler hint and don't help express program logic or design. Though compiler hints aren't necessarily bad things, value types significantly convolute the semantics when a good JIT compiler can figure most of this stuff out automatically.

      For a mutable object, I think the to-copy-or-not-to-copy decision should be made on a case-by-case basis (instead of made at the class level). The class writer has less information about the appropriateness of a copy operation than the user of the class does.

      A combination of escape analysis, immutability analysis/notation and use of the 'final' keyword gives the compiler enough information to perform all the optimization automatically without compromising uniformity.

      Well, I've read in several places that best practice in Java is not to use final.

      I've heard two arguments against using 'final':

      • Prematurely optimizing with 'final' can hurt your design. This doesn't seem to make sense when you think about the development process. Even if I mark a method final early on, if I see the need to override it, I'll take off the 'final'. Removing the 'final' keyword doesn't break anything.
      • There no performance benefit because the JIT compiler can infer this. This is true in a totally static environment. However, in the face of dynamic class loading it's a lot harder. You can't predict what types of classes you're going to be loading later on and so if the JIT does some optimistic optimization, it might have to redo a LOT of work.

      As a side note, the C# way, which I prefer, is that virtual methods must be explicitly marked as such. The argument for this is that you're making lots of promises to subclassers when you create a virtual method and you should be forced to think about it.

      If even one of the methods of a class is not final, the JIT will be unable to prove that the run time type is immutable. That's a pretty strong limit on the applicability of the approach you're talking about.

      If you want to disallow derivation from your class, you can put the 'final' modifier before the 'class' keyword. You don't have to put it on every method. Also, I'm not saying that Java is ideal. I don't think it's that hard to infer immutability in most cases but I, for one, would not mind annotating my classes with the 'immutable' modifier (since it describes the design/logic of a program).

      In addition, there are legitimate situations where it would be nice to have mutable types on the stack.

      I don't see where it would be "nice" from a semantics point-of-view since you shouldn't be able to tell the difference. If it's for performance, then you don't have to worry. There are two optimizations here:

      • Making copies of immutable objects when convenient. This can be performed automatically by the compiler on immutable objects when it thinks that the cost of the copy will be offset by the quicker access (because you don't need to follow a pointer anymore).
      • Allocating objects on the
    83. Re:Why .NET and not Java? by mingot · · Score: 1

      How about you just create a class with 10 double instance variables?

      Oh, and BTW that WOULD be a class. The doubles are the structs here, not the entire class. The doubles.

    84. Re:Why .NET and not Java? by JamieF · · Score: 1

      It's very rare that a checked exception can never happen, in my experience. It's not that hard to do this if you really think it'll never happen, and it's safer:

      } catch (UnexpectedCheckedException uce) { // Should never happen but just in case...
      throw new RuntimeException("Wow, didn't expect this", uce); // handy new 1.4 constructor
      }

    85. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0

      Kaffe is a vm. It is up to GNU Classpath to implement Swing.

    86. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0

      mono doesn't implement Swing either.

    87. Re:Why .NET and not Java? by LDoggg_ · · Score: 1

      Its not for windows.

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
    88. Re:Why .NET and not Java? by LDoggg_ · · Score: 1

      I know. I was thinking about using the gtk# bindings for windows.
      But its a little bit vapor right now. I can't find anyone using SharpDevelop with the windows Mono.
      I'll stick with java for my project for the time being.

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
    89. Re:Why .NET and not Java? by Darren+Winsper · · Score: 1

      There are plenty of times that I've used a private object inside a class in such a way that some of the exceptions it can throw will never occur.

    90. Re:Why .NET and not Java? by fredrik70 · · Score: 1
      With CLR generics, it'll work a little more like C++ and you'll be using an array of 'int' value types. This is much, much, faster

      Correct me if I'm wrong, but isn't c#'s 'primitives' actual instances of objects (albeit they are passed by value)? If they're just a fancy Integer, why would it be quicker?
      Not that I'm defending Java's implementation of templates really....

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    91. Re:Why .NET and not Java? by fredrik70 · · Score: 1
      When you pass a struct to a function in C#, it's passed by value.

      Yeah, which I'm sure is great whan you have an enormous struct ;-)
      can really all this copying of data that will occur outrun the GB? I suppose it's a nifty idea for smaller structs, but there must be a point somewhere when it's not woth it, or am I just stupid?

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    92. Re:Why .NET and not Java? by DerWulf · · Score: 1

      The last thing I heard about dot.net was from that perl guy that wanted to do perl on it. He said: with .nets bytecode basically all you can do is different flavors of C#

      What do you mean by ValueTypes exactly? Is it really 'structs'? Because we have 'classes', you know. Using those you can even have functions with your data if you are so inclined.

      Some would say that calling native code easily is A Bad Thing. But what do I know? Want to finally get segmentation faults again? No problem with .net.

      generics are good! very good, I mean it.

      --

      ___
      No power in the 'verse can stop me
    93. Re:Why .NET and not Java? by sbrown123 · · Score: 1


      I'd really rather just keep my local variables local, thank you.


      Do you even know what your talking about? Have you ever even written a class? Heres a quick generic oo class:

      class MyClass
      {
      int b;
      int c;
      } // Now a struct equiv:

      struct MyStruct
      {
      int b;
      int c;
      } // Watch how they reference those variables:

      MyClass theClass = new MyClass();
      MyStruct theStruct;

      theClass.b = 3;
      theStruct.b = 3;

      WOW!!! Are you amazed yet?


      They are within the VM, but the garbage collector does not allocate them nor does it deallocate them.


      Nope, you have to do all the garbage collection yourself! Ofcourse I doubt you can optimize the operation as well as todays garbage collectors if your application is of any scale.


      In addition to this reduced pressure on the GC value types are quicker to manipulate because they do not require a pointer dereference, and as an added bonus you can create them all day long and ever force a GC collection.


      Do you really feel the GC needs you relieving its load?

      Your line about not dereferencing struct pointers and creating them all day long is too scary for me. Hopefully whatever program you are writing only runs for a few seconds and you have tons of ram.

    94. Re:Why .NET and not Java? by mingot · · Score: 1

      What sort of drugs are you on, and would you mind sending me some?

    95. Re:Why .NET and not Java? by sbrown123 · · Score: 1


      These operations still take up memory in your address space that is managed by the garbage collector.


      No, the GC does not keep track of such things. If you create a window, the example I gave earlier, the window manager only gives the virtual machine a pointer. The memory allocated for the window is handled by the window manager. In windows this is called a handle (hwnd). When the window needs destroyed a call from the vm tells the window manager to destroy the window. This is pretty basic stuff. You can actually create a program the generates a window and than ends but the window will still remain. Most gui apis wrap these native calls with classes that, when destroyed by the vm manually or automatically (like when the program ends) that a native call to the window manager destroys the window.


      Hell, its faster than a C runtime call to malloc because it doesn't have to go sniffing around for a large enough block.


      I guess Im just an old C nut but I can tell you your dead wrong here. You cannot instantiate a class in a vm faster than I can malloc memory in C.


      They are also faster to allocate and take NO TIME to deallocate.


      I was talking of alocating and deallocating classes. In both languages this is slower than doing a malloc or free in C. To get around this though with Java and .NET its best to just create a group of classes and reuse them. So, in practice you take one slight performance hit in the creation of the classes but do not have the collector hit for collection since you are not deallocating the classes.


      Which generates a load of shit bytecode with tons of typecasts that ARE bad for performance.


      I have not read this. Do you have a link? So are you saying that if I reverse engineer bytecode that used generics that the generics would have been replaced by type casts? Im really curios where you aquired this information.

    96. Re:Why .NET and not Java? by cakoose · · Score: 1
      Correct me if I'm wrong, but isn't c#'s 'primitives' actual instances of objects (albeit they are passed by value)? If they're just a fancy Integer, why would it be quicker?

      The very fact that they're passed by value speeds things up. C#, like Java, has two representations for each primitive. However, in C#, they go by the same name. They are automatically converted between 'int' and 'Integer' based on context (the conversion to/from the full object is called boxing/unboxing). Java has automatic boxing/unboxing now, but there are still two distinct and not-really-related types for each primitive. In C# it's more unified.

      If the ArrayList<T> generic container uses arrays in its implementation, then ArrayList<int> will create a version of ArrayList<T> that has an 'int[]' (the unboxed integer). In Java, ArrayList<int> is syntatic sugar for ArrayList<Integer> and the internal representation will be 'Integer[]' (i.e. a array of pointers to integer objects). The Java version is a lot slower.

      Note that this optimization doesn't necessarily depend on the existence of value types. A lot of the performance benefits you get from using value types can be achieved with a good JIT compiler and maybe some other form of compiler hinting.

    97. Re:Why .NET and not Java? by Anonymous Coward · · Score: 0
      That's wonderful reasoning you have there: feature X is potentially dangerous and thus should be banned entirely without any recourse.

      Blame the programmers who don't spend any time thinking and thus write code incorrectly rather than mindlessly bashing language features.

    98. Re:Why .NET and not Java? by Pieroxy · · Score: 1

      They are within the VM, but the garbage collector does not allocate them nor does it deallocate them

      If this is true (I have no clue) it would be pretty stupid. So there would be two options here:

      1. The struct is in the stack entirely. It does not reside in the heap at all. Talk about efficiency for recursive calls! Also that would mean structs cannot be assigned to any object. Well, it means they are not Objects. They're some kind of hybrid type, not assignable... Now I remember this book that said "Never sacrifice good design for performance unless that piece has been undoubtedly identified as a bottleneck that needs to be fixed". Wow! Using an reusable instance would only be a little uglier than that, and much more manageable from the VM standpoint. Built-in ugly feature, talk about an improvement!
      2. The struct is instanciated in the heap and only a reference resides in the stack. Well, it would then be easier to flag the instance with a "TO BE GARBAGED" flag (which all instance have anyways). It would be no overhead to the GC to kill those.

      Anyways, I think the bottom line is that Java will not allow you ugly thing. There are drawbacks. And advantages. For instance, last week we ran into the 4GB limit of our JVM. We just installed a 64 bit JVM, and problem was solved.

      Bottom line: ALL Java programs are 64 bits. That's right, in fact they are n-bit, where n is the number of bits the JVM they run on has.

      C# programs are not.

      So preventing people from writing ugly stuff is not just for portability purposes.

    99. Re:Why .NET and not Java? by KJKHyperion · · Score: 1
      Multi-Language: Please, they're all the same language designed to look like other languages

      Sure, C# and Visual Basic share a lot, but they're the odd ones. See F#, COBOL.NET, Managed Extensions for C++ and the excellent Managed C++ in the works

      Java has multi language support to (Jython). This is not a fundamental reason.

      Java has poor abstractions, and is based too much on the fallacious "less syntax, more library" principle. Java is the C of managed environments. Sure, you can compile anything into it, but that's just because it's Turing-complete. Must be a lot of fun implementing any useful compiler without delegates and value types

      Value Types: Use escape analysis and a better GC. This is a hack so programmers can give hints to a stupid GC.

      Value types aren't garbage-collected at all. And they are important for performance and interoperability. Oh, and the .NET GC does pretty fine, thank you. Whidbey will even let you allocate managed objects on the native heap, and native objects on the managed heap. And you can't do that in C#, this is an uber-geek feature designed for Managed C++, that only further underlines the multi-language and multi-paradigm goal of .NET. Java, in its arrogant engineered "perfection", will never get actually useful stuff like this. Useful how? it gives you a GC heap for free to allocate your own objects on. It lets you use managed objects with the STL, or the excellent Boost. Or use a different GC, like Hans Boehm's, if you don't like .NET's (in fact, the syntax for Managed C++ has been designed with the goal of not conflicting - or even overlapping features - with any of the major C++ frameworks). Without writing a single line of glue code in C

      Generics: Where are the C# generics? The version we're using at work doesn't have them.

      Whidbey (.NET 2.0). Also previewed in Rotor

      Java Generics will arrive first, but be worse off in the beginnnig.

      It doesn't matter, because they are a lie. And Java only got them because .NET did

      C# language: The only even marginally valid claim. However, the lack of checked exceptions

      Microsoft maintains a longeve C++ compiler: they've been there, done that. They never believed in checked exceptions. Nowadays they are mostly agreed with. By all means, look for Herb Sutter's site: like most Microsoft techies with blogs, he gives no-nonsense explanations of all the design choices he's been involved with, and that includes checked exceptions and lack thereof

      --

      Make a difference - use Windows! (open source clone of Windows NT)

    100. Re:Why .NET and not Java? by mingot · · Score: 1

      1. Wrong wrong wrong.

      2. Wrong wrong wrong.

      You're not very clever are you? How about storing class level value type variables along with the class, just not as a reference. This lets those get collected along with the class itself. Block level (local) value types can be placed on the stack where you don't have to collect them.

      Now if you need to assign a value type to a declared type of "Object" (which is a reference type) it DOES get a little uglier. Something called "Boxing" happens. I avoid the ugliness of boxing by not doing it. Pretty simple solution there.

      And exactly how does using the stop the 64 bit version of the CLR from performing? You've made another bad assumption.

      Interesting note. There was an article on slashdot a while back which bemoaned the fact that modern programmers did not have enough of a low level understanding of computing these dayes. I poo poo'd that stating that "knowing a language should be enough". Wow, was I EVER wrong.

    101. Re:Why .NET and not Java? by iwadasn · · Score: 1


      Funny, looks to me like you're comparing current java with microsoft's vapor. Is there an actual reason for doing this?

      If sun claims tha their next version of java will make you breakfast in the morning, can we compare .Net 1.0 against that?

      Delegates are a waste of time, and they nastify the code. There is no (not one) reason to use delegates instead of interfaces. Send in an interface and get all your delegates neatly bundled up into one package. Makes life MUCH easier. Or pass them individually if you feel like a masochist. Basically, it's a solution in search of a problem.

      Value types have some validity, but not a whole lot. If you're convinced that they have value, then put escape analasys into the code, and get value types wherever it's possible to have them, automatically, without confusing the programmer. It's just one more avenue for bugs to creep in when a = b does two totally different things depending on whether a and b are value types. No thank you.

      Here's another example, operator overloading. Operator overloading is a horrible idea in general. Here's a hint, when does if(null == a) throw an exception? When the designer of the a object overrides the == operator incorrectly. WOW, THANKS MICROSOFT!!!! Now it's impossible to use that class without throwing a null pointer exception. How about this, what's the result of (++a)--? Is it the same as (--a)++? Depends on the implementation of the operators, and it can get confusing fast. Operators like that have certain expected properties (+ and - should commute, etc...) and you can get into a lot of trouble if you start messing with them. This is one of the primary problems with C++, in my opinion.

      There's a lot more, but I'll leave it at that for now. Basically, software engineering is ENTIRELY an exercise in managing chaos. You want your tool to be just expressive enough to get the job done, but no more so. An iron fisted programming language will save you so much grief it's almost impossible to put into words. That's why I don't like C#, it's not strict at all. You can do all these "nifty" things that have no purpose, and materially decrease the readability and (in my opinion) quality of the code. Add features that make better programs, don't add features that you think are "neat", that's what microsoft does, and that's why their software mostly sucks.

    102. Re:Why .NET and not Java? by Pieroxy · · Score: 1

      1 wrong, 2 wrong.
      So tell me one thing. You have a bunch of stuff in your struct. How does it get into the stack if you don't store it into the stack or store a reference to it into the stack? That sounds kind of a mystery to me.

      You're not very clever are you?
      Yeah, just one post is probably enough to judge my brain abilities.

      How about storing class level value type variables along with the class, just not as a reference.
      Maybe we are just having a terminology problem here. Class-level variables are called static variables in Java. They are attached to a class rather than to an instance of the class. How does this have anything to do with structs? I don't know a lot about C#, so I might be wrong here.

      Here is how it works in Java:
      a. Primitive types are stored as is. Hence they don't need any garbage collection. They are destroyed when popped from the stack or when an Object holding them is garbaged collected. Is that what you call "value type"?
      b. Non-primitive types are Object subclass (Except for arrays, but still the rest stands). When no more reference are hold to them they are GCed. (Gets more complex than that with circular reference, but not much).
      c. Static variables (class variables as opposed to instance variables) can be garbaged collected as well, when their class get GCed. Classes can get GCed when their ClassLoader gets garbaged collected. I'm not a specialist here, so there might be other conditions to that, but classes (not instances) can also get garbaged collected.

      And exactly how does using the stop the 64 bit version of the CLR from performing?
      That's not even an english sentence. Flame apart, I didn't get it... maybe that's because I'm not very clever ;-)

      There was an article on slashdot a while back which bemoaned the fact that modern programmers did not have enough of a low level understanding of computing these dayes
      This is merely a matter of opinion. The next generation (Or the one after that) will let us know, I'm sure. I've never been too good at predicting future.

    103. Re:Why .NET and not Java? by aztracker1 · · Score: 1

      Umn, AFAIK, you don't need to run mono on windows, except for testing compatability between the runtimes... if you have gtk# installed in windows, you can use the ms runtime, and it should work.. I tested a small gtk# app a while back, and it wasn't so bad.. that was at least 6 months ago though.

      --
      Michael J. Ryan - tracker1.info
    104. Re:Why .NET and not Java? by mingot · · Score: 1

      So tell me one thing. You have a bunch of stuff in your struct. How does it get into the stack if you don't store it into the stack or store a reference to it into the stack? That sounds kind of a mystery to me.

      I never said they don't go into the stack. In fact, I have been saying that's where they (the value/primitive types) do go. The original point was that the GC does not manage the stack and that if you were creating lots and lots of small variables using the stack (thus bypassing the GC in entirety) would put less pressure on the GC. Less pressure on the GC generally leads to fewer collections and better performance.

      You're not very clever are you?

      Yeah, just one post is probably enough to judge my brain abilities.


      I apologize for my general bitchiness, another poster in this thread has worn my patience down.

      Maybe we are just having a terminology problem here. Class-level variables are called static variables in Java. They are attached to a class rather than to an instance of the class. How does this have anything to do with structs? I don't know a lot about C#, so I might be wrong here.

      I think we are. When I say class level I am speaking of variables scoped to the class, which can be static or instance. The proper C# word for them is fields, but I didn't think that was a generic enough term. Guess the term I picked was already taken :/

      a. Primitive types are stored as is. Hence they don't need any garbage collection. They are destroyed when popped from the stack or when an Object holding them is garbaged collected. Is that what you call "value type"?

      Yes, exactly. In C# they are called value types and defined by using the struct keyword as opposed to the class keyword. Lots of the "built in types" are value. Int, Float, Double, etc.

      Non-primitive types are Object subclass (Except for arrays, but still the rest stands). When no more reference are hold to them they are GCed. (Gets more complex than that with circular reference, but not much).

      We refer to these as reference types. Same thing with garbage collection (circular reference not really an issue because a tree starting at root objects is walked, anything that is unreachable is GC'd. Does Java use a similar strategy?)

      Static variables (class variables as opposed to instance variables) can be garbaged collected as well, when their class get GCed. Classes can get GCed when their ClassLoader gets garbaged collected. I'm not a specialist here, so there might be other conditions to that, but classes (not instances) can also get garbaged collected.

      Not really sure how the CLR GC handles statics, guess that's something for me to add to the research list.

    105. Re:Why .NET and not Java? by Pieroxy · · Score: 1

      Allright, got it this time. So it was option 1 (In my original post). There is still one thing I don't understand though, is that how do you box/unbox such a primitive type? Can you cast these structs? I guess not, so when you autobox (Say, you retrieve that struct from a Hashtable of some sort) then you have to assign it to a variable of the exact same struct, right?

      On a side note, short-term objects are really fast to GC - At least in Java. I was on a project where we do serial computations like summing 5 million numbers, computing variances, etc ... and for some reason I was creating a small object (object containing 4 int) and was creating a new instance for every iteration. When I recycled my instance I surprisingly saved very few time (around .2 seconds)

      Anyways, thanks for your time and insight.

    106. Re:Why .NET and not Java? by mingot · · Score: 1

      Can you cast these structs? I guess not, so when you autobox (Say, you retrieve that struct from a Hashtable of some sort) then you have to assign it to a variable of the exact same struct, right?

      Yes, that's true.

      If you wanted to cast it to a different type you would need to do something like the following:

      int y = 5;
      object o = y; // Boxed
      short x = (short)(int)o;

      Definately a crappy solution. Thankfully generics are going to make this issue go away since value/primitive types are going to be stored natively in collections.

    107. Re:Why .NET and not Java? by olau · · Score: 1

      Obviously, you've never ever used a numerics library. Operator overloading does wonders for the readability. Really. Refusing operator overloading because the mechanism can be misused is like refusing to use electric devices because electricity can kill you. The mechanism has been used (and misused like the horrible iostreams) with great success in lots of C++ libraries.

      In practice, the theoretical arguments against operator overloading are unconvincing.

  14. But by Fooby · · Score: 2, Insightful
    Is any besides mono developers user mono yet? The screenshots are pretty but why haven't I seen a single mono framework or C# app come to the linux desktop in any of the major distributions?

    But C# hasn't exactly exploded on the Windows desktop yet either so I suppose it's premature.

    1. Re:But by Anonymous Coward · · Score: 0
      Maybe because they just released version 1.0?

      I think it'll be a bit before Mono is used for the linux desktop.

    2. Re:But by AntiOrganic · · Score: 0, Flamebait

      I use Muine, as do many other Linux users I know.

      How many people do you know on Windows who use C# apps? I bet you can't name one there either.

    3. Re:But by Anonymous Coward · · Score: 0

      Ximain == Novell == Suse => C# apps are coming

    4. Re:But by lscoughlin · · Score: 1

      SharpDevelop, wintin, just to start, and more then a few others.

      Windows users tend not to know though. .net apps come as a .exe, are installed by an installer, and run line native apps.

      --
      Old truckers never die, they just get a new peterbilt
    5. Re:But by Anonymous Coward · · Score: 0

      Personally when i see that an application requires .NET framework 1.1 (23MB) to run i go find an alternative.

    6. Re:But by Simon · · Score: 1
      Well according to the website "Mono is positioned to become the leading choice for development of Linux applications as well as cross platform applications.". huh?!? sorry, but I can't think of a single major Linux project that is using or planning to use Mono. In fact I would say that most projects are staying away from it due to the uncertainy concerning patents and Microsoft. Which is a shame because it looks like great tech, but who wants to take the risk?

      --
      Simon

    7. Re:But by telstar · · Score: 1
      "Is any besides mono developers user mono yet? The screenshots are pretty but why haven't I seen a single mono framework or C# app come to the linux desktop in any of the major distributions?"
      • Go watch 'Field of Dreams'

    8. Re:But by elflord · · Score: 1
      sorry, but I can't think of a single major Linux project that is using or planning to use Mono.

      Being a "major project" implies that it's established, so why would one expect a well-established project to suddenly switch technologies ? But if you count Ximian as a "major Linux project", I would be surprised if they are not planning to make some use of Mono.

      In fact I would say that most projects are staying away from it due to the uncertainy concerning patents and Microsoft

      And I suppose you have a basis for such claims ?

    9. Re:But by Anonymous Coward · · Score: 0

      Go buy OS/2.

    10. Re:But by Anonymous Coward · · Score: 0

      Look at the development patterns of most linux apps. There are many, many extremely popular apps that are 1.0. Look at gaim, it's only at 0.79! Mono has been usable for a while now, but it has yet to take hold.

    11. Re:But by pr0c · · Score: 1

      In my opinion, like java, mono/.net/c# is more of an in house tool.

    12. Re:But by aztracker1 · · Score: 1

      however, that is where *mots* programming occurs... there isn't much as far as applications for the public in .Net of any flavor, but there are quite a few ASP.Net websites, and even more internal applications (web and gui) in C# ...

      --
      Michael J. Ryan - tracker1.info
  15. Try MonoDevelop by Anonymous Coward · · Score: 5, Informative

    For those looking for an IDE, try out MonoDevelop 0.5. It doesn't have a gui builder, but has code-completion(intellisense), class browser, project management, etc... It's a port of Sharpdevelop.

  16. ah, the joys of playing catch-up by jbellis · · Score: 0, Redundant
    ironic that this comes just days after MS announces that whidbey and the next-generation .NET framework hit beta 1.

    I'm cheering for the Mono guys but I don't see how they can avoid being also-rans in the compatibility race.

  17. Shifting ABI's by IGnatius+T+Foobar · · Score: 3, Insightful

    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!
  18. Debate all you want by Stevyn · · Score: 4, Insightful

    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.

    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 .NET as something positive.

    1. Re:Debate all you want by Anonymous Coward · · Score: 0

      > It says that no matter what one company can do to try to make their development platform closed and proprietary

      I don't know where you got this idea. NET is a hellava lot more open than the stuff that preceeded it: Win32, MFC, VB. This was obviously Microsoft's intent all along.

    2. Re:Debate all you want by daijo78 · · Score: 1

      I did some research on .Net last year during my final year at school and I found it to be just brilliant. The exception handling for instance is just great. Wrote a small app connecting itself to a database on an other server. During a demo the network cable had been disconnected and I got an exception I didn't catch but I didn't have to restart the application. Just plug it in and try again and it worked! Another good thing is that since the CLR specification is open alot of research languages has been ported to the platform. The only thing I didn't like was that it was an Windows only platform. No that have changed and of course that's a good thing. .Net is a lot greater then Windows. It's the natural step from Java. I like Java to and it's my number one language at the time but perhaps this will change that i a couple of years.

    3. Re:Debate all you want by rd_syringe · · Score: 1

      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.

      If it's "closed and proprietary," why did Microsoft publish the CLS for any compiler to follow and go to the ECMA to make it all a public standard? If this was all really so closed and mysterious, Mono wouldn't have been able to be created.

      This is the first time I've ever thought of .NET as something positive.

      I think this illustrates a fundamental misunderstanding of .NET here on Slashdot. Most people didn't actually read up on it but instead dismissed it back in 2000 as another Microsoft thing.

    4. Re:Debate all you want by cortana · · Score: 1

      I think this illustrates a fundamental misunderstanding of .NET here on Slashdot. Most people didn't actually read up on it but instead dismissed it back in 2000 as another Microsoft thing.

      Can you blame them? Microsoft itself didn't seem to know exactly what .NET was back then--it was (still is?) impossible to separate the facts from the marketing bullshit.

    5. Re:Debate all you want by Anonymous Coward · · Score: 0

      Micorosft is a Software company. Use .Net and they will sell you Visual Studio to develop with and MS Office(?next verion?) for any platform with the CLR. So even if they lose 10% of OS sales to Linux they increase the customer base for a couple of other products. Moreover, IBM is such a technology whore that the .Net CLR will probably be added to there Language Environment and your services and console apps will run on the mainframe in CICS and IMS before too long. And MS will get a license fee and a per processor/transaction/connection fee. MS sees that the OS is not the be all and end all. It's the software stupid.

    6. Re:Debate all you want by aztracker1 · · Score: 1

      And they can support .Net on their linux products without MS licensing.. they can embed the CLR code into their stored procedures...

      I think this is a pretty nice thing, building it into Database servers like DB2, Oracle, Firebird, MySQL, and Postgre would be a great thing, considering MS's moves with their SQL server...

      --
      Michael J. Ryan - tracker1.info
  19. Go Cross-Platform! by krmt · · Score: 4, Interesting

    I've been looking for a good way to write a crossplatform GUI for an app I'm working on. Java is not a good choice for a variety of reasons, so Mono is looking pretty tempting right now. Since Mozilla-The-Platform hasn't taken off as well as it could, Mono may wind up being the best option for a totally Free Software approach to cross-platform work. On the other hand, wxWidgits is a great toolset as well, and I wouldn't be surprised if they get C# language bindings for the library.

    --

    "I may not have morals, but I have standards."

    1. Re:Go Cross-Platform! by oniony · · Score: 1

      What are the variety of reasons against Java? It's now fast, it's almays been cross platform and has a rich and mature library. Swing is painful but it's a lot more flexible than .NET forms.

      The only reason I can see for .NET over Java is that apps look more native on Windows where most of the money is when it comes to desktop apps. That and Windows shipping with .NET runtime making app downloads a lot smaller than the usual 30mb app+JRE downloads one finds for Java apps.

      --

      Powered by onion juice.

    2. Re:Go Cross-Platform! by Timesprout · · Score: 2, Insightful

      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
    3. Re:Go Cross-Platform! by Anonymous Coward · · Score: 0

      What about WxWidgets ?

      It is a nice cross-platform C++ GUI/Utility package. In addition to GUI classes it has some simple containers, sockets, threads and a few others.

    4. Re:Go Cross-Platform! by Anonymous Coward · · Score: 0

      wxWidgets are 1000% anti MS anything, I wont hold my breath on them doing C# bindings. You can smell theyre shit from the way they have theyre web page worded.

      Theyre clueless tard zealots and why I refuse to support wxWidgets at all, GTK sucks shit. We nees a REAL widget set with REAL backing thats available for ALL.

    5. Re:Go Cross-Platform! by StrawberryFrog · · Score: 1

      Java is not a good choice for a variety of reasons, so Mono is looking pretty tempting right now.

      What's different? Language-wise, there's not a lot of distance between Java and C#.

      --

      My Karma: ran over your Dogma
      StrawberryFrog

    6. Re:Go Cross-Platform! by SCHecklerX · · Score: 1
      I dunno. People have managed to make some good cross-platform GTK apps without the need for mono:
      • xchat
      • gaim
      • gvim
      • ethereal
      all come to mind.
    7. Re:Go Cross-Platform! by Tumbleweed · · Score: 1

      Okay, so, which one is which, again?

    8. Re:Go Cross-Platform! by Tumbleweed · · Score: 1

      Is there no way to use GTK with Java? That'd be a nice cross-platform target. GTK on whatever platform you're running, with all the logic on cross-platform Java. No clue if that's doable, and too lazy to use Google to find out right now. :)

    9. Re:Go Cross-Platform! by 12357bd · · Score: 1

      Short answer: QT.

      --
      What's in a sig?
    10. Re:Go Cross-Platform! by krmt · · Score: 1

      Speed is a big issue. Every app I've used that uses Swing is slow as hell and AWT is not nearly rich enough. The Eclipse toolkit is an interesting option though, but I haven't investigated it.

      Another speed related issue is loading time for the JRE. They're not installed everywhere and even if they are, they're very rarely running already in my experience. Mozilla is a better choice for this particular project because it is deployed as a standard throughout my university, so it is guaranteed to be installed and almost guaranteed to already be loaded.

      Finally, and most importantly, is the Free Software issue. The Java Trap that RMS wrote about is very much on my mind, and the fact that mono with Gtk bindings is 100% Free Software is very appealing. Granted, there are very likely java bindings for Gtk, and along with gcj this could be appealing, but afaik gcj doesn't compile windows or mac executables where mono does. I refuse to be trapped by a proprietary platform, and java just simply isn't there yet.

      Oh, and do you really believe that the gtk is an immature GUI platform with serious shortcomings? Especially when compared with Java's native offerings?

      --

      "I may not have morals, but I have standards."

    11. Re:Go Cross-Platform! by Anonymous Coward · · Score: 0


      I should probably someone who uses the phrase "clueless tard zealots" to be a troll, but..

      there is a wx.Net project already.

    12. Re:Go Cross-Platform! by Anonymous Coward · · Score: 0

      Oh, and do you really believe that the gtk is an immature GUI platform with serious shortcomings?

      In linux, no. Everywhere else, especially windows, hell yes it's immature and has serious shortcomings. I'd even take swing over gtk in windows, and that's really saying something!

    13. Re:Go Cross-Platform! by Joe+Tie. · · Score: 2, Informative

      You might try the wxwidgits bindings for python. I've been using it for the past six months on a somewhat large multiplatform project, and have been nothing but happy with it so far. It's snappy, gives a native look and feel, and has a fairly nice gui builder with boa-constructor.

      --
      Everything will be taken away from you.
    14. Re:Go Cross-Platform! by Joe+Tie. · · Score: 1

      but afaik gcj doesn't compile windows or mac executables where mono does.

      I don't know about mac, but a quick google gave a result for building gcj for windows.

      --
      Everything will be taken away from you.
    15. Re:Go Cross-Platform! by Anonymous Coward · · Score: 0

      GCJ is really cool ,and 3.4 can even create an executable for Eclipse. Unfortunately, the Cygwin port isn't all that great. I was never able to get the GCJ stuff to work correctly with GCC 3.4, and judging from the fact that the version in Cygwin setup is still 3.3.1, I don't think I'm the only one.

    16. Re:Go Cross-Platform! by Jesus_666 · · Score: 2, Informative

      Or, if you don't want to make your Win users install the proprietary QT Windows trial, you could try FLTK.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    17. Re:Go Cross-Platform! by Anonymous Coward · · Score: 0

      Mono has a real shot at introducing Linux to the the server closet/room of your company because of the .Net remoting capabilities. Even if it fails to implement the Windows.Forms assembly it would be possible to have your Business logic/Data Layer of the app implemented on a Linux system using System.Remoting and being the work horse of the app or just providing data support.

    18. Re:Go Cross-Platform! by Anonymous Coward · · Score: 0

      There are wxWidgets bindings for C#/.NET - see wx.NET.

      Also, check out the sexy screenshots.

      --
      Bryan Bulten
      wx.NET developer

    19. Re:Go Cross-Platform! by krmt · · Score: 1

      Awesome recommendation. I'd just stumbled upon wxpython earlier today, after I'd posted my comments. It looks like easily the best option for what I need. I'm glad to hear a positive recommendation on it too. Thank you.

      --

      "I may not have morals, but I have standards."

  20. whoops, meant to post as top-level comment by jbellis · · Score: 1, Informative

    oops.

  21. Re:Some please explain to me by Anonymous Coward · · Score: 0

    I was thinking about using Java until you posted. I will now use Mono. Thank you for helping me decide what platform to use.

  22. Re:Manager Speak by vijaya_chandra · · Score: 0, Offtopic

    What else would you expect!?!

    The programmers would be ( and should be ) busy coding

  23. Dashboard by Mr_Silver · · Score: 4, Interesting
    After viewing the screenshots I was really impressed with Dashboard (especially if it works).

    Given that my main OS is Windows (sorry), is there anything like this for it?

    --
    Avantslash - View Slashdot cleanly on your mobile phone.
    1. Re:Dashboard by SpiffyMarc · · Score: 1

      If Dashboard is written for Mono, I would assume it runs on Windows as well as any other Mono-supported platform.

    2. Re:Dashboard by goon · · Score: 1
      Given that my main OS is Windows is there anything like this for it?

      there was some commercial app being developed similiar to dashboard but how useful it would be use debatable.


      dashboard relies on having data input from the currently focused form/app of an application (for front-ends). So if you have say Evolution (email client) open or gaim information is sent to dashboard which tries to match this information with existing information and graphically summarise it in dashboard.


      All this requires some code changes in client apps so this could work.


      So the applications you interact with have to be able to interact with dashboard. Assuming you go MS the whole hog (only use MS apps) ...maybe you could get MSOffice to do something via COM but what Outlook Express (or Outlook) or other commercial apps?

      --
      peterrenshaw ~ Another Scrappy Startup
  24. What does this mean for .net apps by Azureflare · · Score: 1
    Does this mean I can run Pop Goes the Gmail on linux now?

    I really was disappointed when I found out this uses .NET, because the most recent .NET framework doesn't install properly on Crossover Office yet.

    Is there any way to get an app like this running on linux? I'd like to be able to archive my gmail account and have a local copy for those rare days when I don't have internet access.

    1. Re:What does this mean for .net apps by aztracker1 · · Score: 1

      if you donate, you get the source, the gui may need porting, but for the most part, it should work..

      --
      Michael J. Ryan - tracker1.info
  25. Multi-coloured? by Migrant+Programmer · · Score: 1

    I suppose two colours, blue and white, technically counts, but.. it's got nothing on Zombo.

  26. Troll? by jbellis · · Score: 0, Troll

    that's like flaming gcc for conforming to the ANSI standard... The C# language definition is an ECMA standard.

    Read the actual blog post, it has nothing to do with getting microsoft's permission to develop Mono. All it says is Miguel doesn't think forking Mono away from the ECMA standard is a good idea.

    1. Re:Troll? by Anonymous Coward · · Score: 0

      gcc does non-standard things.

    2. Re:Troll? by stratjakt · · Score: 1

      ...and it makes gcc a braindead pile of shit, IMO.

      I'd drop it in an instant for intel's compiler if I could. I'd instantly have a 5-30% speed boost across the board. But I can't, linux (by which I mean userland apps, etc.. and the kernel too) code is chock full of stuff that only compiles with gcc.

      But lock-in via embrace-and-extend is only a "bad thing" when MSFT does it, IIRC.

      --
      I don't need no instructions to know how to rock!!!!
    3. Re:Troll? by ckaminski · · Score: 1

      Do you realize how silly you sound?

      You've got an automated build process that spits out compilation errors at every bad line of code, an open source compiler, and open source apps. Either fix the apps, or fix gcc, but quit bitching that it's the "embrace-or-extend" because app writers support the most ubiquitous compiler for the OSS world. That's like bitching that Windows MFC apps only compile properly with MSVC++ 7.0 and not GCC. 99% of Windows developers aren't using GCC. You have no choice in the matter with MSFT and it's actions, but you can at least contribute to fix broken Open Source.

    4. Re:Troll? by spitzak · · Score: 1

      Yet sticking that fucking __declspec in everywhere to make MSVC happy is not a problem?

    5. Re:Troll? by sp0rk173 · · Score: 1

      I believe the guy's just pointing out that while we're more than happy to scream about MS' flaws, we're not so eager to apply the same indepth critique of popular opensource programs that sometimes display the same or similar flaws. He said nothing about MSVC being any better than GCC or being without flaw.

    6. Re:Troll? by Anonymous Coward · · Score: 0

      Either you're lying, or Intel is. Why? From the "Features and Benifits" page of Intels' _Linux_ C++ compiler:

      "Source and object code compatible with GNU C to preserve code integrity and development investment. Intel® C++ Compiler conforms to the C++ ABI and is source and object compatible with gcc version 3.2."

      Now, have you tested Intel's compiler and have demonstrable proof that it doesn't comile with Linux software? Or the kernel? Or are you just BSing because you think GCC sucks (which it does for pure performance, but it does run on a LOT more platforms than Intel's compiler).

  27. Congrats, mono is impressive by Ars-Fartsica · · Score: 5, Insightful
    The mono team has released an incredible amount of code in a relatively short timespan. The mono codebase goes beyond a compiler and runtime - graphical bindings, documentation, and a full IDE are all being rolled out as one more strong alternative in the linux development world. Added to which there are already "for real" apps out there you can use today that are not just toys - for example the Muine music player.

    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.

    1. Re:Congrats, mono is impressive by mr.+marbles · · Score: 2

      The mono team has released an incredible amount of code in a relatively short timespan.

      Not the mention that they've cloned the entire system and have a product ready to ship in such a span of time. This is the leading indicator of why the Mono team is right about this technology. The GCJ team has had a head start on Java and they still don't have an entirely useful product. This says to me that one or more of a possible list of things are true.

      1) the .NET standard is far more openly available and legally open than the Java system. Or that the Mono team is more reckless in ignoring the legality of the code.

      2) the language itself, C# is a better platform for developing applications rapidly, seeing as how a majority of Mono is written in C#.

      3) the .NET framework is more elegantly designed. Thus in hacker jargon "The right thing".

    2. Re:Congrats, mono is impressive by RPoet · · Score: 1

      The mono team has released an incredible amount of code in a relatively short timespan.

      Yes, exactly. To me it sounds almost improbable that one team could write all that code in such short a timespan. I think they should at least be honest and give proper credit to Santa Clause and the Tooth Fairy.

      -- Brown.

      --
      "Oppression and harassment is a small price to pay to live in the land of the free." -- Montgomery Burns.
    3. Re:Congrats, mono is impressive by Sunspire · · Score: 1

      3) the .NET framework is more elegantly designed. Thus in hacker jargon "The right thing".

      I'd be quite suprised if it wasn't, since they have the benefit of hindsight compared to Java. The framework is really quite brilliant. I think a lot of Slashdotters dismiss Mono/.NET just because it has its origins with Microsoft but then turn around and use Samba :)

      From a technical point of view the .NET CLR is cutting edge. Ultimately, for me it's all about technical superiority. It seems to me like Sun is faltering and not making the hard decisions that have to be made. The generics implementation they pushed is pure syntactic sugar where they could have made major improvments to their VM, now that's going to come back and haunt them down the line. Now Java 1.5 is suddenly 5.0? WTF, Sun, are you completely run by marketoids now? Java is bleeing dry and Sun is applying band-aids where major surgery is needed.

      --
      It's like deja vu all over again.
  28. Netbeans, IntelliJ, JBuilder... by SuperKendall · · Score: 1

    One possibility is Netbeans, which I kind of like. It's free and super-easy to mount against existing code bases for debugging (Mount filesystem, point at source, done! Then you can attach to a VM for remote debugging).

    Another possibility is IntilliJ, which a lot of people seem to like a lot - especially if they do not like Eclipse. It does cost money.

    Then there is also the Big Mac Daddy of IDE's, JBuilder. That can cost a lot if you want the advanced features, but I don't think it's much if you want the basics.

    You may notice a common theme here - all sorts of Java IDE's, and unlike other apps they all actually run under Linux. That's because unlike common perception Java desktop apps can work very well, and as all these are written in Java you get the benefit of being able to use them in Linux.

    I do also run Eclipse under Linux and it works fine - I'm using Redhat (company standard).

    However, even with all the IDE's you can still get far just with a good text editor and Ant, a very power build tool for Java.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  29. See "mono-preview" package you can use NOW by Ars-Fartsica · · Score: 1

    The gmcs compiler is a demonstration of generics support that you can use right now, at least in a prototyping capacity. The mono team is watching the ball.

  30. Re:Some please explain to me by Tony · · Score: 4, Insightful

    I'm probably feeding a troll, but I'll assume you are sincere.

    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 .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.

    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.
  31. Free as in 'Free from vendor lockin' by NigelJohnstone · · Score: 4, Interesting

    Look, mono have cloned an enviroment & language whose direction is steered by Microsoft.

    This is a problem, Microsoft is not nice.

    Microsoft can take it into a direction where MS holds patents & IP protection (if it doesn't already which is very unlikely). Mono will either have to follow and lock its user in, or go in a separate direction and abandon any pretensions at cloning MS .NET.

    What I think they should do is embrace and extend the the .NET framework *NOW*, add features and support for things that the Windows .NET does not have. But also bring the extended version to Windows itself.

    That way the MONO implementation of .NET becomes the real one, not the MS one.

    1. Re:Free as in 'Free from vendor lockin' by Anonymous Coward · · Score: 0

      So, start submitting draft specs to the ECMA/ISO standards body and put yer money where yer mouth is. Bloody whiners.

    2. Re:Free as in 'Free from vendor lockin' by MenTaLguY · · Score: 5, Insightful

      What I think they should do is embrace and extend the the .NET framework *NOW*, add features and support for things that the Windows .NET does not have. But also bring the extended version to Windows itself.

      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...
    3. Re:Free as in 'Free from vendor lockin' by tiger99 · · Score: 1
      Yes, some very necessary extensions would beat Sir Bill at his own game, but then he would cry "foul" and set an army of schysters upon the whole FOSS community, or get his puppet Darl to do it for him....

      Seriously though, go for it! Someone with the ability, please make a list of things that are really needed, and M$ has failed to deliver. Set up a project..... Preferably patent each and every idea, and licence them freely to FOSS, but for big money, or not at all, to Criminal Monopolies.

    4. Re:Free as in 'Free from vendor lockin' by Teancum · · Score: 1

      Mono is only going for the ECMA standards. If Microsoft decides to push hard and change what dotNET does, either it will be pulled into Mono very quickly (the entire underlying subsystem is already in place for Mono), or it will be ignored, much to the regret of Microsoft.

      In the world of API libraries, it is developer mindshare, and I don't think you can ignore Mono and be considered a good dotNet programmer. With Mono being open source, I don't see it getting killed as a project.

      I expect that you will start seeing many software developer positions asking for 3+ years of programming experience in Mono real soon. It would be interesting if that happens.

    5. Re:Free as in 'Free from vendor lockin' by goon · · Score: 1
      I believe they're offering packages without any of the Microsoft-specific bits now (to make e.g. Debian happy).

      Miguel mentioned this in his weblog about placing all the code that was MS tainted into a separate branch with the intention of dropping the code in case of MS intervention or in the case of Debian. I'd add the link but monologue disappeared in domain name change over.

      --
      peterrenshaw ~ Another Scrappy Startup
  32. Java Ruby bridge by SuperKendall · · Score: 2, Interesting

    Someone is also working on a Java->Ruby bridge here.

    Once they figured out the CLR is really meant to run C# apps and they would have to drop interesting Ruby features, they probably gave up.

    BY "Supports other languages", the CLR really means "Supports migrating other language developers to C#".

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Java Ruby bridge by Pxtl · · Score: 1

      My understanding was that underneath the CLR was a Lisp-style raw parse tree. If parse tree is the native form of the language (I don't know a thing about it) then Ruby should be just fine. Hell, there's a Scheme implementation for .NET, and if it can do Scheme then it can do anything.

  33. Well at least... by tepples · · Score: 0, Troll

    it's better than liking Mickey Mouse.


    Don't buy Disney until they fire the Rat
    1. Re:Well at least... by Anonymous Coward · · Score: 0

      licking Mickey Mouse? are you crazy?

  34. Re:Some please explain to me by bradkittenbrink · · Score: 4, Informative

    The greatest risk of the Mono project is Microsoft stepping in and filing suit against the project for using its API w/o a license. Doesn't anyone else see this? Why was Mono ever started to begin with? All you Mono developers are doing is putting $$$ into microsoft's pocket!!!

    Actually, the majority of the API is covered by the public EMCA specifications. Microsoft specifically made it impossible (very very difficult) to sue someone for that when they made the standards public. See the mono and microsoft faq for details. The fact that mono is perfectly legal doesn't change the fact that they may be putting $$$ into microsoft's pocket though.

  35. Once again, see mono-preview by Ars-Fartsica · · Score: 1

    Didn't you see the reply to your original comment? You can already try out generics in mono TODAY.

  36. JOIN FORCES WITH PORTABLE.NET by Space_Soldier · · Score: 3, Insightful

    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.

    1. Re:JOIN FORCES WITH PORTABLE.NET by Anonymous Coward · · Score: 0

      I disagree, 2 open source project competing with each other is a good thing. 2 baskets for all those eggs.

  37. Mono:.NET == Apache:IIS == Firefox::IE by Dwonis · · Score: 4, Insightful
    See the Mono Licensing and Patents FAQ:
    Mono implements the ECMA/ISO covered parts, as well as being a project that aims to implement the higher level blocks like ASP.NET, ADO.NET and Windows.Forms.
    The Mono project has gone beyond both of those components and has developed and integrated third party class libraries, the most important being: Debugging APIs, integration with the Gnome platform (Accessibility, Pango rendering, Gdk/Gtk, Glade, GnomeUI), Mozilla, OpenGL, extensive database support (Microsoft only supports a couple of providers out of the box, while Mono has support for 11 different providers), our POSIX integration libraries and finally the embedded API (used to add scripting to applications and host the CLI, or for example as an embedded runtime in Apache).

    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!

    1. Re:Mono:.NET == Apache:IIS == Firefox::IE by Anonymous Coward · · Score: 1, Insightful

      Mono could end up gaining more market share than Microsoft's implementation

      Yeah, right, just that will happen about the same time it ships w/ computers from Dell and/or is included in an automatic windows update download. Get real.

  38. The Linux GUI "look and feel" WTF? by wardk · · Score: 1

    ...However, the Java runtime systems commonly available on Linux lack the performance that customers demand, and Java applications do not conform to the Linux GUI look and feel.


    The question I ask about the above is what the heck is the "Linux GUI look and feel"

    Last time I ran Linux (and the mono screenshots show this) there are mutliple Linux "look and feels". KDE, GNOME, GNUStep, Windowmaker, E, etc are all different to some degree, and some of the differences are major.

    Do they mean Java does not conform the look and feel of the Window manager in use at runtime?

  39. PPC Support by Omega1045 · · Score: 2, Interesting

    I have been digging through the documentation, but haven't found anything on whether 1.0 supports power pc. We run AIX on ppc chips. I tried to get Mono to run on this platform a few months back without any real success. Does anyone close to the project know if this is working now?

    --

    Great ideas often receive violent opposition from mediocre minds. - Albert Einstein

    1. Re:PPC Support by tiger99 · · Score: 1
      I hope you have got a licence from the SCOundrel to use AIX, and are not running unlicensed Unix code, which IBM has no licence to distribute, illegally!

      Seriously though, I hope the problem gets fixed and you have success with your non-Windoze projects.

    2. Re:PPC Support by arhra · · Score: 2, Informative

      The PPC JIT works pretty well (on OS X and PPC Linux), but getting it to compile on AIX would probably take a bit of hacking to work around the various low level differences... (i don't know how weird AIX is at the POSIX level, i just know it's... somewhat idiosyncratic, to say the least... from a sysadmin point of view).

    3. Re:PPC Support by haystd · · Score: 1
      DotGNU claims it supports ppc. I don't know how it compares with Mono though.
      www.dotgnu.org
  40. what I want to know is by Anonymous Coward · · Score: 1, Interesting
    Has anyone benchmarked Mono against the latest .NET 1.1? I would love to see Mono performance beat windows for multi-threaded applications. This would do three things in my mind: 1. give mono broader credibility, 2. show M$ .NET isn't necessarily sliced bread, 3. make linux + Mono a real alternative to windows + .NET

    I would love to be proven wrong and shown my fears of M$ pulling the rug out from Mono is unfounded and totally paranoia. Psychologists have a saying, "the predictor of future behavior is past behavior." If that statement is true, it would suggest the fear of M$ misbehaving is a matter of when and not if.

    1. Re:what I want to know is by noda132 · · Score: 1

      Has anyone benchmarked Mono against the latest .NET 1.1?

      I seem to remember reading something about benchmarking being explicitly disallowed in the .NET license agreement. I may be confusing the clause with that of some other Microsoft app, though.

    2. Re:what I want to know is by tiger99 · · Score: 1

      I think historians, and casual observers of human behaviour, would agree with your psychologists. I also think that hardened criminals will continue to commit crime until they are dealt a very severe sentence, and naughty, spoiled brats will continue to misbehave and have tantrums until their toys are taken away. These observations may, or may not, be significant.....

    3. Re:what I want to know is by Jesus_666 · · Score: 1

      3. make linux + Mono a real alternative to windows + .NET

      Or, first make Windows + Mono/.NET the system everyone uses while embrace-and-extending .NET. That makes Windows + Mono everyone's favourite. Then some easy-to-use distros come preinstalled with some new PCs, with people using all their Win/Mono apps on Linux/Mono, thus making the Windows->Linux transition a lot more smooth than it is today, thus making Linux more attractive to tired Windows users.

      Step three: Profit.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
  41. Java's performance is vastly overstated by PhysicsGenius · · Score: 2, Interesting
    I run cgoban2, which is written in Java. It's basically a chat client with a pretty simple point-and-click board game interface thrown in. How much RAM does it use? 40 MB. Others have reported numbers as high as 65 or even 75 MB.

    I also run ed2k_gui (the Java frontend to overnet). I cannot run both of these apps at the same time if I want my system (1.2 GHz, 256 MB RAM) to be usable.

  42. Re:Some please explain to me by WaltFrench · · Score: 2, Interesting

    If all I cared about was platform independence, Mono wouldn't matter. (Java covers that very well.)

    But .Net and Mono further promise language interoperability. That means I'll be able to blend 3rd parties' libraries without caring what the source language is, and take a serious foray into Eiffel without the expense of backing out, if it doesn't really deliver what I want, or if it threatens to become orphaned. With luck, 3rd party compilers for the .Net CLI will work fine to the Mono CLI. Sweet!

    And still not worry whether it's OSX, WinXX or *nix.

    For me, this is all about choice, (minimizing the risk of a little fling) and leverage.

    --
    "Inquiring Minds Want to Know!"
  43. Try lowering the heap allocation... by Phil+John · · Score: 0, Troll

    ...to a lower value, such as 16, 24 or 32. Does the program still run? If so, stop whining and do that.

    I still firmly believe that whilst good on the desktop, Java's real benefits lie on the Server Side, which is where it is mostly used (J2EE etc).

    --
    I am NaN
  44. Slashdotted already :-( by james_bray · · Score: 2, Informative

    Anyone know of a mirror site?

    --
    http://www.reeb.freeserve.co.uk
  45. Dashboard and OS X 10.4? by EMiniShark · · Score: 1

    Wonder what the Dashboard developers will have to say about the 'Dashboard' feature in the upcoming Tiger?

    1. Re:Dashboard and OS X 10.4? by nonmaskable · · Score: 1

      Nothing. Because they _both_ ripped off Konfabulator.

    2. Re:Dashboard and OS X 10.4? by Anonymous Coward · · Score: 0

      What does Nat's Dashboard have to do with Konfabulator? As far as I can tell, Konfabulator does NOTHING like what Nat's Dashboard does.

    3. Re:Dashboard and OS X 10.4? by Skeezix · · Score: 1

      Nat Friedman's dashboard is absolutely nothing like Konfabulator. Doesn't even remotely do the same thing. The OS X Dashboard is basically a rip-off of Konfabulator, yes. But Nat's Dashboard and Beagle address the problem of searching/indexing metadata on the entire system and not throwing away data that can be useful later for searching.

    4. Re:Dashboard and OS X 10.4? by EMiniShark · · Score: 2, Informative

      I was only noting that they had the same name, and considering that Tiger's Dashboard was announced on Monday. Also note that, as has been pointed out in other threads here, Tiger's dashboard, while similar to Konfabulator, is actually much more similar to an Apple feature nearly as old as the Mac. It was Konfabulator that added a similar feature to OS X, arguably 'ripping off' an Apple innovation almost two decades old.

    5. Re:Dashboard and OS X 10.4? by Anonymous Coward · · Score: 0

      Nothing. Because they _both_ ripped off Konfabulator.
      Which is a ripoff of Apple's Desk Accessories from the first Mac.

  46. Kudos to the Mono team by MudflapSoftware · · Score: 2, Interesting


    I have been a pretty vocal detractor in the mailing lists about the lackluster attention paid to the OS/X port, but this release is really a huge milestone for the team, and they deserve a round of applause.

    Kudos to Miguel, Nat and the rest of the team for getting this shipped. The Linux port is rock solid.

    Now, if I could only get monoDevelop to run under OS/X without having to jump through endless hoops, I would be a happy man...

  47. Dr Dobbs & Quinch by borud · · Score: 1

    How fitting: the Mono logo is a profile shot of the retarded cellmate of D.R and Quinch in "The Complete D.R. & Quinch". What was his name again? Pulger or something? -Bjørn

  48. I've already got the 1.1 Framework installed... by AzrealAO · · Score: 1

    so I never notice any app asking for it to be installed.

  49. Runtime Distribution by Nurgled · · Score: 5, Interesting

    This Mono 1.0 release seems to be developer-oriented. Will they (or someone else) be creating smaller runtime packages which only include the stuff necessary to run applications?

    It would be nice if there were an easy install package for Win32, too. This might seem pointless on the surface, but Microsoft.NET won't install on all Windows systems due to deliberate barriers, plus Microsoft's distribution does not come with GTk# and so forth.

    I'm installing the full release on my main system, but it'd be nice to have a smaller runtime package that I can put on my other boxen to run any apps I create. Perhaps in a few hundred years Debian will have a runtime package which can be depended on by mono apps without having to pull in the whole development environment. (mono-runtime vs. mono-devel, both depending on mono-common)

    (I see a page about the Mono runtime but it's talking about the runtime portion of the project rather than a specific runtime distribution.)

    1. Re:Runtime Distribution by 4lex · · Score: 2, Interesting
      Perhaps in a few hundred years Debian will have a runtime package which can be depended on by mono apps without having to pull in the whole development environment. (mono-runtime vs. mono-devel, both depending on mono-common)

      Perhaps this will happen sooner ;) Anyway, if you like it to happen soon, why not join the Debian mono package mantainers?

      --
      My journal. Mainly about freedom.
    2. Re:Runtime Distribution by clintp · · Score: 1

      Amen to this.

      Getting useful tools in the hands of a lot of people is a real challenge for both Windows (not so bad) and Unix (incredible pain sometimes), depending on you development tool of choice. Oftentimes installing a whole development environment is not wanted or needed, and due to compatability differences won't work.

      Something that indicates that, for a particular application, you'll need to distribute libraries X, Y, and Z or in some way bundles them all together for distribution.

      So far, on Windows, .Net programs seem easy to distribute. Make sure the target platform has the .NET runtime and ship any assemblies you created yourself. The only *real* headaches so far come when distributing to Win98 systems that installed the .NET Runtime separately -- this doesn't always work right....

      --
      Get off my lawn.
    3. Re:Runtime Distribution by Surp · · Score: 1

      I haven't tried it, but on the about page it says:

      Mono's runtime can be embedded into applications for simplified packaging and shipping..

  50. Pointless... by sitarlo · · Score: 0, Flamebait

    If I'm going to develop .NET applications, I'm going to use the Microsoft tools and platform to do it. Part of being a good developer is choosing the right tools and platforms for your applications. .NET is a cluster-f*** at best and I wouldn't want to polute my UNIX environments with it. I'm seeing too many of these open source projects trying to copy what Microsoft does. The open source community should be leading, not following!

    1. Re:Pointless... by Anonymous Coward · · Score: 0

      the community is not a single entity that all does the same thing.

      so start leading, but the mono devs are leading in new directions based on MS stuff. big deal. they are going indifferent directions and coming up with some nifty NEW things.

      so if you dont like that, start leading, some people will follow im sure

  51. Any tutorials out there? by Catullus · · Score: 1

    I'm quite interested in Mono and GTK#, but the documentation seems at first glance to be... non-existent. Are there any tutorials explaining how to get started with Mono and write the GUI equivalent of "Hello world"?

    1. Re:Any tutorials out there? by elflord · · Score: 1
      GTK sharp includes a bunch of examples. apt-get install (or rpm -ivh or whatever) gtk-sharp-examples. Also, some of the C# books, like the O'Reilly books focus on the language definition and stay clear of Microsoft-specific dependencies.

    2. Re:Any tutorials out there? by farzadb82 · · Score: 1

      Go see GotMono.COM

    3. Re:Any tutorials out there? by Sunspire · · Score: 4, Informative

      Check out the The Mono Handbook for tutorials and general getting started instructions. It's still a work in progress, so many sections are still quite empty. Another resource you should familiarize yourself with is the MSDN developer documentation for most of the core .NET API, it includes a lot of examples.

      I also recommend you check out the standard GTK+ tutorial. A lot of it is still directly applicable to GTK# and it's more complete than most GTK# only tutorials. If you're already familiar with GTK+, Glade# for Rapid Development will help you get up to speed with Mono.

      --
      It's like deja vu all over again.
    4. Re:Any tutorials out there? by tiger99 · · Score: 1
      Wonderful. The Criminal Monopoly has unwittingly funded documentation useful to the FOSS community. I sense a tantrum coming soon.....

      But the real place to watch will be O'Reilly, and possibly a few other publishers which do a lot of Linux-type stuff. Authors, get writing! Serious developers will want books, and lots of them.

    5. Re:Any tutorials out there? by elflord · · Score: 1
      But the real place to watch will be O'Reilly, and possibly a few other publishers which do a lot of Linux-type stuff.

      You should check out the O'Reilly books already published -- Learning C# and C# cookbook are not overly windows-centric (the former just covers the core language). Programming C# covers quite a lot of the Windows stuff. Some of this (such as Winforms under portable.Net) can work in Linux. There is also a book on Winforms programming that sticks with a code-by-hand approach which means that one can work with it in portable.net (Windows Forms Programming in C#, Eric Brown, Manning Publications)

  52. What the Mono guys don't get by Anonymous Coward · · Score: 1, Insightful

    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?

    Just exactly how is Mono+Linux any better than .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?

    1. Re:What the Mono guys don't get by elflord · · Score: 3, Informative
      is that using C# implies accepting being led by Microsoft

      No. You're the one who doesn't get it.

      Just exactly how is Mono+Linux any better than .NET+Windows?

      Runs on Linux.

      Does the Mono team have ANY plans to innovate beyond what Microsoft is doing

      Yes. See GTK-sharp, Qt-sharp, Mono.Posix, Mono.Data, etc. (in fact, try reading the FAQ before posting) The Mono and portable.Net projects are both interested in supporting the Microsoft APIs, but support for Linux APIs is also important.

    2. Re:What the Mono guys don't get by polyp2000 · · Score: 2, Insightful

      I also have the same problem with the mono project, however think about the positives...
      I think that the speed at which they have acheived version 1.0 is to be commended; What the mono project is acheiving that Microsoft in not, is a true crossplatform framework based on the .NET architecture; Many will tell you that .NET is not inherently a bad archictecture; But admittedly it is essentially just a rehash of the traditional JAVA / XML /SOAP Framework that has been around for much longer. The difference being Microsoft formalized the framework; and embraced and extended its components so that Java became C# and so forth.

      Dont forget who copied who in the first place here. One could just as easily say that microsoft copied java and was therefore conceding that someone else other than them had a better platform.

      By making Mono work with .NET on another platform they are to a certain extent fighting Microsofts "We Want It All And We Want It Now" attitude. You have to make the decision, do you concede to Microsoft or do you fight them. Microsoft have no intention of making their so-called "cross platform" .NET work on Mac , Linux or whatever else. Enter the Mono Project.

      While my ideals of not wanting anything to do with Microsoft get the better of me here; I think it would be short sighted to ignore the acheivements, benefits and political movements that Mono stands for.

      Nick ...

      --
      Electronic Music Made Using Linux http://soundcloud.com/polyp
  53. Not true... by Phil+John · · Score: 2, Interesting

    ...the source code for the java class libraries comes with all Java 2 SDK's, and the source code for the JVM and Hotspot JITs is available for download from sun..

    I know this because to run Java on FreeBSD you have to compile it from source, which you have to download from sun independantly and then patch.

    .Net on the otherhand is the one that is not open, true, parts of the C# spec have been submitted to ECMA as standards, but the cast majority of the platform is under tight microsoft control (and covered by numerous patents).

    Care to give me the URL of the C# compiler and the CLR source code? No? That's becuase they exist only in your imagination.

    --
    I am NaN
    1. Re:Not true... by The+Bungi · · Score: 2, Informative
      ...the source code for the java class libraries comes with all Java 2 SDK's, and the source code for the JVM and Hotspot JITs is available for download from sun..

      That doesn't make it "open" or "standard". Have you read the license lately? What exactly can you do with the source?

      .Net on the otherhand is the one that is not open, true, parts of the C# spec have been submitted to ECMA as standards, but the cast majority of the platform is under tight microsoft control (and covered by numerous patents).

      Ah, selective amnesia. Who controls Java again?

      Care to give me the URL of the C# compiler and the CLR source code?

      There you go. This is what people are doing with it.

      The Visual Studio project is not "open source", and it never will be. That includes Microsoft's implementation of the CLI, as well as the compilers.

      And yet that's still a heck of a lot more "open" and "standard" than Java could ever hope to be. Why do you think Microsoft went to ECMA with it?

      Sun could sue the pants off the classpath folks and everyone else that ever thought about doing a JVM or something like it. That they don't do it is another matter, but using Java conveys no less risk than Mono does at this point.

    2. Re:Not true... by mingot · · Score: 1

      Funny that a BSD user would not have at least heard about rotor since it was specifically released for BSD.

      Oh, and here is your link.

      Rotor

    3. Re:Not true... by Anonymous Coward · · Score: 0

      Read the grandparent post, the guy was trolling saying you can't download and compile the Java Platform source code, which is utter crap.

    4. Re:Not true... by puff+the+barbarian · · Score: 1
    5. Re:Not true... by Anonymous Coward · · Score: 0

      "And yet that's still a heck of a lot more "open" and "standard" than Java could ever hope to be."

      You clearly aren't biased or selective with your facts . . .

    6. Re:Not true... by aztracker1 · · Score: 1

      Got two for you...

      Not F/OSS friendly: microsoft

      F/OSS friendly: mono

      --
      Michael J. Ryan - tracker1.info
  54. Fear not.. GJC is the cure by Anonymous Coward · · Score: 1, Interesting

    GJC is the cure to all mono induced ailments.

  55. Eclipse by Anonymous Coward · · Score: 0

    Might java/Eclipse be the solution?

  56. Re:Some please explain to me by puppetluva · · Score: 1

    People are legitamately concerned about the legality of this project.

    Calling mono perfectly legal when mono stands on shaky legal grounds is a disservice to the community. Not only is "Windows.Forms" a protected term belonging to Microsoft but the entire toolkit is based on patent-protected APIs etc. Why hasn't Novell asked Microsoft to issue a statement protecting Mono yet? Since this will be a Java-killer when the open-source crowd embraces it, I would think that this would be the least they could do.

    Until I see that Microsoft (the owner of the IP) won't try to sabotage this product I will try to get as many open-source people I can to steer clear so their hard-work won't be coopted or made illegal.

  57. Mono vs JVM by Sunspire · · Score: 3, Insightful

    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.

    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 /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.

    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.
    1. Re:Mono vs JVM by Anonymous Coward · · Score: 0

      One of my pet peeves with Sun's RPMs of the JDK/JVM is that after you've installed the RPM, none of the tools are on the path! So everbody goes "rpm -Uvh j2sdk*", "java" "java: command not found", and "WTF!", in exactly that order. I dunno why Sun even bothers putting their stuff in RPM format when they obviously aren't interested in fitting in with the rest of the system in the first place.

    2. Re:Mono vs JVM by rowanxmas · · Score: 1

      speaking of yum.... how do add the mono servers to my yum.conf?

      [mono-fc1] name=Mono FC1 repository baseutl=http://www.go-mono.com/archive/1.0/fedora- 1-i386

      doesn't work: Error: Cannot find baseurl or name for server 'mono-fc1'. Skipping

    3. Re:Mono vs JVM by MemoryDragon · · Score: 2, Insightful

      You have obviously no clue on what you are talking about. a) Java if you go the self extracting binary route just expands itself wherever you want it to be and follows from one top level dir into its subdirs, there is no spawning itself over the entire system, just one java dir with its subdirs, thats it. b) nobody prevents you to use make it is just ant is so much better and therefore everybody uses it c) you can use zip instead of jar, jar is just a zip file with some extra data in a manifest file d) face it ant is currently ported to .net and probably will become the standard make tool there as well e) how much more alien is a zip file with the extension ant to linux compared to an exe file? f) the classpath thing is not that far away from unix either, in fact java cannot deny its unix heritage, many unix tools use environment variables and classpath is just one which can be set optionally within a .bashrc or given to the command line tools

    4. Re:Mono vs JVM by Sunspire · · Score: 1

      You have obviously no clue on what you are talking about.

      Thanks. I simply tried to look at the issue from a normal users perspective, who doesn't care if Java is the greatest thing since sliced bread, just that it's behaving unlike everything else on my system. I use Java, Ant and friends, I'm just telling you why I think Mono will absolute pounce Java when it comes to the desktop. More than anything, both camps have a completely different way of looking at things. Java pushes their own solutions like webstart, jar, etc. while Mono integrates as much as possbile with your existing system.

      Java if you go the self extracting binary route just expands itself wherever you want it to be and follows from one top level dir into its subdirs

      Well that's even worse! Now you've got this huge glob of Java crap in your home directory! Look, is it really too much to ask that Java stops being such a fucking primadonna and installs itself just like everbody else into standard locations and doesn't pretend it's entitled to special hand holding from me.

      nobody prevents you to use make it is just ant is so much better and therefore everybody uses it

      I'll give you this, make can be pretty horrible at times and Ant is much better. But I'm not sure I'm ready to place the burden of tracking down and installing Ant on my users. Make is ubiquitous, yes, it's a pain in the ass for me as the developer, but it "just works" for my audience.

      how much more alien is a zip file with the extension ant to linux compared to an exe file?

      Well Mono only uses the exe extension because of convention, you can rename the thing to anything you want and it'll work. On the other hand, Mono has a wrapper ELF binary that bootstraps the loading of the binary "exe". What does this mean for the end user? "./monoprogram.exe" works and Mono is EXACTLY like a C program in that case. Let's see Java fit in on Linux like that. From day one Mono apps have been packaged with shell script or binary wrappers that hide all the VM stuff from the end users whereas Java rubs it in your face.

      --
      It's like deja vu all over again.
    5. Re:Mono vs JVM by Tumbleweed · · Score: 1

      Wouldn't you be just as well off with, say, a Python & PyGTK app? You wouldn't tell the difference between that and a regular C-based GTK app, either.

      I was just reading in Linux Journal about natively-compiled Java apps, so that's apparently coming, once they get some more work done on it. I'm not sure why you'd want that over C++, though, unless you just prefer the syntax of Java.

    6. Re:Mono vs JVM by Anonymous Coward · · Score: 0

      This is only a feature of Java on Linux because there is no open source implementation. If there were all of these things would be fixxed and the usual rpm/deb/gentoo things would work fine there.

      Michael

    7. Re:Mono vs JVM by Anonymous Coward · · Score: 0

      Well, in Debian, you have /usr/share/java just like /usr/share/perl5, /usr/share/{Display all 229 possibilities? (y or n)} etc. containing jars for all installed Java libraries. No "spewing around in the system" any more than other development environments. Packages with Java apps have a dependency to "java-virtual-machine" or the like, so you can apt-get them just as well; and most of them come with a frontend shell script which build up the classpath with the needed libs in /usr/share/java. And shell scripts look just like any other executable thanks to the "#!" magic, so the end user won't notice a thing. Where Java has /usr/bin/java, /usr/share/java, and $CLASSPATH, Perl has /usr/bin/perl, /usr/{share,lib}/perl*/*, and $PERLLIB.

    8. Re:Mono vs JVM by iwadasn · · Score: 1


      oh come on. Your primary argument seems to be that distributions don't ship with JAVA. Grow up. The natural solution to that would be for them to ship with java, now wouldn't it. But no, that would be too logical. Instead we have to piss and moan that not everything is perfect, and then design yet another development environment that is essentially an exact clone of java, only missing some of the nifty features. Then we need to hand complete control of this whole mess over to microsoft, and get it half working, and claim that we've somehow solved this mythical problem that redhat doesn't ship a java binary.

      come again?

  58. .NET code portability? by n8ur · · Score: 1

    I'm not much of a C coder; sorry if this is a stupid question but I'm trying to gather information to pass on to folks who will know what to do with it.

    A ham radio hardware project I'm working on is driven by sofware written under MS C++ .NET. The code basically talks via the device via USB, does some math, and plots results on the screen (in XY and polar plot format).

    We want to make the software available under Linux, but the author is a Windows guy and can't undertake the port, so we're looking for someone to help us out.

    Apart from the obvious issue of the USB driver interface, is it reasonable to expect that Mono would allow us to build this app under Linux with relatively minor changes, or is porting still likely to be a significant undertaking? (I realize it takes a lot more detail to get a definite answer; I'm just looking for guidance on whether it's worth considering using Mono vs. essentially rewriting the code).

    1. Re:.NET code portability? by Teancum · · Score: 1

      The key to making sure software is portable using C# is making sure you are sticking with ECMA standard library features. If you use a Windows API library function, you are sunk and stuck to the Win32 platform (potentially Wine or ReactOS, but more likely just WinXP).

      You might be surprised, however, with USB. Many port I/O routines are common to both Windows and Linux (from the perspective of a C#/CLR program), so you might not have to worry so much about that as an issue. More than likely the big problems would come from the GUI compatability issues, which are not trivial.

      Right now, in that respect, Mono is still a little rough. Keep in mind that this is open-source software, so if you help write some routines that can help improve the cross-platform compatability issues, it would be greatly appreciated. It is through efforts like the one that you are mentioning that have made Mono where it is right now.

    2. Re:.NET code portability? by NullProg · · Score: 1

      No sane question is stupid.

      It would help to know if your program was coded in c# or c++. VS.Net lets you compile bytecode for several differenct languages. Does your program work under Win9x? If so, its C/C++ and you won't have such a big porting chore to do.

      USB is the driver interface to the device your trying to read from. It could be Serial RS232, it could be Ethernet TCP/IP. Any decent programmer would have abstracted the user interface from the device data to begin with. Anyway, in the 2.4 and beyond Linux kernels, USB access is trivial, even from user space.

      Code portability has been the Holy Grail of computers since I've been coding. It wasn't found in the 70's, 80's and 90's. It's not going to found now by using Mono or C#. Stick with the ANSI (not ECMA) supported languages. If Borland comes out with a Mono derivative, then by all means use it.

      Please note that I am not dissing the ECMA, I just respect the ANSI review process more.

      My 2 bits, Enjoy.

      --
      It's just the normal noises in here.
  59. glade can fill the gap for now by Skeezix · · Score: 2, Informative

    And if you need a GUI builder you can always use glade-2 which ships with most distributions. I've designed practically the entire user interface for my little app, WoodPusher, in glade, and have been writing the code using MonoDevelop. Eventually there will be a new form designer for MonoDevelop which will not be based on glade at all, but in the meantime, glade gets the job done.

  60. Irony by apoplectic · · Score: 1

    That would be "coincidental" and not "ironic". There is no irony involved.

  61. s/MONO/Microsoft by Slayer_X · · Score: 1

    Sorry, my error, I want to say

    "This is why I think Microsoft is a very bad thing"

    --
    - Slayer_X
    http://www.slayerx.org/
    Lima
    1. Re:s/MONO/Microsoft by Anonymous Coward · · Score: 0

      Sorry, my error, I want to say

      "This is why I think Microsoft is a very bad thing"


      STILL no karma? Okay, last try :

      "This is why I think SCO is a very bad thing".

      If that doesn't do it then nothing will.

  62. Longhorn is a ruse by fijimf · · Score: 3, Funny

    All the Microsoft developers are secretly rewriting MS Office in C#.NET.

    As soon as the Mono guys finish the hard part of the Linux port, MS will abandon Windows, fork Linux and start selling MS Linux bundled w/ Mono (and of course, Firefox with the new IE theme), and MS Office for Linux.

    It's just crazy enough to work.

    1. Re:Longhorn is a ruse by tiger99 · · Score: 1
      And it will keep Eben Moglen busy for a while, not that I am suggesting that he does not have a very full workload already. I think he would love to be able to sue the Criminal Monopoly for GPL violations.

      If such a situation were to happen, I think the FOSS community should be invited to each contribute a nominal amount via PayPal or similar, with a small levy on each copy of distros sold. The FOSS community could raise sufficient funds to do battle, and win.

  63. I congratulate Mono by Anonymous Coward · · Score: 0

    I think the Mono project is great, and I encourage them to keep up the great work.

    Having said that, I have to say I have various concerns about it as a development framework. Many of them have been raised by various individuals--e.g., Microsoft breaking compatibility and leaving Mono as a dead framework.

    However, something I've never really seen addressed is whether or not C#/CLI really is a useful framework for developing desktop apps. This is something that's often advocated by C# adherents, but is it really true? .NET isn't included in most of the Windows versions that individuals have at home, so to actually use a C# app, they would have to download it, and it is rather large.

    Java, on the other hand, is on many home systems. Developing in C++ or something like that is also more feasible because it compiles to a binary that doesn't require a separate interpreter, VM, JIT compiler, or whatever.

    For all of the talk about C#/CLI, I don't really see it being a viable desktop app solution because of the overhead. And, as people have noted, Longhorn seems to be moving to a different development framework altogether, that looks more like XUL.

    I don't mean to sound like a troll, I really admire Mono. But whenever I think of writing a C# app, I end up thinking "who, really, would actually use this?"

    Sometimes I think that C#/CLI is hype that MS's worst critics as well as greatest supporters just happened to believe. The fear I have, I guess, is not just that MS will break compatibility, but they will drop it altogether because it failed.

  64. .NET and Windows by Anonymous Coward · · Score: 0

    The thing that bothers me about .NET and even the ECMA subset is that although it can be cross-platform, it is full of Windows-isms.

    For example,
    Console.WriteLine does not seem to imply that standard output could be redirected to another source like another program.

    Or the COM integration lets a lot of existing Windows technologies influence the design of .NET.

    The main entry point for Graphical apps is still called WinMain in the exe.

    Even if it is possible to use .NET on Linux, won't it be, in essence, making Linux a lot more like Windows?

    1. Re:.NET and Windows by aztracker1 · · Score: 1

      I don't know that this is such a bad thing.. if I can rely on glade+gtk+mozilla+opengl+?sound?+mono this would make developing for linux a pretty sure thing... right now, developing gui apps for linux kinda sucks, because each distro has its' own "defaults" .. having a few key ingredients available would be a nice thing... and assure the ability to write an app that is runable on newer linux distros, should mono get adapted as well as many of us would hope.

      muine is a shining example of what is possible... with a few key tools, those above, and database/network (which are in place inside mono), we are set for a lot of cool things on linux.

      --
      Michael J. Ryan - tracker1.info
  65. What about the patent issues? by Eric+Damron · · Score: 2, Insightful

    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!
    1. Re:What about the patent issues? by elflord · · Score: 1
      What about the patent issues?

      Well, what about them ? Are there patent issues ? Who is telling you that there are such issues ? And what are the issues anyway ?

      There are no patent issues for the ECMA-standard parts of Mono. The only potential issues are with Microsoft class libraries. This potentially has impact on Microsoft-compatibility (again, only *potentially* -- there are no known patent issues) but not on the standard subset, or the native API stack.

    2. Re:What about the patent issues? by Teancum · · Score: 5, Insightful

      First of all, Microsoft has been directly helping the Mono project, in terms of technical assistance. While this doesn't solve the patent issue, it does show a certain culpability on the part of Microsoft, and it would be a big fly in the ointment if MS decided to file a lawsuit.

      Also, Mono is much closer to a "clean-room" development model, based almost exclusively on the API libraries and reverse engineering of data formats to become more compatable with MS function calls. Although Mono started with the core components being compiled with the free dotNet compiler from MS, it has been self-compiling for some time now.

      The anti-trust issues won't help out MS either if they file a lawsuit against Novell. Novell has some relatively deep pockets, and it would be in their interest to get into a legal fight with Microsoft, particuarly one that MS initiated. From a sheer anti-trust viewpoint it would not be a good thing for MS to engage in something like this directly, and it could only be a direct threat from MS that would amount to be worth anything, unlike the SCO fiasco. No hiding behind serrogates for this fight. Furthermore, MS would risk a counter suit from several parties (Miguel to start with) if they tried to get the software pulled, potentially costing MS quite a bit of money.

      Almost all of mono is derived from the ECMA documents, which also state rather clearly (with formal waivers signed by Microsoft) that anybody is free to create their own implementation of those standards.

      Where the Mono Project could run into problems is if somebody (in a really stupid moment) decided to include some "shared source" source code from MS into Mono. This would be the same issue that Linux is facing from SCO, and when that goes to court it will have a final court ruling on that issue. If SCO wins by some act of God, it will become a huge issue for almost all open source/free software projects, not just Mono. I don't know if the courts have the political will to shut down a multi-billion dollar industry that easily over a technical ruling. Besides, the remedies to fix an issue like that are very easily done, and can even be done in a very pristine "clean room" atmosphere to replace any code that caused problems like that.

      I would have no problem testifying in court that Mono and dotNet are two totally different pieces of software, from benchmarks and I/O behavior to variable names and even Mono-only software classes.

      What is going to be interesting is that Mono, now that they are at version 1.0, is going to be in a position to actually drive mindshare with this system. I predict that you will seem MS backporting some of the mono class features (including method names... even a mono.* class naming system) into standard dotNet. The question would then become who is driving the development for whom?

      Yes, I dont trust Microsoft, and won't rely upon their goodwill. True as well, if you had developed a completely independent virtual OS (like dotNet or Java), there might not be as much to argue here, but then again, you might even be in more danger of violating a patent, simply because you weren't aware of it.

      I think a much bigger threat for a submarine patent that would threaten Mono would come from Sun, or even some silly 3rd party that filed a patent 5-10 years ago covering virtual operating systems. The concern then is not with Microsoft, but with the USPTO instead.

  66. Open Source Gaming... by Psymunn · · Score: 4, Insightful

    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
    1. Re:Open Source Gaming... by MukiMuki · · Score: 1

      I'd mod you up the wall right now if you weren't a 5 already.

      Basically that's exactly what people can do right now, but choose not to. Most games are nice, large commercial products, and you can't really explain to your boss good reasons to convert to open source. You're basically giving away (80k/year/programmer, approx 5 programmers to a project, 2 year dev cycle) +$800,000 worth of code, and the reasons (free ports to linux 'n mac! ummm, wtf is linux, and is the mac port guaranteed- like, in writing? Well, no, but...) are rarely convincing.

      Plus, most companies want to hold onto those assets, and use the fact that everyone else is re-inventing the wheel to their advantage for as long as possible. Makes the investment last longer, I guess.

      I think the Id route is the best. Same as your idea, only they GPL it as soon as they kinda-don't need it anymore. (e.g. as soon as the next generation of their engine is done, gpl the previous generation. Hilarity ensues.)

    2. Re:Open Source Gaming... by Schnapple · · Score: 1

      And this is exactly what id Software has done with DOOM, Quake and Quake II. Of course the source was GPL'd long after the commercial life of the game and the engine (which answers the question of why not - engine licensing), but a few people have made commercial and noncommercial games with their engines using all new resources.

    3. Re:Open Source Gaming... by Anonymous Coward · · Score: 1, Insightful

      So source code wants to be free but artwork and level data don't?

  67. sharp app by Doc+Ruby · · Score: 1

    Mono is delivered in v1.0 with Dashboard, the proactive "personal assistant" which shows the associated info, of all types, about the entities (people, places, info objects) you're focused on. With the right GUI, this will depose the desktop, filing system, and search engines now haystacking our needles. Where can I get a client for my smartphone?

    --

    --
    make install -not war

  68. Novellllllll by Barryke · · Score: 0, Flamebait

    If its labeled Novell I won't use it anyways.

    Probarly because my school had Novell security wich was crap.
    And fustrating because nothing would work the way its suposed to.

    dont judge my bad english. it just sucks

    --
    Hivemind harvest in progress..
  69. Interpreted languages by NynexNinja · · Score: 1

    This whole project seems to be aimed at a noble goal, cross-platform compatibility, but with weak implemention. It is still interpreted. It still requires you to clunk around this huge interpreter and all associated libraries. Its still slow. They need to concentrate on targeting native machine code compilation and execution. I like the fact that java (because of GCJ) can finally be natively compiled, which will definately increase its adoption among serious developers.

    1. Re:Interpreted languages by daveaitel · · Score: 3, Interesting

      I think the biggest problem with .Net is that it's not interpreted enough. Despite the work being done to pretend that it can handle it, no one has a decent interpreted langauge (i.e. perl, Python) running in it that can use any of the real features of the VM. The funny thing is to hear Miguel and others rave about how much faster they are coding now that they are using C# rather than C. Imagine how much more they'd rave if they were using Python, which has the same advantages for RAD over C# that C# has over C. And it has GTK bindings, just like GTK#, only more mature.

      If only they'd thrown their weight behind a Python Gnome, and made that the standard language...

      I noticed in Miguel's post that he posited that you wanted real arrays of ints for speed reasons, instead of arrays of integer objects. But in a large application, speed is more commonly gained by doing intelligent caching - something easy in Python, but brutally hard in C# or C.

      And there's no Patent issues or other nonsense.

    2. Re:Interpreted languages by Lugae · · Score: 1

      $mcs --aot -o MyApp.exe MyApp.cs

      That will do the magic GCJ-ness for you. The C# compiler mcs (at least) for Mono will compile ahead of time with the --aot option.

    3. Re:Interpreted languages by aztracker1 · · Score: 1

      Umn, sorry, but if you've run side-by-side asp.net vs. other platforms, with a simple attribute at the top of the page, you would know this isn't true... Also, you can look at the apache module's code, and impliment some of your own uses...

      --
      Michael J. Ryan - tracker1.info
  70. What about PNet by andymadigan · · Score: 1

    There's a GNU project at DotGNU that has already created a runtime that supports a large portion of Windows Forms, yet nobody seems to know about it. Why?

    --
    The right to protest the State is more sacred than the State.
    1. Re:What about PNet by monosqldan · · Score: 1

      Dot Doo Doo is Dot GNU! Hey, my first ryhme on slashdot!

  71. When will Mono get rid of conservative GC? by Anonymous Coward · · Score: 0

    When will Mono ditch Boehm's conservative GC for a precise GC? How much of Mono's C code depends on the existing conservative GC?

  72. not EPV but EBV by kyknos.org · · Score: 1

    stands for Epstein-Barr Virus. not a nice thing. can cause mononucleosis, but also some kinds of cancer

    --

    SHE does throw dice.
    1. Re:not EPV but EBV by EvanED · · Score: 1

      Ah, thanks for the correction. /Note to self: check information you're not sure of on Google before posting it...

  73. Offer Indemnification! by Anonymous Coward · · Score: 1, Interesting

    With all this talk about SCO/Linux and *potential* licensing issues with Microsoft and .NET, Miguel/Novell should put their money where their mouth is. Start offering indemnification. It's just that simple. Anything else is bullocks.

  74. Microsoft can kill this project anytime it chooses by Anonymous Coward · · Score: 0

    If Mono ever does really take off, Microsoft can clip its wings off in an instant. You are insane if you want to create a Linux desktop based on Microsoft technology. I know Java isn't ideal, either, but how about Python? If they had spent 1/10th the time working on a Python IDE and Gui builder as they spent redoing Microsoft's stuff, we would be much better off.

  75. Unfortunately... by Anonymous Coward · · Score: 0

    Mono means the have a single server, otherwise it would be called Duo.

  76. You guys arent paying attention.... by Anonymous Coward · · Score: 0

    Do you folks actually believe Microsoft didnt see this coming? All this talk of how Mono is going to overtake .NET is silly. Microsoft KNEW open source developers would write MONO. They anticipated it. They hoped for it.

    You guys all too often underestimate Microsoft. MONO is part of MICROSOFT'S plan, and its likely a plan to kill Linux.

    Don't underestimate the minds at a zero to mutil-billion dollar company.

    1. Re:You guys arent paying attention.... by elflord · · Score: 1

      All this talk of how Mono is going to overtake .NET is silly.

      It's not supposed to overtake .NET, any more than gcc is supposed to "overtake" Microsoft visual studio. And as with the gcc example, that's completely beside the point. It's an implementation that is primarily directed at the Linux platform, with solid support for Linux databases and APIs. Just as Microsoft's implementation has first-rate Windows integration, Mono is a version of C# with first-rate Linux integration.

      You guys all too often underestimate Microsoft. MONO is part of MICROSOFT'S plan, and its likely a plan to kill Linux.

      Actually, it's more likely to be a plan to kill java. C# is a much bigger threat to java than it is to Linux.

  77. Re:Some please explain to me by happyfrogcow · · Score: 1

    Me, I'm a LISP and Perl kinda guy. The guy sitting next to me likes C and PHP.

    wow. THAT's tolerance! Doesn't he ever throw things at you, or vice versa?

  78. Umm by Anonymous Coward · · Score: 0

    But those screenshots are reather ugly... The poor font sizes, the poor fonts, the blah color scheme...

  79. I stand corrected... by Phil+John · · Score: 1

    ...however the grandparents post still incorrectly claims that you cannot download and build the Java Runtime Environment, which is categorically untrue.

    Re-reading my post I think i made it clear that in no way was Java open, but neither was .net.

    One thing that bothers me, reading the shared source license it seems to insinuate that you cannot use the source for commercial purposes or create derivative works of it, so how is that open? If I am wrong please point that out (the license is linked from the main page).

    --
    I am NaN
    1. Re:I stand corrected... by The+Bungi · · Score: 2, Informative
      One thing that bothers me, reading the shared source license it seems to insinuate that you cannot use the source for commercial purposes or create derivative works of it, so how is that open?

      That's right. Then again you can write your own implementation (which is permitted under ECMA's royalty free + RAND policy), which is what Mono is. The SSCLI is written by Microsoft and therefore carries whatever license they choose to stick on it. Miguel used a combination MIT+LGPL+BSD for Mono, I believe. The SSCLI has nothing to do with how you can use or interpret what Microsoft has released to ECMA, except that it is a very complete reference implementation of that spec. The .NET framework is yet another implementation of the spec, which has yet another license, tho that one places no restrictions on what you can do commercially with it - but you get no source.

      This is not "open source" or "free software" as most of you understand it. But again, that's besides the point when comparing it to Java.

  80. Re:Some please explain to me by Anonymous Coward · · Score: 0

    Me, I'm a LISP and Perl kinda guy.

    That's good. The first step to recovery is admitting you have a problem. You're on your way.

  81. Re:Some please explain to me by tiger99 · · Score: 1

    An API, like an ABI, is a mythical thing with no physical existence which can't be copyrighted. The code on one or both sides of the interface can be, of course, but a clean-room re-implementation is always possible. I think that has been established by the courts over many years, dating back to the original IBM PC bios code, and involving Unix etc. Darl McBride is going to fall flat on his face over this very issue, in another context.

  82. Re:Microsoft can kill this project anytime it choo by elflord · · Score: 3, Informative
    If Mono ever does really take off, Microsoft can clip its wings off in an instant.

    No they can't. read the FAQ

  83. Re:Some please explain to me by Anonymous Coward · · Score: 0

    Please. This has been promised time and time again. CORBA, XML etc. (these are more IPC mechanisms, but the situation is identical)

    Doing manual binding to a VM or what have you (which is what's going on here) is ultimately going to fail the minute a language changes or a new language emerges. Unless you want to restrict yourself to the small semantics representable by *all* languages, it's not going to work. Once you get to that subset of functionally, all languages *are* the same. Just slightly different syntax. Which is usually just a modification to Algol block-style with C's syntax.

    The only true solution is by algebraically representing semantics in some manner. Such as what TUNES is attempting to do. Once semantics are mathematically represented, then you can use your favorite language to your heart's content and not worry about loss of semantics or restricting yourself to a subset of all common languages. In other words, you can use call/cc style functions in ML/Scheme and not worry about C programs screwing things up.

    But, IMO, this is all one big pipe dream. I'll believe it when I see it.

  84. Re:Some please explain to me by Anonymous Coward · · Score: 0

    wow. THAT's tolerance! Doesn't he ever throw things at you, or vice versa?

    I bet they gang up on a guy behind them that likes Fortran and Prolog.

  85. I'm sorry guys. by Damon+C.+Richardson · · Score: 1

    I've been around for a little while. And I have to ask myself. If I were Bill Gates. How would I draw developers away from open source development?

    Great job on Mono... But i'm not touching it.

    --

    Last one in jail is a fascist.
    1. Re:I'm sorry guys. by smash · · Score: 1
      Write for mono then, and don't use functionality exclusive to .net (eg, windows forms, etc).

      Just because the idea came originally from Microsoft, doesn't automatically make it bad.

      I see mono as a very useful transitional technology. Write for mono. Your app will run on both Linux and Win32. As you port your apps completely to mono, you have the option to drop windows, if you like.

      In the C# reference I have, (admittedly not an MS publication), it explicitly recommends NOT to use native windows functions, in an aid to portability.

      Of course, if people were to just write straight for Linux/C/C++, Microsoft would lose. If they write for Mono/.net, microsoft can at least still run the ported app.

      I see it as MS in damage control...

      smash.

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  86. Sigh ... its still a C/C++ world by JamesR2 · · Score: 1

    I would like new tools to get some critical mass in the desktop app space, but I don't see any, really. Even MS, to my knowledge, does not make/give/sell a significant desktop app that uses the CLR. In some ways, the issue has not moved beyond the K&R days.

    1. Re:Sigh ... its still a C/C++ world by Anonymous Coward · · Score: 0

      The C++/CLI makes C++ the best language for .NET.

      C++/CLI target support in gcc would be a major win for C++ developers.

      - Generics and Templates.

      see intro on C++/CLI: http://www.codeproject.com/managedcpp/cppcliintro0 1.asp

    2. Re:Sigh ... its still a C/C++ world by terrymaster69 · · Score: 1

      Its still too easy to decompile C# code. Last I checked, MS is still trying to keep its secrets.

  87. That is the sound of inevitability... by amightywind · · Score: 1

    The linux landscape is changing, its going mainstream, and there are a lot linux users who don't like that. I must humbly suggest to such people that you cannot do anything about it, and you should therefore either accept the reality or start moving to another system where you can feel more "l33t".

    I used to ignore the morons who used to go around omninously saying "you will be assimilated" several years ago when Windows was at its zenith. Now that it is in decline, I ignore your "reality" too. The glory of the GNU/Linux system is that it is pretty immune from software fads like Java and .Net. Will they take GNU/Linux over? Not until someone writes a kernel and system stack using them (which will be never). You can run them alright. They might even have their place for some applications. More power to those who contribute to their free software implementations. But at the end of the day, I can install as many or as few packages as I want on my Gentoo system, and be happily oblivious to the progress Mono is making on replicating Microsoft's terrible software, bug for bug. I can hack C and Lisp without having to bloat my machine with the latest virtual programming environment du jour. Try that with Windoze. I still feel l33t.

    --
    an ill wind that blows no good
    1. Re:That is the sound of inevitability... by a1englishman · · Score: 1
      I can hack C and Lisp without having to bloat my machine with the latest virtual programming environment du jour. Try that with Windoze.

      I don't think you know what the bloody hell you're talking about. Java is a platform that insolates the developer from the system they are developing on. It gives them a level playing field on whatever machine a user may wish to use.

      .Net is advertised by Microsoft as being able to do this also. With the aid of Rotor and Mono, this is coming into reality. Even if it doesn't, it still adds value to its native platform: Windows.

      Your argumet gets muddled when you start associating the assumulation process with Java and .Net. The assimulation refers to everyone being forced to run Windows, or face being made extict. Java is absolutely a force in opposition to this affect. It allows people to use whatever platform they wish, without worrying about being made obsolete.

      As for your argument about Linux being better than Windows because you can "hack C and Lisp", I wonder if you've noticed these languages have been available to Doze since day one? Not only that, they are still redily available and in strong use. Well, not Lisp, but when has it?

      Your arguments are specious and lack clarity. Anyone claiming to be "l33t" probably isn't.

    2. Re:That is the sound of inevitability... by amightywind · · Score: 1

      Your arguments are specious and lack clarity. Anyone claiming to be "l33t" probably isn't.

      You offer no argument, just a nebulous assertion. It is about as good as "he doesn't get it.." Judging from the heat of your response the argument had an affect. I quoted "l33t" in sarcasm only. You are obtuse as well pompous.

      --
      an ill wind that blows no good
    3. Re:That is the sound of inevitability... by DerWulf · · Score: 1

      yes, you can't 'hack' C and Lisp on windows. Everyone knows that. What most people don't know is why. Windows itself was written in EvilAsm, the programming language invented by the devil((c) capcom) himself. Gates had to trade his soul and BASIC for the compiler. EvilAsmComp is well, evil but smart and added code to windows that prevents it from ever running a C compiler. C, of course, being the language created by God ( aka Dennis Ritchie ) on sunday.
      Now it is clear why *nix and Windows are adversaries, destined to fight until the end of time.

      --

      ___
      No power in the 'verse can stop me
    4. Re:That is the sound of inevitability... by a1englishman · · Score: 1

      I doubt you'd know pompus if it bit you on the ass. You are confused teenager with no experiance, and the sarcastic abilities of a dead penguin.

  88. Re:Yay! by Anonymous Coward · · Score: 0

    50MPH / 2 = 25MPH

  89. Havoc Pennington GNOME dev: MONO is legal problem. by Anonymous Coward · · Score: 0

    Havoc Pennington recently stated that he also sees legal issues by using MONO technology in GNOME read here and here.

    There are another few comments made by Havoc Pennington this year but I wasn't able to find the links. So you people should better be sceptical by using MONO technology because MONO is moving in the gray area here and is probably becomming a big legal issue.

  90. Re:Microsoft can kill this project anytime it choo by Anonymous Coward · · Score: 0

    I hope this happens pretty damn soon. All this MONO hype is pissing me off already. I don't want Linux to mature into the next Windows. Right now everything is copied from Microsoft so I ask myself why not using Microsoft Products in first case and forget about Linux and GNOME.

  91. Great news! by ericdfields · · Score: 1
    I've decided that it's high time give something back to the Linux community, and in order to do that I figure its best to learn a language and start helping fix some of the GNU apps i use most along with other developers (as well as get more active in creating features that I wish certain programs had!). From what i've been reading, it seems that mono is a big part of the future of, if not Linux in general, than at least my favorite DE, Gnome. So this is what I eventually want to learn.

    My question for the slashdot community is how do I start? Are there prerequesite languages I should learn beforehand? What books/sites should I look into for guidance? What sort of things can I do to just "practice", as I imagine that I can't just read a book and write an app? Anyone...?

  92. too busy to read but it reminds me of open32 by SocietyoftheFist · · Score: 1

    But I don't understand the whole compatibility issue. I can't recall one single attempt at cross-platform application development that has had any thing close to widespread acceptance. .NET is a good idea, Mono needs to be a better .NET, not a cross platform compatible environment. Mono needs to address RAD development under Linux as application programming under Linux is the big knock right now. I think Mono has as much of a chance to be successful as Open32 helped developers target both Windows and OS/2

  93. Interesting paper by SuperKendall · · Score: 3, Informative

    You can implement scheme on the JVM too - read this paper comapring the compilation of Scheme to C, the JVM, and the CLR! It was put on 6/16/2004 so is pretty recent - the link came from here

    One interesting result is that precompiling .Net executables yielded no perforamnce gain over just leaving the executable in IL!

    Also, the .Net VM was found at this time to be generally slower than the JVM.

    I couldn't really find a complete Scheme for .Net - Scheme.Net is still pretty new, and Hotdog is not really done yet either.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  94. My System got Mono! by Orion+Blastar · · Score: 1

    It sounds as if I get some sort of virus by installing this. Couldn't they choose a different name to use?

    I tried to download it, and the download link did not work.

    Also I don't see a Debian package, nor a Linspire one. They also claim to have had VB.NET support, but I was not able to access it in previous versions. I stuck a fork in it, and it was not done yet.

    --
    Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
    1. Re:My System got Mono! by Teunis · · Score: 3, Informative

      debian-unstable's had the packages for a while. Works for everything I've tried... have to admit I haven't tried that much yet, but so far so good. Works nicely with apache2 last I tried.

  95. Re:Some please explain to me by Jesus_666 · · Score: 1

    Me, I'm a LISP and Perl kinda guy. The guy sitting next to me likes C and PHP.

    That would be me. By the way, there really should be PHP#. It would do anything C# does the same way C# does it, but you have to wrap the app in an <?> tag.
    And while we're at it, we should add HTML#, TXT# and BMP#, the latter being a two-dimensional image language that makes Befunge look simple. The corresponding IDE would be Paint#.

    --
    USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
  96. It's hard for me to believe that by rd_syringe · · Score: 1

    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.

    If that's true, why did Microsoft make the specs public, create a public standard for the language, and create a public Common Language Specification so that anyone can compile anything to .NET's IL?

    I honestly think they're not thinking of .NET in those terms at all. Their main draws of technology will be Indigo, Avalon, WinFS, Aero Glass, and so on. That's what they plan to draw people to Windows with. .NET is more of the basic infrastructure that we now all get to benefit from because of a port to Linux.

  97. Re:Furry porn! by Ty · · Score: 1

    I admit it - flamebait and I still clicked on it >_

  98. MonoDevelop is NOT included for OSX by chochos · · Score: 1

    I don't know about the other versions, for I just installed mono 1.0 for OSX and it does not include MonoDevelop.

    On Linux I installed 0.92 a while ago and it didn't include monodevelop either (I'm talking about the binaries). Today there are no binary distros available on the monodevelop.org site; and building monodevelop on OSX can be pretty hard.

    So please, can we have an OSX binary distribution of monodevelop PLEASE?

  99. A bad omen. by Anonymous Coward · · Score: 0

    Great! Does this mean that all new viruses originally written for Microsoft .Net will also be able to infect Linux machines running Mono?

  100. Re:Furry porn! by Anonymous Coward · · Score: 0

    I'll admit I did too. I also had a little love-making session with my hand while I was there.

  101. ECMA RAND, no comfort by Anonymous Coward · · Score: 0

    > Almost all of mono is derived from the ECMA
    > documents, which also state rather clearly (with
    > formal waivers signed by Microsoft) that anybody
    > is free to create their own implementation of
    > those standards.

    C# and the CLR are licensed under RAND (Reasonable and Non-Discriminatory) licensing. That doesn't necessarily mean that it's free. They could allow anyone to use the ECMA standard C# for one penny and it would be RAND. But placing any cost on Mono would essentially kill it as an open source project since open source depends on free copying and modification.

    1. Re:ECMA RAND, no comfort by Teancum · · Score: 1

      This is precisely why I pounded on RMS last time I saw him regarding open-source specifications. In some ways, if you perpetuate propritary specs (like DVD-Video or even GIF), even if your software is free and open source, it still can be killed. Only specs like Morse Code are truly in the public domain due to age, and the RFCs can be just as killer as the ECMA documents.

      BTW, this includes almost universal specs like RS-232 or even PCI. Personally, I think specifications should be uncopyrightable, but that is a totally seperate issue than what is being talked about here. Spec books can be copyrighted, but the specs themselves (pin ID's, function names, expected parameters, etc.) should be in theory capable of being copied and sent to anybody as long as you make original materials describing these specs. This isn't necessarily the case at the moment.

      P.S. RMS didn't think it was really that big of a deal, and at the time (about 2 years ago) he thought that free software could get along just fine with propriatary specifications. I don't know if he or any "leaders" of the FOSS movement have given it much thought either.

    2. Re:ECMA RAND, no comfort by elflord · · Score: 1
      C# and the CLR are licensed under RAND (Reasonable and Non-Discriminatory) licensing. That doesn't necessarily mean that it's free.

      Except that Microsoft have said that it does -- they've said "royalty free and otherwise RAND". See the FAQ

      Is there any credible party (slashdot fudders excluded) who is still arguing that Microsoft can pull the rug out ?

    3. Re:ECMA RAND, no comfort by Anonymous Coward · · Score: 0

      The FAQ makes no reference to RAND licensing of ECMA C# technologies. It has an *informal* email from *one* of the patent holders. Even if this were a legal document, it does not say that the free licensing will be granted perpetually (remember VFAT?).

      Also, money is not the only issue. Some of Microsoft's software currently has the license, "This software is free to use but you cannot use it on operating systems (or applications) with a 'viral license' such as the GPL or any open source license stronger than BSD". The "no-GPL or open source" clause is RAND, but it would kill Mono on Linux.

    4. Re:ECMA RAND, no comfort by elflord · · Score: 1
      This still doesn't answer my question: Is there any credible party (slashdot fudders excluded) who is still arguing that Microsoft can pull the rug out ?

      (-; Even that email puts MS in a bad position if they wanted to pull the rug out. Why would they send out such an email if that were their intention ?

      The anti-GPL clause is not RAND in my opinion (what does the ND stand for ? Putting in a clause that amounts to saying "you can't use this on Linux" would be a clear case of "D").

  102. Off topic: Ximian really needs a new logo by beforewisdom · · Score: 1

    Its off topic, politically incorrect, and potentially offensive, but Ximian Gnome really needs a new label.

    The current logo looks like some sort creature out of christian mythology getting in postion to prep himself for some "alternative romatic activities".

  103. [OT] Why can't mono.org render on Opera? by rjamestaylor · · Score: 1

    Is mono so focused on MS that it optimizes for IE?

    Or, perhaps, that's "mono" as in "monoculture," the bane of bio-geneticists and system security experts everywhere.

    Now I regret adding the [OT]...

    --
    -- @rjamestaylor on Ello
    1. Re:[OT] Why can't mono.org render on Opera? by smash · · Score: 1
      Renders fine on Mozilla/Firefox.

      Perhaps Opera need to build a browser that works? :)

      smash(yes, I used to use it).

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  104. Obligatory Simpsons quote... by Anonymous Coward · · Score: 0

    Bart: True or false? You can get mono from riding the monorail.

    Homer: False! No wait, maybe its true...

  105. win32 install is fine by goon · · Score: 1
    It would be nice if there were an easy install package for Win32

    It has been a binary install for win32 since about 0.3, but are you referring to a *runtime* install? If so ~ there are no such offerings. But I can report mono installs (and uninstalls) on my win2k box fine.

    --
    peterrenshaw ~ Another Scrappy Startup
  106. Everyone is raving about Python here by The+MESMERIC · · Score: 0

    I take some interest in Mono as I am not proud to admit C# is my strongest language/skill.
    For 6 months I've been trawling trying to find something that beats MS Visual Studio and C# in terms of RAD.
    Now this is not a flamer but just a cry for help.

    Can anyone recommend me a good RAD + IDE Development tool/environment for Linux?
    Somehow I had troubles installing Eclipse - JVM in Mandrake 10.0 looks messed up - so it complains.
    I mean I still can run apps and stuff but can't run Java apps like say JMSN
    Now if Python is that good, then please Python-lovers just tell me a good place to start + where to get a good IDE + FAQs + that.
    Funny thing is I've asked IBM and Novell to help me, they called me on the phone, said they were gonna get technicians to indicate stuff and all - but never got back.
    I know that when it comes to things like that (assisting,directing,helping out) MS is much better - I just can't stand Windows itself tho, that's all.
    When it comes to programming I've been too spoiled with the Visual Studio series .. "spoiled" - in all aspects of the word.

    1. Re:Everyone is raving about Python here by The+MESMERIC · · Score: 0

      It's ok everyone I fixed my Java and hence my Eclipse (dont laugh ok?) - you just set the path doh!
      [mesmeric@localhost eclipse]$ export JAVA_HOME=/usr/java/j2re1.4.2_04
      [mesmeric@localhost eclipse]$ export PATH=${PATH}:${JAVA_HOME}/bin
      Still would be interested to know of a good Python environment .. anyway gonna check Mono too - sorry :)

      Damn it - it's always like this - everytime i post a question i find the answer before anyone replies :/
    2. Re:Everyone is raving about Python here by Antity-H · · Score: 2, Informative

      for python informations :
      simply go to the python website (http://www.python.org), it lists quite a lot of tutorials for begginers to experienced programmers, it also has FAQs and a few papers about python design. The online documentation is pretty extensive too

      as for an IDE, you can either use eclipse and pydev (http://pydev/sourceforge.net, don't be afraid by the alpah/beta thing, it is quite stable). Or you can try eric3 (http://www.die-offenbachs.de/detlev/eric3.html). The latter also integrates with Qt Designer to create GUI with a visual editor, using pyqt.

    3. Re:Everyone is raving about Python here by The+MESMERIC · · Score: 1

      brilliant thanks.

  107. SWT by Walles · · Score: 1

    Yes, SWT. It will use Windows widgets on Windows, and GTK+ on *ix. It's what Eclipse uses.

    --
    Installed the Bubblemon yet?
  108. mono on the road for suicide ? by Anonymous Coward · · Score: 0

    Mono is a non-sense, they are trying to read the compat with a moving spec ! And a spec on which they got neither control, nor any complete view !

    This is the same kind of problem that WineHQ has suffered.

    I'll take the following bet, within 2 year this mono project will be at the museum ;-)

    The problem with mono is that there is too much IP concernat around .net for any third part to be on that !

    1. Re:mono on the road for suicide ? by elflord · · Score: 1
      Mono is a non-sense, they are trying to read the compat with a moving spec ! And a spec on which they got neither control, nor any complete view !

      Rubbish. The ECMA spec is transparent. They don't have control, but neither does MS.

      This is the same kind of problem that WineHQ has suffered.

      The Win32 API is not an ECMA standard. C# is.

  109. Virtual PC to the rescue by nikster · · Score: 1

    i love Joel on Software but i think he is missing the obvious solution:
    M$ will go for a clean break with the past with Avalon/Longhorn, and provide backwards compatibility the same way Classic works on OS X. the old programs never know they run on top of a completely new OS. at least that's what they should be doing. they did, after all, buy Virtual PC.

    that solution would cleanly reconcile the preservationists (who want to be backwards compatible with 1983 DOS) and the modernists with .NET and Avalon.

  110. Question regarding .NET by DerWulf · · Score: 1


    In this whole Java vs. NET fight one question crossed my mind: With java its possible to ship a JVM with the software without installing it ( the VM via MSI ie.). I know this is a pain for modem users but it allows for different code targeted at different JVMs (vendor/version) to cooexist on the same machine without causing compatability issues. Is the same thing possible with NET? Or do you need to install it to run, thereby overwriting the previous versions and maybe breaking other software?

    --

    ___
    No power in the 'verse can stop me
    1. Re:Question regarding .NET by tommck · · Score: 1

      All versions of .Net Framework can be installed side-by-side with older versions... no compatibility problems.

      T

      --
      ---- It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
    2. Re:Question regarding .NET by DerWulf · · Score: 1

      thanks for enlightening me ;-)

      --

      ___
      No power in the 'verse can stop me
  111. Worst case by Rogerborg · · Score: 1

    We drop Mono and have no support for .NET bytecode apps on Linux. How's that worse than never having it in the first place?

    --
    If you were blocking sigs, you wouldn't have to read this.
    1. Re:Worst case by jeanph01 · · Score: 1

      Correct me if i'm wrong but Mono fill a need for an elaborate OOP platform with garbage collection that is not Java. Well it's correct to address it but why plagiate Microsoft when we all know that they always try to monopolise the industry ? Why not start with something different and new that is not Java and not Microsoft? At the moment there's no other alternative.

  112. 'Ol Papa Bear is raising his eye... by LifesABeach · · Score: 0

    "I analyzed the situation and suggested how to create such a market."

    Really? where are your findings published at?

  113. and now the small print.... by CyberdogOSX · · Score: 0
    ....which will contain all the things that .NET can do that MONO can't even though it's v1.0

    now before anyone accuses me of trolling, my stable is as follows:800G4, 700iBook, 400G4, MacSE, MacColorClassic, MacClassic II. i also have a SGI Indigo II, and last and least, a PC running XP for testing web pages.

    i want to love OSS, i really do. and as soon as i can effortlessly move from one platform to another without noticing and reformatting, i will love it. that goes for Apple too.

    the only way to beat windows is to be as good or better at everything windows is good at, without any learning curve for windows users.

    Apple, Linux folks, listen up. stop trying to do better than windows until you can at least do as well. don't try to figure out a different and better way to do it. try and figure out how to make the experience exactly the same, but without the flaws. that is the ticket. a different product that does everything an MS product can do, but does it differeently and with all news flaws, not interested.

  114. Operator overloading suxxors by StrawberryFrog · · Score: 1

    All programming language features are potentially dangerous. Operator overloading, however,
    1) is a minefield - so many unobvious ways to shoot yourself in the foot
    2) is hidden code. Reading it, it's not immediately obvious that the operator has been overrideen
    3) is purely syntactic sugar. Anything that can be done with operator overloading can be done without it. For objects A and B, A += B; is directly equivalent to A.Add(B);

    Thus operator overloading should be avoided unless you happen to be coding a class that is a mathematical entity, which actually has plus and minus defined on it - e.g. matrix, vector, complex number etc. How often does that happen?

    --

    My Karma: ran over your Dogma
    StrawberryFrog

  115. Ooh, great plan by Rogerborg · · Score: 0, Flamebait

    Lets start - and then end - with something that only runs on Linux and perhaps BSD. What the flying fuck is the point of that? Nobody will support it on Windows. Nobody will use it on Windows. Nobody will fucking care. How many wxWindows apps are there out there right now? Don't bullshit me, how fucking many?

    God damn, you basement dwelling open sourcers piss me off. Drive or get off the fucking tee. Do you have a Java/.NET killer? Put up or shut the fuck up.

    --
    If you were blocking sigs, you wouldn't have to read this.