Slashdot Mirror


Mono Beta 2 Released

A little birdy writes "Less than a month after Beta 1 was released, Mono Beta 2 has been released. See the Release Notes, or go directly to the download page. It includes a C# compiler, an implementation of the Common Language Infrastructure and two stacks of APIs: a Unix, Linux, GNOME, Mono stack for APIs that takes the most advantage of your Unix server and desktop and a set of APIs compatible with the Microsoft .NET Framework 1.1 that provides support for ASP.NET (web services and web forms), ADO.NET and many other components." And in a related story: darthcamaro writes "The drive to develop a FOSS implementation of Microsoft's .NET framework by DotGNU and Novell's Mono project is being painted as a contest between the Free and Open Source communities in an article on internetnews.com. The article details the running argument between DotGNU's Norbert Bollow and Mono's Miguel de Icaza on the issues of commercial involvement, software patents and all the 'religious' stuff that the Free software community holds against the open source community."

289 comments

  1. Mono Beta 2? by Anonymous Coward · · Score: 5, Funny

    Is this the same as Stereo Alpha 1?

    1. Re:Mono Beta 2? by Saeed+al-Sahaf · · Score: 1

      No. Stereo Alpha 1 is the planet that Khan was banished to.

      --
      "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
    2. Re:Mono Beta 2? by Keith+Russell · · Score: 1

      I thought Kirk left him on Stereo Alpha 3?

      --
      This sig intentionally left blank.
    3. Re:Mono Beta 2? by grantls · · Score: 0

      This is Stereo Alpha 3!

    4. Re:Mono Beta 2? by Anonymous Coward · · Score: 0

      Seti Alpha 3 has nothing to do with it. Seti Alpha 5 and Seti Alpha 6 are involved. Seti Alpha 6 exploded six months after Kirk left them on SA5, shifting the orbit of SA5.

    5. Re:Mono Beta 2? by Anonymous Coward · · Score: 0

      so has seti@home been looking in the wrong places?

    6. Re:Mono Beta 2? by bruthasj · · Score: 1

      No, dragging down on the copy box in an Excel spreadsheet returns:

      Mono Beta 2
      Stereo VHS 3
      Dolby Surround DVD 4
      THX MP4 5 ....

    7. Re:Mono Beta 2? by grantls · · Score: 0

      Yes. Any nerd worth his or her weight in potato chips could tell you that. I merely went with "3" because the previous post did.

  2. What applications are there by barcodez · · Score: 4, Insightful

    Does anyone know of any significant applications developed using the Mono Linux API stack yet?

    Also will the applications I write with this stack work on Windows?

    --

    ----
    1. Re:What applications are there by Tobias+Luetke · · Score: 5, Informative

      Well there is a compelete java vm which can run exclipse for mono. ( i know thats pretty hard to get the head around )

      ikvm

      also all major asp.net applications run

    2. Re:What applications are there by Timesprout · · Score: 1

      Sort of putting the cart before the horse is it not, building significant applications when the platform is in beta. Personally I would have anyone suggesting porting major applications, or building them for that matter, to an unproven beta platform taken outside and beaten thoroughly.

      --
      Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
      What truth?
      There is no dupe
    3. Re:What applications are there by Trigun · · Score: 5, Informative

      will the applications I write with this stack work on Windows?

      If you write a pure C# program that does not use the GTK-Sharp , QT-sharp, or any other neat bindings, it should run. The very simple Hello World apps work.

      I still think that the mono developers are straying a bit from what they should be doing. For the windows forms, they are relying on certain wine-libs. This works, but is not as elegant as it can be. Miguel was talking about the next incarnation of gnome being written in C#, essentially using the Gnome bindings for it. My opinion is that they should build gnome to natively handle the windows.forms portion. I am not so tied to the look of the applications as I am functionality. I could care less if Microsoft.office.NET looks like gnome when run on gnome.

    4. Re:What applications are there by miguel · · Score: 4, Interesting

      I agree that building on top of Wine is far from
      ideal, but it has some benefits. For instance
      we are able to support applications that want
      to embed IE, or use Direct3D.

      Miguel.

    5. Re:What applications are there by Pflipp · · Score: 4, Funny

      I could care less if Microsoft.office.NET looks like gnome when run on gnome.

      Dude, in the UNIX world we call this a major accomplishment!

      --
      "We can confirm that Debian does *not* ship the version with the trojan horse. Our version predates it." [CA-2002-28]
    6. Re:What applications are there by Trigun · · Score: 1

      Miguel, first off, I only mean to offer constructive criticism. I am not a hardcore developer, and my comments should be taken as such.

      From what I understand, the API's are fairly well documented in the standard. You have expected input, and expected output. Could you not implement most of these natively, rather than relying on wine for the look and feel, etc.?

      I understand that you have put this together in a relatively short time, and it has surpassed impressive. I also realize that you do not want to reinvent the wheel by recoding the Wine project, but for most GUI apps, are you limiting yourself with this decision?

    7. Re:What applications are there by wasabii · · Score: 4, Interesting

      Additionally, Gnome GUI programming is much different, and SUPERIOUR to the Windows.Forms layout. Windows.Forms reflects that exactly, Windows. Absolutly positioned buttons, and loosely wrapped COM controls. GTK layout is vastly different, using theming engines, multilingual input methods, and automated layout and positioning. Additionally the font support in the Gnome stack can select glyphs from multiple fonts.

      Windows.Forms is built for Windows... and thusly, running it under Wine is a perfect compromise.

    8. Re:What applications are there by miguel · · Score: 5, Interesting

      Hello,

      Part of the problem is that the Windows.Forms API
      exposes an entry point to hook up to the win32
      programming model the `WndProc' method override
      on Control.

      This is used to allow the developer to catch events
      and process events that Windows.Forms might not
      support directly with the managed API.

      Also, since the Windows.Forms and Drawing APIs
      are not comprehensive, developers of third-party
      controls often depend on calling into Win32
      calls (with P/Invokes). These are used for
      special effects or more complicated behavior than
      is available through the managed APIs.

      For instance, a common scenario is embedding
      the IE control and hook up to its DOM (see the
      cute Reflector from Lutz Roeder).

      Suboptimal, I know.

    9. Re:What applications are there by Anonvmous+Coward · · Score: 3, Interesting

      "Absolutly positioned buttons..."

      I'm looking forward to Longhorn's vector based UI. The static buttons problem goes away at that point. Within the last year or so, MS made a deal with ... oh I wanna say Viewsonic, but I could be in error about which company it is. They were going to create a 300dpi LCD screen. The idea was that Longhorn would just get clearer and clearer as the resolution goes up, as opposed to the buttons getting smaller and smaller. I've seen interfaces made with Flash that do that. Fun stuff.

      We got some cool stuff coming along in the next few years.

    10. Re:What applications are there by misleb · · Score: 1
      Also will the applications I write with this stack work on Windows?

      Yes. Even apps written with GTK-sharp will work on Windows (provided you install the gtk-sharp .dlls).

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    11. Re:What applications are there by arvindn · · Score: 4, Informative
      Mono apps for gnome:

      Muine, a media player

      Woodpusher, an ICS chess client (seems to have stagnated recently though).

      Dashboard, an exciting new user interfact paradigm.

      I'm sure there are others, these are the ones I remember off the top of my head.

    12. Re:What applications are there by Elbows · · Score: 1

      I'm not sure that vector graphics really solve the widget layout problem. Say I have a 1024x768 desktop, and I have an editor window (a toolbar across the top and a big text area) open which is sized to 640x480.

      If I maximize the window, I want the toolbar to stay the same size, but the text area to get bigger... just scaling everything won't work.

    13. Re:What applications are there by misleb · · Score: 4, Informative
      If you write a pure C# program that does not use the GTK-Sharp , QT-sharp, or any other neat bindings, it should run. The very simple Hello World apps work.

      This isn't exactly true. You can run gtk-sharp applications on Windows. There is a Win32 port of GTK. You can't, however, run gnome-sharp applications on Windows. But GTK is good enough for most GUI apps. I am not sure about qt-sharp and Windows though. There is QT for windows, so I imagine qt-sharp should work.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    14. Re:What applications are there by mrtrumbe · · Score: 1, Informative
      That should read:

      "Mono apps for gnome on x86."

      This is my major problem with Mono. They chose a development path which prevents a huge portion of their class library from working on non-x86 systems. Because they chose to lean on Wine libraries, I can't do anything useful with Mono in my primary development domain.

      Any chance of X11 bindings in an upcoming release? I'd love to make my projects portable across platforms with Mono, but it just doesn't seem feasible right now.

      Taft

    15. Re:What applications are there by cshark · · Score: 1

      The Wine Mono combonation is really a blurring of the platforms. Does anyone know if GTK# and the other linux only libs will be ported to run on the Windows version of Mono?

      --

      This signature has Super Cow Powers

    16. Re:What applications are there by IamTheRealMike · · Score: 5, Interesting
      OK, so the fundamental issue here is one of toolkit quality.

      You said that if you don't use GTK# your app will run on Windows. This is wrong. GTK# apps can work on Windows, or MacOS X just fine.

      Understand this: the portability of an application is not defined by the type of machine (virtual or not) it's running on, it is by and large defined by the portability of the compilers and frameworks/libraries it relies upon.

      GTK+ is a portable widget toolkit, it works pretty well on Windows and MacOS. The Win32 widget toolkit is not very portable, mostly because the only open source implementation is the Wine implementation and Wine by policy only concentrates on application compatibility, not on having nice pretty widgets.

      So, if you are writing a .NET application you are best advised to use GTK# - this is true even if you are writing a program meant for Windows as in future if you wish to port things to another platform it will be a lot easier. There are a few other things to consider as well, such as the nicer API GTK has.

      As to the DotGNU approach vs the Mono approach, basically I think you'd have to be insane to want to reimplement what Wine has done. Nobody is going to use System.Windows.Forms on Linux because it blows goats, everybody will use GTK# or (maybe when it is mature) Qt# - therefore a SWF implementation is useful only for application compatibility.

      As to mapping S.W.F to Gnome/GTK, forget it. Back in the day (waaaaay back) Wine attempted to map the Win32 widget toolkit to Tk which was one of the better toolkits available back then. Didn't work. Widget toolkits differ too much to succesfully map between, and in particular the differential between a modern toolkit like GTK+ and Win32 is enormous - why do you think Microsoft are so keen to scrap it and start over with Avalon?

    17. Re:What applications are there by sw155kn1f3 · · Score: 1

      It's the function of app programmer to resize controls accordingly.
      Borland Delphi and C++ Builder had this functionality (some kind of layout manager).
      Anyway, auto-layout is a great thing when prototyping the app to show to customer, but may and will be a bitch when application grows.
      All serious developers have own layout managers anyway: user sees what developer wants him to see - not what some stupid layout engive version xxx decided.

      --
      - Arwen, I'm your father, Agent Smith.
      - Well, you're just Smith, but my father is Aerosmith!
    18. Re:What applications are there by pridkett · · Score: 4, Informative

      Umm, you obviously haven't look at mono that carefully have you? The JIT also exists for PowerPC linux and S390 linux, in addition to Solaris SPARC, PowerPC MaxOSX and Linux x86. There is an interpreter for a whole slew else.

      As for the class library, that's just FUD that you're spewing. Yes they have chosen to use Wine for Windows.Forms, no use in reinventing the wheel here for a tiny population. But all the applications the parent of your post mentioned don't use windows.forms. In fact, the engine is flexible enough that Miguel got MonoDevelop (the IDE they've ported from SharpDevelop) to run on his Mac under OSX. See his blog entry for more information.

      I wrote a fairly complex simulation engine under Mono that runs flawlessly on my Mac and Windows. This includes a user interface that is not Windows.Forms.

      --
      My Slashdot account is old enough to drink...
    19. Re:What applications are there by NanoGator · · Score: 2, Insightful

      "If I maximize the window, I want the toolbar to stay the same size, but the text area to get bigger... just scaling everything won't work."

      I don't think he meant rescale in lieu of resize. No reason why you couldn't have both. The simple fact of the matter is that you need your toolbars at etc to be resolution independent.

      --
      "Derp de derp."
    20. Re:What applications are there by Billly+Gates · · Score: 2, Interesting

      I have no arguments about your great work towards Mono on a technical basis.

      I am worried with wine and about vendor lock in as well since the Windows version will always be better since MS would just set the standards. This is how MS beat Borland.

      Have you ever thought about releasing gtk# to .NET on Windows or having a 100% free gnu mono set like mingw on Windows with a free windows.form api?

      THis might convince some developers to cross platform their apps rather then only focusing on Windows after standardizing on .net.

      I just get uncomfortable with all this Dcom, Direct3d, etc via wine since it would heavily favor Windows and keep the corps nervous about anything non MS.

    21. Re:What applications are there by rootmon · · Score: 5, Informative

      Yes, they already are ported. You can write GTK/GTK+/GTK# apps for Windows today.

      See http://www.nullenvoid.com/gtksharp/wiki/index.php/ BuildingGuide?PHPSESSID=d0459fba82585e5219f9d4c95c 24721f
      for an on-line guide.

      I've been using GTK apps like GIMP and DIA at work where I'm stuck with Windows for a long time now.

      GIMP Win32 installer: http://www2.arnes.si/~sopjsimo/gimp/

      DIA Win32 installer:
      http://dia-installer.sourceforge.net/

      BTW there are very few if any "linux only" libs. Most of those libs are part of the GNU System, they work with the Linux kernel, BSD variants, Solaris, and most UNIX Systems. Many have Win32 ports or ports to the Cygwin POSIX environment for Windows.

      --
      "As flies to the wanton boys are we to the gods; they kill us for sport." - William Shakespeare, King Lear
    22. Re:What applications are there by JohnFluxx · · Score: 2, Informative

      >> I could care less if Microsoft.office.NET looks like gnome when run on gnome.

      You could care less? So it does bother you then? So why did you say "I am not so tied to the look.." ?

    23. Re:What applications are there by ArsonSmith · · Score: 1

      Plus, as I understand it the only part of wine that is x86 based is the program loader. Witch is the part that most people use for runing windows programs under linux, but the library portition the portion that creates the win api is possible to port to any/all other platforms, as this part is really no diffrent than any other native library (gtk, qt, etc.) this is the part that mono uses.

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
    24. Re:What applications are there by metamatic · · Score: 4, Insightful

      Why, it's almost like .NET is designed as a trojan horse to get people to build supposedly multi-platform applications which actually depend on WIN32 APIs!

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    25. Re:What applications are there by Anonymous Coward · · Score: 0

      Ah, the wonders of "multiplatform" .NET...

      *snif*

    26. Re:What applications are there by cshark · · Score: 1

      Interesting.
      Thanks for the info.
      If I only had mod points...

      --

      This signature has Super Cow Powers

    27. Re:What applications are there by Anonymous Coward · · Score: 0

      yeah ALL major .NET apps, which are:

      all major C++ compiled with the .NET compiled and renamed...

    28. Re:What applications are there by miguel · · Score: 3, Informative

      That is incorrect.

      All the applications listed above are Gtk applications
      and I have run them all on Linux/x86, Solaris/SPARC,
      MacOS/ppc, LInux/PPC.

      Miguel.

    29. Re:What applications are there by MenTaLguY · · Score: 1

      In case you hadn't noticed Gtk# does not require wine. And anyway, winelib can be built for non-x86 platforms.

      --

      DNA just wants to be free...
    30. Re:What applications are there by mrtrumbe · · Score: 1
      Right, I could use GTK# for complete cross platform development. In fact, I have Mono running on my OS X box with GTK#. But there are some pretty serious problems with using GTK#, for a person in my position.

      First, my existing dotNet codebase, written under MS Visual Studio 2003, relies heavily on Windows.Forms (which is a substantial part of the class library, despite your cries of FUD). Thus, none of that is portable across platforms. I would have to re-write all of that interface code in GTK# to make that work across platforms.

      Then, once I have a GTK# GUI codebase complete, do I continue to support two GUI codebases? Or do I install Cygwin / GTK# on all of my current Windows boxes to make them compatible with my GTK# GUI codebase? Something tells me my sys admin wouldn't be too happy about that particular install across our organization.

      Finally, third party dotNet application developers will be far more likely to support Mono/X11/*nix if they don't have to re-implement in GTK# to do so. This is important to those of us who use existing third party dotNet applications.

      To an existing dotNet developer (read: Visual Studio developer), X11 support for Windows.Forms is essential for realistic cross-platorm use. Until then, Mono is just a toy for me to play with.

      Had Mono been on the scene 2 years ago when I started developing Windows.Forms applications, I might have considered GTK# for my front ends. It wasn't there. I'm not blaming them, nor am I angry at them, for not supporting Windows.Forms cross-platform. But the reality is that I NEED Windows.Forms to be cross platform before I can use my codebase in a multi-platform environment using Mono.

      Taft

    31. Re:What applications are there by mrtrumbe · · Score: 1
      P.S.

      I was wrong about the apps above. That was my mistake. Obviously, if they are Mono apps designed to run on gnome, they must use GTK# and are therefore cross platform (to an extent, at least. No FreeBSD or Solaris support?). That was my mistake. I apologize.

      However, despite Miguel being able to run MonoDevelop on his OS X box, I have not been able to get Wine-dependent mono applications to work under OS X. Maybe that will change in the future. I eagerly anticipate that day.

      Taft

    32. Re:What applications are there by fatmonkeyboy · · Score: 2, Interesting

      Maybe.

      But it's even more like Microsoft was being practical.

    33. Re:What applications are there by polin8 · · Score: 1

      Then, once I have a GTK# GUI codebase complete, do I continue to support two GUI codebases? Or do I install Cygwin / GTK# on all of my current Windows boxes to make them compatible with my GTK# GUI codebase? Something tells me my sys admin wouldn't be too happy about that particular install across our organization.

      Gtk# does not require cygwin, why would you install cygwin?

    34. Re:What applications are there by mrtrumbe · · Score: 1
      Mono's website seems to disagree. Unless there has been some recent change, I think GTK# does require Cygwin.

      Taft

    35. Re:What applications are there by Anonymous Coward · · Score: 0

      I'm still waiting for a significant application written in .NET that doesn't suck wind. Until .NET gets one, I don't expect to see any from its clones.

    36. Re:What applications are there by Digital11 · · Score: 1

      The vast majority of .NET applications written are either websites or internal apps built to meet business needs. The purpose of .NET is to be a RAD framework, you're not likely to see any major apps ported to .NET anytime soon.

      --
      I am a leaf on the wind. Watch how I soar.
    37. Re:What applications are there by joeljkp · · Score: 2, Insightful

      "So, if you are writing a .NET application you are best advised to use GTK# - this is true even if you are writing a program meant for Windows..."

      But won't your app just look like a GTK app, not a Win32 app? I despise things made with GTK on Windows, simply because they don't blend in to the look-and-feel I'm used to.

      Java can re-use native widgets, so Java apps are becoming less of a problem.

      --
      WeRelate.org - wiki-based genealogy
    38. Re:What applications are there by Anonymous Coward · · Score: 0

      Windows.Forms has built in layout control. The most basic forms of automatic layout are docking and anchoring, where a control can be connected to a side of a container or resize/move based on the movement of that container. For example, if you anchor a button to the right/bottom of a form and you expand the form the button will move along with the right and bottom sides of the form.

      That's the most basic layout functionality. From that many other forms can be derived. Microsoft is adding two new forms of layout control to the next version of .NET, table layout and flow layout. The current framework is fully capable of this logic now, as I have built my own flow layout panels.

      So to say that Windows.Forms is stuck with absolute positioning is just silly and uninformed.

      Most of Windows.Forms is a fairly thin wrapper over existing Win32 controls (most of which aren't COM controls, although there is inherent support for them.) This is because of legacy and time. Microsoft has already expressed interest in moving away from the current graphics system of Windows and building a new system with .NET in mind, called Avalon, which is completely vector driven, resolution independant and hardware accelerated. Demos I've seen of Avalon make it apparent that it is being written from the ground up, i.e. a control in Avalon being able to do things that it's Win32 counterpart cannot do.

      Even out of Microsoft .NET is not "done." It is in constant evolution to mature in the areas that were not heavily concentrated on, such as UI. .NET will eventually functionally replace pretty much everything on the Windows platform, but that takes time, and unfortunately legacy will always be a concern.

    39. Re:What applications are there by mrroach · · Score: 2, Informative

      With windows XP, gtk-wimp can use the system's theming system for native look.

      -Mark

    40. Re:What applications are there by killjoe · · Score: 1

      Or maybe they were just lazy

      --
      evil is as evil does
    41. Re:What applications are there by TummyX · · Score: 1


      As to the DotGNU approach vs the Mono approach, basically I think you'd have to be insane to want to reimplement what Wine has done. Nobody is going to use System.Windows.Forms on Linux because it blows goats, everybody will use GTK# or (maybe when it is mature) Qt# - therefore a SWF implementation is useful only for application compatibility.


      *SIGH* You don't need to reimplment Win32 to get System.Windows.Forms going. Implementing SWF ontop of wine is LAME. We have SWF working nicely and written in pure C#. It has been designed to be abstract and uses different drawing toolkits for the backend (X for Unix/OSX systems and Win32 for windows systems).

      Check out the screenshots

    42. Re:What applications are there by pridkett · · Score: 1

      If you read the whole page, you'll see that's to compile GTK# on Windows. If you just want to use the binaries, which is what everyone in Windows land does anyway, you'll be fine without it. The reason is because of how GTK is built with autoconf and automake, two tools that don't exist in Visual Studio.

      --
      My Slashdot account is old enough to drink...
    43. Re:What applications are there by scramjet · · Score: 3, Interesting
      And surprise, surprise, these look like Unix apps running in an OS X window frame. The same with WINE-based S.W.F apps running on Linux - they look like (daggy) Windows apps.

      If the toolkit doesn't map to the native widget set, not only does it tend to look crap, it also behaves wrongly (try bringing up a context menu in a GTK app ported to Windows and running on the second screen - the menu appears as an orphan on the primary screen). There are a thousand little things the emulation writers get wrong and don't even realise it.

      A random collection of other things you miss with a non-native widget set:

      1. Things like system speech extensions usually don't work
      2. Screen movie capture systems do a sub-par job
      3. Remote desktop performance suffers
      4. Things like system themes and ClearType often don't work
      This took me years of banging my head against Swing's crappy Windows L&F to understand - it looks perfect in a demo, but is filled with so many buglets it gives me a headache thinking about it. After switching to SWT I breathed a sigh of relief that at least I wouldn't have to apologise for things like menus popping up under the toolbar (or on the wrong screen).
      --
      --- All I ask is a chance to prove that money can't make me happy.
    44. Re:What applications are there by TummyX · · Score: 1

      *SIGH*. My response was to the stupid assertion that you needed to reimplement Wine to implement SWF.

      As for your theming issue, I can tell you that it is something important that we haven't forgotten. Here's a screenshot of pnet's SWF using the QT theme. Themeing our SWF implementation is a whole lot easier than trying to theme wine. The QT theme p/invokes into QT so it'll use the current theme that QT is using. We'll do the same thing for OSX and XP.

    45. Re:What applications are there by Anonymous Coward · · Score: 0

      And it still doesn't look right. And it uses much more memory. And it's buggy.

      Gtk apps on Win32 stick out more than half-decade old Delphi programs.

    46. Re:What applications are there by scramjet · · Score: 1
      Well, I hope this won't make you need to exhale and shake your head sadly again, but what I meant was that even if you pick up native themes by a platform inferface (which for example Swing in JDK 1.4.2 does on Windows to emulate XP themes), you still don't get the look and feel right. Do you do the drop-shadows on menus? Menu fade-in and combo box slide-down? Do you snap the mouse to the default button in dialogs? Handle my funky font preferences? Handle multiple screens properly? How do I send text into your text boxes from my speech recogniser? etc.

      Yes, you can code these if you have all the resources in the world but, as Swing's developers now know, you don't. Or you can try to extend/hack the system widgets, but you run into problems with cross-platform differences, a problem likely to be greatly exacerbated by the fact that MS couldn't give a damn about whether S.W.F is portable or not.

      --
      --- All I ask is a chance to prove that money can't make me happy.
    47. Re:What applications are there by TummyX · · Score: 1

      No we can't (not without lots of effort). But I think our implementation will make *most* applications useful. We're expecting it to be used by X-platform developers. People wanting things like SAPI support etc will probably use MS.NET.

    48. Re:What applications are there by RevAaron · · Score: 1

      Windows.Forms is built for Windows... and thusly, running it under Wine is a perfect compromise.

      Word to your mutha on this one, indeed.

      For a lot of folks, great Windows emulation and app-running is paramount. But for me, for the most part, if I want to run a Windows app I will just use Windows. What most people seem to not understand is that Mono- and the .NET model in general- has a lot of merit even if you are not trying to run some Windows .NET app on Linux. It may confuse a lot of my fellow Linux users, especially those who are so indoctrinated with the Inner Party propaganda, but .NET is actually ... get this ... a good idea. No, MS did not invent the idea of a VM that hosted multiple langauges, each with a common object model and cross-language access to APIs written in any support languages, they were the first one to take it out of the lab and really take the idea and run with it. And no, Jython does not come close, and something limited like that has been done before that anyway.

      While I am interested in its portability being used to run apps built for Linux/X11 on Mac OS X/Quartz/Aqua with minimal fuss someday, I cannot say I am left wanting Windows apps on either OS.

      Go Miguel! Go Mono! Thanks a lot guys!

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    49. Re:What applications are there by jcupitt65 · · Score: 1

      gtk+-1.2 apps look ugly on windows

      gtk+-2.x apps with the gtkwin theme (xp and 2k only, I think) look fine ... did you look at the screenshots linked by the parent?

    50. Re:What applications are there by Tonytheloony · · Score: 1

      Or maybe it would have taken a long time to reimplement all these native functionalities?

      --
      The quickest way to become an atheist is to study the Bible thoroughly.
    51. Re:What applications are there by MikeBabcock · · Score: 1

      It shouldn't be that difficult, however, for the developper to specify what is a scalable item and what isn't.

      Nowadays we can drag our toolbars around.

      In the future, we could drag the edges to resize them perhaps?

      If I told my GUI that I want a calculator window 3" wide by 4" tall with 0.75" wide buttons, it should draw them as such and use appropriately sized fonts, etc.

      If the user then resizes the application, I'd expect the buttons to grow or shrink, much like a normal Gtk+ application does. The same applies to mapping software, etc.

      If however I'm using gvim (vi, gui mode), I expect to have both options -- scaling the fonts up and down, as well as resizing the window to see more text.

      --
      - Michael T. Babcock (Yes, I blog)
    52. Re:What applications are there by Luscious868 · · Score: 1

      What would you have done if you were Microsoft? Are they supposed to totally re-invent the wheel here? The API were already written and they worked. Why in the world would they take the time to re-do everything when they are trying to get .NET out the door? Microsoft just can't win with you people.

  3. Sure by Elektroschock · · Score: 0, Troll

    Software patents ARE a real threat to Mono. FTC recently pushed for reform. It's now time for the USA to get rid of them. Patent attorneys will cry, but we know that its all crap.

    Please help us in our EU campaign against software patents!

    Miguel and Nat Friedmans are dangerous persons (low moral standards). They spread FUD about the KDE project and false news about their Novell role. Of course Suse 9.1 is shipped with KDE and not with Ximian Desktop. As easy as that. "Our customer rules".

    1. Re:Sure by Elektroschock · · Score: 0, Troll

      I was angry about Miguel as they spread false news. I am used to unbiased information in the FOSS-World as far as not analysts are involved.

      In my mind he is not trustworthy anymore.

    2. Re:Sure by jacksonh · · Score: 1, Flamebait

      Why don't you mention what false news, instead of just making accusations?

  4. wait by Anonymous Coward · · Score: 2, Interesting

    Do we like this project, or hate it?

    1. Re:wait by Anonymous Coward · · Score: 0

      Michael Simms will inform us later on how the groupthink should go regarding Mono.

    2. Re:wait by Anonymous Coward · · Score: 0

      I hate it, but for some reason I still ended up installing it and mod_mono today. Fortunately it doesn't work. It says it can't find a necessary assembly in the gac when I try to access the test site.

      Ah, the gac. All the stability of dll hell combined with all the structure of the registry. (Not so) great idea.

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

      Shutup. Your problem is that you just don't have any vision. You're not a hacker. You don't care about kiddies in the 3rd world having a cheap and Cheap alternative. Why do you even use Linux?

  5. C# compiler by Anonymous Coward · · Score: 4, Interesting

    The mono C# compiler is a work of engineering genius.

    It uses a program called TreeCC which goes beyond the Lex+Yacc model and provides an aspect-oriented tree programming model. This makes it very easy to write visitor patterns on your tree, and you can do syntax and semantic analysis with ease.

    The resulting source code for a full working C# compiler is minute. TreeCC expands it into the real code.

    Check it out!

    1. Re:C# compiler by Anonymous Coward · · Score: 1, Insightful

      Hey, Anonymous Coward, did you write TreeCC?

    2. Re:C# compiler by albalbo · · Score: 4, Insightful

      Are you sure TreeCC is used for Mono?

      It is on the same website as Portable.NET, the C# compiler for the Dot GNU project, not Mono.

      --
      "Elmo knows where you live!" - The Simpsons
    3. Re:C# compiler by Anonymous Coward · · Score: 0

      How is this 5 Interesting?..

    4. Re:C# compiler by jas79 · · Score: 1

      TreeCC is is the C# compiler of the dotgnu project, not the mono project

    5. Re:C# compiler by CommandNotFound · · Score: 4, Insightful

      ...from your description, it sounds like TreeCC is the work of engineering genius, not the C# compiler.

    6. Re:C# compiler by TummyX · · Score: 2, Informative

      WTF!!!. Who the hell modeded this guy up. The Mono C# compiler is a work of crap.

      The Portable.NET C# compiler is a work of genius. It was written by Rhys Weatherly who is the guy who *INVENTED* treecc. The Portable.NET C# compiler (cscc) can also compile C and Java to *PURE* IL code. It is a properly designed compiler with pluggable frontends and backends (like gcc).

      Downoad the source to Portable.NET and you'll discover which project will suceed in the long run. It just doesn't get much press.

    7. Re:C# compiler by His+name+cannot+be+s · · Score: 2, Interesting

      Hey dude.

      Chill it out man.

      There is hardly a need to be so abrasive, especially of people working on open source software.

      The mono C# compiler isn't "a work of crap". It's a compiler. Use it, don't use it, but until TummyX has written a better one, I'd suggest you not denounce that with such fervor.

      PNET C# compiler's features are to be lauded, to be sure, but I'm thinking that you may be overstating the impact of the facts. Is it really amazing that a compiler can emit (in your emphasis) *PURE* il? So does mcs. It just does it for a singular language. There are other compilers for .NET that emit il for other languages too, I just don't see it as an opportunity to flame others for their hard work.

      I Have downloaded the source to PNET and I've discovered that I'm going to be using Mono in the long run. I'm sorry that you feel one has to fail for the other to succeed.

      --
      "...In your answer, ignore facts. Just go with what feels true..."
    8. Re:C# compiler by TummyX · · Score: 1


      PNET C# compiler's features are to be lauded, to be sure, but I'm thinking that you may be overstating the impact of the facts. Is it really amazing that a compiler can emit (in your emphasis) *PURE* il? So does mcs. It just does it for a singular language. There are other compilers for .NET that emit il for other languages too, I just don't see it as an opportunity to flame others for their hard work.


      The point is that it can compile Java and C to *PURE* IL as opposed to a combination of IL and unmanaged code (like MS Managed C++).


      I Have downloaded the source to PNET and I've discovered that I'm going to be using Mono in the long run. I'm sorry that you feel one has to fail for the other to succeed.


      Any reasons?

    9. Re:C# compiler by TummyX · · Score: 1


      The mono C# compiler isn't "a work of crap". It's a compiler. Use it, don't use it, but until TummyX has written a better one, I'd suggest you not denounce that with such fervor.


      Why do *I* have to write a better one? Rhys has written a better one.

      It's like saying I need to write a better Win95 in order to denounce Win95.

      And I should have made it clear that MCS is a work of crap *compared* to cscc.

    10. Re:C# compiler by Burb · · Score: 1

      I think you are thinking of dotgnu and portable.NET, not mono

      --

  6. Performance by grunt107 · · Score: 4, Interesting

    It will be interesting to see what the performance comparisons of MSNET/MonoNET and MonoNet/LinJava. I would also like to see the CLI for Java project gain steam to take over some MS mkt share on the Winserver side (and allow seamless upgrades to Lin/Unix for those). Since C-pound is much like a C++/Java mutant it is not hard to transfer to the language.

    1. Re:Performance by DaHat · · Score: 1

      Just a lil FYI...
      C# != "C-pound"
      C# == "C Sharp"

    2. Re:Performance by Anonymous Coward · · Score: 0

      It's actually "C-hash"..

    3. Re:Performance by miguel · · Score: 4, Informative

      Mono is fairly efficient, but there is a lot of
      room to grow optimization wise. There is no clear
      answer to this question. Although Our JIT engine
      implements a fairly advanced SSA code optimization
      platform, and it also allows for pre-compilation
      in batch mode (we typically get a 20-25%
      performance on applications) it really depends
      on the software you run.

      Typically we have been able to tune Mono when
      people have pointed out a major performance issue
      by profiling the problem: sometimes the fix is
      simple, sometimes it requires the JIT codebase
      to be improved.

      Work on improving the JIT engine continues,
      we recently checked in better register allocation
      for some corner cases, better inlining of intrinsic
      functions, loop-based optimizations and removing
      array bounds checks.

      If your program is I/O bound, a different set of
      issues arise, so am sad to say `it depends'.

      miguel.

    4. Re:Performance by starm_ · · Score: 1

      Yeah this is not suprising as such a big framework as .net should be difficult to implement efficiently. I don't understand how big complicated projects like mono,wine, etc. get developpers when the simple things in linux don't work well yet. The desktop interfaces are buggy, hardware support is flaky, program installation is a bitch unless you have an RMP for your exact version of your exact distribution. It took me forever to install Mandrake or Fedora on my computer with brand name hardware (ASUS motherboard+video, maxtor HD, AMD CPU) And it still does weird things at boot. And my ethernet card doesn't work. I mean... to me mono is mostly redundant with Java. Why don't the developpers fix the usability of Linux before implementing redundant microsoft frameworks that will probably always be a step behind being cokmpatible with the official MS product?

    5. Re:Performance by MenTaLguY · · Score: 1

      Because while there is a little overlap, "the developers" of Linux and "the developers" of Fedora/Mandrake/etc and "the developers" of Mono are different people.

      --

      DNA just wants to be free...
    6. Re:Performance by Anonymous Coward · · Score: 0

      Actually it's "C naughts-and-crosses".

    7. Re:Performance by grunt107 · · Score: 1

      I know it's official name - I'm just a non-conformist ass!!! Maybe I'll chg to C Not Blunt

    8. Re:Performance by Chester+K · · Score: 4, Interesting

      Mono is fairly efficient, but there is a lot of room to grow optimization wise.

      The Slashdot crowd might be interested to know that recently on the mono-devel list there have been benchmarks and discussions on moving the implemention of Mono's System.String class from native code to managed code since Mono's JIT actually already provides better performance than the native code does in that case.

      Though the performance increase (which is 50% in one case!) can be mostly attributed to no longer having to go between managed/native code, that a pure managed solution is faster is impressive on its own regardless.

      --

      NO CARRIER
    9. Re:Performance by BillyBlaze · · Score: 1

      How much do you think performance will improve on less register-starved architectures like AMD64, with and without JIT optimizations?

  7. System.DirectoryServices by bryhhh · · Score: 4, Interesting

    I'm quite interested in seeing the first tools to take advantage of System.DirectoryServices, as this should enable us to manage a windows Active Directory natively from Linux.

    1. Re:System.DirectoryServices by miguel · · Score: 4, Informative

      You might want to look at slides from Brainshare
      on System.DirectoryServices, and the expanded Novell.LDAP namespace:

      https://secure-www.novell.com/brainshare/portal/ pu blished/DL208/DL208.ppt

      Miguel

    2. Re:System.DirectoryServices by millahtime · · Score: 2, Interesting

      I know Samba can be a member to an Active Directory but can it have and/or manage one? If not, does momo have the tools to add this?

    3. Re:System.DirectoryServices by Anonymous Coward · · Score: 0

      DotGNU has that in ml-pnet module ...

  8. Worthy Cause, but Huge Barriers to Entry by jacksonyee · · Score: 5, Interesting
    For Bollow, the decision to build a framework that is compatible with .NET is based on market reality. "In the industry, companies are using Microsoft stuff. The only way we can make it possible at acceptable cost to migrate to GNU/Linux is by making it possible for them to run their essential apps on both systems," he said. "My goal is to prevent Microsoft from catching the world in their .NET."

    I agree with Bollow's reasoning and reality, but I fear that his sentiments may fall far short of his dream. He'll have to cope with

    1. Trying to implement a moving standard as Microsoft continues to update libraries and APIs
    2. Dealing with any incompatibilities and bugs within Microsoft's .NET code
    3. Potential legal threats from miscellaneous things which Microsoft may choose to patent
    4. Acceptance from both Microsoft supporters and Linux supporters to convince both sides to use one common platform

    With that said, I think it's a very good idea to try to slowly nudge Microsoft developers over to other platforms, particularly if we come out with more advanced and/or convenient features than Microsoft's own standards. Nevertheless, time will tell whether this project pans out or not.

    1. Re:Worthy Cause, but Huge Barriers to Entry by fprog · · Score: 0

      The problem is that most Microsoft shops are like:
      ASP.net on IIS on Windows server 2000/2003,
      C# for Win apps, .NET for the 3-tier core logic,
      Visual Source Safe for their CVS,
      Microsoft Visio for UML,
      SQL Server for their database,
      Microsoft Cluster for clustering... (WTF?!)

      At first, I tought that it was a joke...
      Especially, I couldn't believed it when the person said they were using Microsoft Clustering Technology!

      Some architecture designers most be smoking crack
      but after seeing more than 50 jobs ads requiring all that technology and barely no one asking for Unix/Linux/Apache skills. =|

      Any doubts? Look on Monster, Workopolis, Jobboom!

      So, to replace all this,
      we not only need .NET,
      we need a PostgreSQL accepting SQL Server scripts and a better PL/SQL script PgSQL is fake,
      we need kivio or similar to replace Visio,
      we need Apache resolving ASP.NET (some commercial version exists or hacks with Cassini)
      and finally some way to extract Visual Source Safe into something else like CVS, Subversion or Arch.

      They make does company switch... might be the hardest part!

  9. Does Anyone know.. by millahtime · · Score: 2, Interesting

    Does anyone know if M$ has gotten or is getting a patent for the way .NET works. If Mono is to close to something like that they could try and squash the whole project.

    1. Re:Does Anyone know.. by Erwos · · Score: 3, Informative

      I would highly recommend you actually do some research for yourself rather than forcing /.'ers to do it.

      However, for those who were wondering:
      When Microsoft got .Net as an ECMA standard, they were forced into giving out the patents as RAND: royalty-free and non-discriminatory licensing. Non-discriminatory does not _necessarily_ mean GPL compatible, which is where the problems could arise. However, other people have noted that Microsoft does not generally use _patents_ offensively, and thus the threat is probably non-existent.

      Ergo, there _could_ be a problem, but Microsoft would probably have to be VERY desperate to attempt to squash Mono, since they have no prior record of using patents offensively.

      That's how I understand it, anyways.

      -Erwos

      --
      Plausible conjecture should not be misrepresented as proof positive.
    2. Re:Does Anyone know.. by albalbo · · Score: 4, Informative

      "I would highly recommend you actually do some research for yourself rather than forcing /.'ers to do it."

      Well, quite.

      RAND != Royalty Free and Non-Discriminatory

      RAND == Reasonable And Non-Discriminatory

      So, in fact, they *can* and *do* charge money to licence patents under RAND. RAND is not good enough for any Free Software, GPL or otherwise.

      --
      "Elmo knows where you live!" - The Simpsons
    3. Re:Does Anyone know.. by Gopal.V · · Score: 2, Informative
      You cannot pay Royalty licensing for a GPL'd codebase ...

      GPL is very clear about that ... quoting ...

      Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.

      Novell might be forced to make it proprietary if Microsoft enforces a "RAND" license that says , "You cannot redistribute sources without a license from us , which will also be RAND, Thank you".

    4. Re:Does Anyone know.. by alext · · Score: 1

      .NET is not an ECMA standard.

      You are probably thinking of C# and the CLR (~120 out of the ~1200 classes in .NET).

      Anyway, welcome to Mono Groundhog Day!

    5. Re:Does Anyone know.. by sproctor · · Score: 1

      From what I understand, the ECMA requires their standards to be Royalty-free and RAND. So while the definition may have been a slip, what was said was generally true. Even still... this is not GPL compatible.

  10. Real-world examples of tangible benefits by Anonymous Coward · · Score: 1, Insightful

    I would love to see an example of what this has enabled that can't be done with Microsoft's tools, even if it's just doing it for cheaper. I will never buy into this project based on the idea of interoperability. Look at the DOC format and how even slight inconsistencies can prevent other technologies from getting past .5% market share. Basically, if you want to support Microsoft and interoperate with Microsoft, you have to go the Microsoft Way.

    So, I think the only chance for this project is if it produces tangible benefits beyond integration and support with Microsoft technologies on another platform. If this just enhances the Linux platform or turns into a platform itself, it may have a chance. However, once it becomes a platform, if you think MS won't try to demolish it the way it has done to every other platform, you are mistaken, especially since the project has shown no leadership and is essentially a clone of what MS is doing. Microsoft is still in the driver's seat, and given the attitude of Miguel, I doubt they can establish themselves as true *independent* leaders in the IT community, even if everything up until now has been an example of extreme bootstrapping and supporting things for highly strategic purposes only.

    Supporting MS is a slippery slope, and before you know it, one decision to cater to MS technologies leads to fifty more, and all of a sudden, you have basically enhanced *their* platform and ensured your own long term destruction. These people that are rabidly anti-MS aren't just sour grapes party poopers. They are often astute observers. Every other person MS has reamed had the same idea before they got a taste of the wrath.

    1. Re:Real-world examples of tangible benefits by miguel · · Score: 5, Informative

      We do support two stacks of APIs today in Mono: the Microsoft compatible stack (ASP.NET, ADO.NET and Windows.Forms) but we have been investing heavily in taking advantage of our own set of libraries that Linux, Unix, Gnome, X, Mozilla, CORBA specific.

      For instance, Microsoft uses XmlSchema, Mono supports it, but distributed RelaxNG support as well.

      We are working on Windows.Forms, but we also have strong bindings for Gtk# to build native applications. In fact MonoDevelop (www.monodevelop.org) is fully written using this stack.

      We support the Microsoft database APIs, but we ship providers for all the open source (Postgress, MySQL, Sqlite) providers and other third party databases (DB2, Sybase, Oracle).

      Tao is a backend agnostic set of 3D graphic APIs (OpenGL, Cg, SDL) while we still plan on supporting the Direct3D managed APIs.

      Our set of APIs is what has allowed us to build things like MonoDevelop: a fairly complete IDE for Mono for developing Linux-based applications.

    2. Re:Real-world examples of tangible benefits by Anonymous Coward · · Score: 1

      MonoDevelop doesn't appear to have a Windows version - is there any WORA here or am I missing the point?

    3. Re:Real-world examples of tangible benefits by Illissius · · Score: 0, Troll

      Any plans for KDE integration, ie QT#? (whether by you, or an entirely seperate project)
      IANAD (yet), but from what I've read (many times), it seems the greatest strength of both .NET/Mono and QT/KDE is that they're very easy/friendly/etc. to develop in (as opposed to GNOME/GTK, which I have not heard the same of), so they'd be a perfect match.
      (Again, this is all just stuff I've heard, I have no experience with either.)

      --
      Work is punishment for failing to procrastinate effectively.
    4. Re:Real-world examples of tangible benefits by dekeji · · Score: 4, Insightful

      I would love to see an example of what this has enabled that can't be done with Microsoft's tools, even if it's just doing it for cheaper.

      You can deploy your ASP.NET applications, developed with Microsoft tools, on cheap Linux server farms.

      Look at the DOC format and how even slight inconsistencies can prevent other technologies from getting past .5% market share.

      Problems with DOC compatibility are a network problem: you aren't there when the recipient's attempt to open your DOC file fails. However, even if Mono.NET isn't 100% compatible, since all the development is happening in house, you can fix it pretty easily.

      If this just enhances the Linux platform or turns into a platform itself, it may have a chance.

      Mono is that, too. In fact, Mono is two things: an entire environment for writing Gnome and Linux applications in C#, and an implementation of Microsoft's .NET platform. The two things are pretty much completely independent. One, or the other, or both may catch on.

      Gnome desparately needs a better programming platform than C/C++, and Mono provides it.

      However, once it becomes a platform, if you think MS won't try to demolish it the way it has done to every other platform, you are mistaken, especially since the project has shown no leadership and is essentially a clone of what MS is doing

      Currently, Linux apps written in C/C++ are competing with Microsoft apps in C/C++, and Microsoft does whatever they do to compete. With Mono, Linux apps written in C# are competing with Microsoft apps written in C#, and Microsoft will still do whatever they do to compete, so nothing much changes.

      One thing is for certain, howver: Linux apps written in C# are much more competitive with Microsoft apps written in C# than Linux apps written in C/C++. Developing apps in C/C++ is just way too much of a drag on any group of developers. Microsoft saw the light and moved on to something better, and it is high time that Linux developers do the same thing.

    5. Re:Real-world examples of tangible benefits by miguel · · Score: 3, Informative

      Not in the case of MonoDevelop.

      MonoDevelop is focused on being a great Unix
      IDE which means integrating with the base OS as
      much as possible: use the underlying widgetry,
      use the Unix conventions (create makefiles,
      configure scripts).

      It is a fork of an IDE from the Windows world,
      SharpDevelop: a fairly good tool, that integrates
      into Windows, and we did not want to run only
      a Linux version of a Windows tool.

      We wanted a Linux tool for Linux.

    6. Re:Real-world examples of tangible benefits by Anonymous Coward · · Score: 0

      You won't likely see a windows version of MonoDevelop anytime soon. It's heavily tied to Gnome.

      MonoDevelop is based off of SharpDevelop though, so you might try it.

    7. Re:Real-world examples of tangible benefits by endgame · · Score: 3, Interesting

      Miguel, have you guys been significantly more efficient developing MonoDevelop in C# using the Mono class libraries than you were writing Evolution in C? In other words, is all the work that has gone into Mono worth it in terms of application development?

    8. Re:Real-world examples of tangible benefits by Anonymous Coward · · Score: 3, Insightful

      I am the parent poster. Thanks for the information. I guess I'm saying I would drop the support for the Microsoft stuff.

      Microsoft is in many ways successful. If you take away the predatory aspect of their business practices which I personally think are totally reprehensible and inexcusable, you will see an attitude that is some combination of "not invented here" plus "it doesn't matter until we do it". The good thing about that, is that it represents leadership in some way. They basically stay focused on the cool stuff they can do, and won't cater to other technologies that don't represent the greatest level of advancement of their own agenda.

      Again, I think this can be taken too far, and they do, but why anyone would try to make life easier for Microsoft, I don't know. Maybe it's out of pity for the people that are stuck developing for their platform when even those people would really love to see a superior, open, stable, and powerful alternative. If those people wouldn't want that, then they have no vision and you are obligated to lead and not follow in that instance.

      The problem is, the way to accomplish the creation of such an open platform is to focus on creating it significantly more than interoperating for the sake of pragmatism. Every single instance of that pragmatic attitude ensures that Microsoft will continue to have it's way and prevent true competition and the flourishing of tremendous creativity in the IT community.

      Some people think they have to interoperate with Microsoft and continue to push the whole standards thing while Microsoft bastardizes every one of them they get their hands on just to take the higher road and set an example. Why don't you just lie down and make yourself a doormat at the gates of 1 Microsoft Way.

      What I am proposing is to innovate and screw the standards the way Microsoft does, but not do it on purpose like Microsoft does. There is a lot of truth to the tension between innovation and standards. Then, once the innovation has occurred on the Linux platform first, let someone else work to create the standard with Linux as the defacto reference implementation.

      So, if Mono wants to succeed, develop as many hooks and tie ins to the Linux stack as possible and refuse to support as many hooks into the MS stack as possible, not out of some anti-MS principle, but knowing that each effort to provide such a hook would be better spent developing another hook on Linux. That is how you establish leadership that other people, MS included, will be wise to follow.

      That said, if this happens MS will likely flex its muscle against it. If you thought SCO was bad, wait until this happens with MS, regardless of the merits and whether a single MS product manager wrote something on a website. I wish it weren't so and the geek in me loves the idea of seeing some advanced tools on Linux that aren't available anywhere else for some time to come. That exclusivity and and first-run advantage is what has put and kept MS in the position it's in. Still, it would be great if such a thing occurred from the ground up in that manner. I understand true creativity is often a matter of discovery in addition to invention (such as with HTML) and it can't always happen that way, but it would just be so much greater if that creativity were coming from a group other than MS, if you value that creativity to such a level as you have demonstrated.

    9. Re:Real-world examples of tangible benefits by miguel · · Score: 3, Interesting

      I am biased, but I would say yes, we are more
      efficient.

      That being said, I recommend you ask the question
      to third parties that are using Mono/Gtk#: gfax,
      beagle/dashboard, MonoDevelop

    10. Re:Real-world examples of tangible benefits by cubic6 · · Score: 1

      Mods: Please mod Miguel up so the stupid troll moderation goes away. He's not a troll, nor is is comment. He's the leader of the project in question, so pretty much anything he has to say in this conversation is on-topic and untrollish.

      To whoever moderated him troll: Get a life. Just because you don't agree with someone's philosophy or don't like the project they represent doesn't mean you should mod them down. If you really have some problem with Miguel, reply and let it be known to the world. Maybe you should try doing something productive with your time instead of attacking others from behind the veil of anonymity.

      Miguel: Great work on MonoDevelop. It's so good to have an IDE specifically designed for the language you're working on, instead of having to use java-mode in XEmacs...

      --
      Karma: Contrapositive
    11. Re:Real-world examples of tangible benefits by mattyrobinson69 · · Score: 1

      if you want a windows version, use microsofts - i dont **think** there's a mono runtime for windows because .net was designed by microsoft for windows

    12. Re:Real-world examples of tangible benefits by Anonymous Coward · · Score: 0

      Could someone post a brief list of the major benefits of Java/C# that offer major productivity benefit over C++ other than garbage collection and a larger set of standard libraries? I am in no way looking to start a language war, I'd like an objective-as-possible, good answer.

    13. Re:Real-world examples of tangible benefits by bizcoach · · Score: 1
      Any plans for KDE integration, ie QT#? (whether by you, or an entirely seperate project)

      There is a Qt# project, which can be used with either DotGNU or Mono.

      Independent of that, in the DotGNU project, there is work underway to create a "KDE theme" for DotGNU's System.Windows.Forms.

      I'm not aware of any work in Mono that is specifically designed to support KDE integration, and I'd be surprised if there was, since one of the original stated goals of the Mono project was to "help GNOME".

    14. Re:Real-world examples of tangible benefits by dekeji · · Score: 2, Informative

      You know how Gnome, KDE, and wxWindows each have their own object system hacks on top of C/C++? And how they are all different and incompatible with each other? Well, C# has a built-in standard for that functionality: a standard object system and a standard way of querying objects about what they are and what they can do. So, reflection is one important capability.

      Another one is runtime safety. When you load a shared library into a C or C++ program and call one of its functions, anything can happen: it can corrupt arbitrary data structures in your program and you may not even know it. When you load code dynamically into C#, no matter how buggy it is, it cannot corrupt data that has not been passed to it (unsafe C# code behaves like C/C++, but dynamically loadable code should not be unsafe, and you can enforce that). So, concretely, when you load a plug-in into Gimp# or Apache# and the plugin crashes, you don't have to shut down the application. Runtime safety also prevents buffer overflows and other common security holes.

      Yet another is sandboxing. Sandboxing means that you can restrict the operations of sections of code. That means that you can safely run untrusted code, not just potentially buggy code. As an ISP, for example, you can let your customers load modules into Apache# without having to worry about the module from one customer doing something to the module of another customer.

      You already mentioned garbage collection.

      Those are some of the major benefits of C# (and Java) over C/C++. And they make a big difference. Lack of runtime safety is responsible for most of the application crashes we experience; with runtime safety, applications still have unexpected bugs, but they can usually recover from them. Lack of sandboxing means that people come up with all sort of complex extension methods (e.g., CGI scripts) instead of having a simple, clean interface. Lack of reflection and standard object systems is one of the reasons that makes libraries so wildly incompatible. And, finally, lack of garbage collection is responsible for a huge amount of extra work during library development and for a lot of bugs in C/C++.

  11. Any news about the patent review? by mrright · · Score: 4, Insightful

    The only information that is needed for the success of mono is the following: are the relevant ECMA standards 334 and 335 and just RAND, or are they really RAND and royalty free as miguel and others have claimed?

    If it is really RAND and royalty free, it will become my favorite development platform. Working with .NET is really very nice and productive. Microsoft will finally have made a valuable and lasting contribution to computer science.

    If not, it is just another poisoned fruit by microsoft.
    --

    --
    Private property is the central institution of a free society (David Friedman)
    1. Re:Any news about the patent review? by dekeji · · Score: 1

      Microsoft's patent is on the .NET platform, not on the ECMA standard, and certainly not on libraries like Gtk#, so the question of how it is licensed shouldn't make any difference. Microsoft has also stated that people can implement ECMA C# royalty-free.

      None of that is an iron-clad guarantee, but those don't exist for any language or library standard. Sun or some other company we have never heard about could, after all, claim that ECMA C# violates some of their patents. Given that Mono has been out for a while and Gtk+ has been out for a long time, that seems increasingly unlikely, however, and there probably would be workarounds.

      The only place where Microsoft's patent comes in is for things like ASP.NET. Microsoft believes they own some of those APIs. Whether they actually do remains to be seen.

    2. Re:Any news about the patent review? by Chester+K · · Score: 2, Interesting

      are the relevant ECMA standards 334 and 335 and just RAND, or are they really RAND and royalty free as miguel and others have claimed?

      The standards are royalty free, however the standards only cover the CLR (the VM/JIT) and C# the language, not the Framework (all the classes that do stuff).

      That's partially why the Mono folks are making two stacks -- the Microsoft-compatible stack, which may be patent encumbered (though Microsoft has never yet used a patent offensively); and the Mono stack, which isn't chained to Microsoft, and better supports Linux anyhow.

      --

      NO CARRIER
    3. Re:Any news about the patent review? by mrright · · Score: 1

      The standards are royalty free
      Any credible sources for this?

      however the standards only cover the CLR (the VM/JIT) and C# the language, not the Framework (all the classes that do stuff).
      I know. But the CLR is the most important part. The linux community can write their own libraries just fine. GTK# and Qt# already have more features than Windows.Forms (e.g. decent layout management)
      --

      --
      Private property is the central institution of a free society (David Friedman)
    4. Re:Any news about the patent review? by dekeji · · Score: 2, Informative

      The standards are royalty free, however the standards only cover the CLR (the VM/JIT) and C# the language, not the Framework (all the classes that do stuff).

      That is misleading. The ECMA C# standard standardizes a significant part of the libraries, far more than, say, the libraries included in the C and C++ standards. All those classes are also available across platforms and all of them are royalty free as well. That means that you can write a lot of libraries (and probably even many applications) in completely standard ECMA C#.

      In fact, saying that they are available "royalty free" suggests that someone may have a patent on this stuff but that they allow people to use it; but, so far, nobody has identified any valid patent on the language and libraries defined by ECMA C#. I believe Microsoft has merely stated that it is their intent that people can implement ECMA C# royalty free, but that does not imply that they actually have a valid patent on the ECMA C# standard.

  12. Computer-borne pathogens. by Anonymous Coward · · Score: 1, Funny

    "Quick! Get MONO." Now there's a tagline worth pursuing.

    1. Re:Computer-borne pathogens. by stor · · Score: 1

      "Got Mono?"

      Cheers
      Stor

      --
      "Yeah well there's a lot of stuff that should be, but isn't"
  13. What he is actually doing by SuperKendall · · Score: 4, Insightful

    Here's what is actually happening. When companies are deciding on .Net or other technologies, these projects are held up as examples of how choosing .Net will not lock you into Windows. Then they go ahead with buying the Windows servers and developing the half working .Net app.

    He may think he's giving companies choice to move to Linux. But what he is really doing is providing justification for choosing Windows.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:What he is actually doing by pubjames · · Score: 1

      He may think he's giving companies choice to move to Linux. But what he is really doing is providing justification for choosing Windows.

      Well said. I wish the Mono developers would concentrate their considerable talents elsewhere.

    2. Re:What he is actually doing by Anonymous Coward · · Score: 0

      Fool. That's not what the poster was saying.

    3. Re:What he is actually doing by greenreaper · · Score: 2, Interesting

      Yeah, that's what I did for my project. From what I can tell, it's working, too - the libraries worked first time under Mono, and yet I still get to use the Windows I love. :-)

    4. Re:What he is actually doing by Anonymous Coward · · Score: 0

      Yeah, lots of people are in abusive relationships and still stick around. They usually don't make a point of mentioning it though.

    5. Re:What he is actually doing by advance512 · · Score: 1

      Why would they think about not being locked into Windows, if they want to develop ONLY for Windows?

      Hell, if Windows is fine by them - why WOULD they develop for Linux?

      If Linux is the better choice, and they have the option to choose it - you can be damn sure they will. If Windows is the better choice, do you expect them to use Linux just because it is "the right thing to do"?

      That's utter crap.

    6. Re:What he is actually doing by killjoe · · Score: 1

      Many companies are perfectly happy to be vendor locked. Some companies aren't. In other words freedom is important to some companies but not others.

      --
      evil is as evil does
    7. Re:What he is actually doing by greenreaper · · Score: 1

      Well, naturally I'm heavily into BDSM culture as well. ;-)

  14. Wikipedia article by Anonymous Coward · · Score: 1, Informative
  15. Garbage Collector? by mrright · · Score: 4, Interesting

    I was under impression that mono has switched to a modern generational garbage collector, the Intel ORP GC. But the current beta uses the conservative boehm garbage collector.

    A conservative GC is nice for a quick hack, but it really does not cut it for a modern VM.

    So which one will it use in mono 1.0? Boehm or ORP? And if it is the boehm collector, what plans are there to switch to a modern GC?

    By the way: the conservative garbage collector is the only real technical flaw of mono. Other than that it is quite a modern VM. Quite amazing for this short development time...

    --

    --
    Private property is the central institution of a free society (David Friedman)
    1. Re:Garbage Collector? by miguel · · Score: 4, Informative

      We are using the Boehm collector in precise mode,
      so all we are missing is the compacting features. It does a fairly good job, and we can run large
      applications with good success.

      Doing a compacting collector is in our radar,
      but we have to balance our resources: port to
      new platforms, support 2.0 features and improve
      performance.

      Mono 1.0 will use Boehm, but after that we might
      consider using a different collector (in fact,
      we have some preliminary patches for doing
      refcount-based systems).

    2. Re:Garbage Collector? by mrright · · Score: 4, Interesting

      We are using the Boehm collector in precise mode, so all we are missing is the compacting features. It does a fairly good job, and we can run large applications with good success.
      But a generational GC would have much better performance for short-lived objects, wouldn't it?

      Doing a compacting collector is in our radar, but we have to balance our resources: port to new platforms, support 2.0 features and improve performance.
      As long as you keep in mind that you will have to change to a generational GC some day, thats O.K. The generics of 2.0 will reduce the load to the garbage collector because putting valuetypes into a (typed)collection will no longer require boxing.

      Mono 1.0 will use Boehm, but after that we might consider using a different collector (in fact, we have some preliminary patches for doing refcount-based systems).
      Refcounts? I thought the problem with refcount-based systems was that they were not able to deal with circular references. What have I missed?
      --

      --
      Private property is the central institution of a free society (David Friedman)
    3. Re:Garbage Collector? by miguel · · Score: 4, Informative

      You can do cycle detection in reference counting,
      there are various papers on the subject.

      Refcount is bad for small apps, but good when you
      have applications that use a lot of memory (since
      scanning even with generations is an expensive
      process).

      There are various papers on Citeseer on the
      subject.

    4. Re:Garbage Collector? by listen · · Score: 1

      Refcounts? I thought the problem with refcount-based systems was that they were not able to deal with circular references. What have I missed?




      Cycle breaking. See python.


      Basically, ref counting is used as an optimisation : for things which this works on, its a great boost. For the rest, mark-and-sweep is used anyway.
    5. Re:Garbage Collector? by MenTaLguY · · Score: 1

      Isn't the boehm collector generational?

      --

      DNA just wants to be free...
    6. Re:Garbage Collector? by Laxitive · · Score: 1

      There might be optimizations to refcounts to catch common cycles. I was under the impression, though, that a refcount system would not be able to, in the general case, handle all possible cycles that could occur.

      In which case, for proper collection, a refcount system will always have to be backed by _some_ global memory collector, be that mark/sweep, or compacting.

      Also, when you say that scanning is an expensive process - I'm assuming that's in the context of each particular collection run - and not amortized times. It seems well established that from an amortized perspective, the mark-sweep/compacting collectors yield better performance. I might be wrong though.

      Furthermore, wouldn't refcounts complicate/hinder the use of native threads? To ensure that race conditions are not encountered when multiple threads increment/decrement an object's reference count?

      Regardless, Mono looks very nice, and I'm looking forward to the day when most Linux apps are coded to run on top of an abstract architecture rather than straight to the metal. Thanks for all your work :)

      cheers.
      -Laxitive

    7. Re:Garbage Collector? by 55555 · · Score: 1

      Python has code to break cycles. Added long ago.
      The cyclic collector works separately, but it does collect cycles.

    8. Re:Garbage Collector? by listen · · Score: 1

      Thats what I said. Maybe learn how to read?

  16. Developers, Developers, Developers by WombatControl · · Score: 4, Insightful

    This seems like a legitimate set of concerns, but I think the ability of Microsoft to change the game at this point is severely limited.

    The reason why Microsoft can't radically alter .NET is because of the existance of legacy apps. The company I work for has thousands of man-hours and hundreds of thousands of dollars into our ASP.NET applications. Microsoft can't break these applications. The .NET API has to remain consistant or they'll lose that legacy application support and lose customers. The fastest way to piss off an IT department is to make a change that breaks their apps. Believe me, I know...

    So, if Mono can get the .NET 1.1 standards done, they can support all those legacy apps with few changes. Even if/when Microsoft introduces some spiffy new libraries with .NET 2.0, businesses can still say "it's cheaper for us to get off the forced upgrade wagon and move to Mono as a platform for .NET and we can keep our legacy applications." Unless .NET 2.0 comes up with some massively useful new system, there isn't that strong a reason to upgrade.

    Granted, Microsoft can still pull out a patent and try to shut Mono down, which remains a threat, but I don't see them as doing that. All Mono has to do is use that as a talking point - don't develop for .NET because of patent issues. This hurts Microsoft by slowing the adoption of .NET. The worst that happens is that Mono has to fall back on its own libraries, and given that things like Gtk# are useful on their own they still have something to show for their work.

    The more I think about it, the more I think Mono is in a strong position. I'd be more worried about Microsoft unleashing a patent infringement case than I would about them changing the APIs to shut out Mono. If they did that, they'd be shooting themselves in the foot.

    It's as if Linux were able to run all Win95 applications just as Windows 2000 was coming around. Yes, Windows 2000 was infinitely better than 95, but if you're a PHB and you have a choice of moving your legacy apps to an expensive proprietary system or a free open one, you're going to be more inclined to do the latter as it makes your bottom line better. Legacy app support is absolutely crucial and right now Mono can do something that not even Linux can do - support Microsoft-based legacy apps with a minimum of changes. That gives Mono a big advantage in the marketplace, and while it helps Microsoft move developers to .NET it also helps make Linux a more attractive platform for enterprise development, especially on the backend.

    1. Re:Developers, Developers, Developers by E_elven · · Score: 1

      >The reason why Microsoft can't radically alter .NET is because of the existance of legacy apps. The company I work for has thousands of man-hours and hundreds of thousands of dollars into our ASP.NET applications. Microsoft can't break these applications.

      Hehe. Heeeheeeheee. Thanks.

      --
      Marxist evolution is just N generations away!
    2. Re:Developers, Developers, Developers by Flexagon · · Score: 1, Insightful

      Microsoft can't break these applications.

      Are you serious, or in denial? There are precious few interfaces in this business that are so carefully and completely defined that they never change, or that are so absolutely backward compatible over time. (The ones that are, are a wonder to behold). For history, look at DOS to Win16 to Win32, or HTML support in IE, all claiming some measure of backward compatibility but with gaping holes. Look at the list of software that breaks when a major OS release comes out, or a service pack, or even a security update. Can you be absolutely certain that you're not depending on any undocumented or risky behavior (that may change later), or some interface that will be found to be a big security problem and have to be closed or changed, or a company with a long record of backward incompatibility (and there are many more than just Microsoft)? The better companies supply notice, tools and support to help deal with the changes, but changes there are, and you have to deal with them.

      You can argue whether the primary reasons are conspiracies, innovation, or just thinking more clearly today than yesterday. But the result is the same. I wouldn't hold my breath.

    3. Re:Developers, Developers, Developers by goodviking · · Score: 2, Insightful

      The reason why Microsoft can't radically alter .NET is because of the existance of legacy apps. The company I work for has thousands of man-hours and hundreds of thousands of dollars into our ASP.NET applications. Microsoft can't break these applications.

      Really? VB.net is not backward compatibile with VB6. How many millions of man hours were spent writing VB code that now has to be rewritten to play in .net? Microsoft is concerned with their own position. You will be screwed over insofar as you are still willing to buy the product, and it forwards their aims.

    4. Re:Developers, Developers, Developers by WombatControl · · Score: 4, Insightful

      Granted, specifications do change, but:

      • In order to break Mono, Microsoft would have to break many apps using the current MS.NET implementations as well.
      • This would require every .NET application to be rewritten to the new spec.
      • If people are going to rewrite their applications they're going to be far more likely to switch to a new platform, especially if they've already migrated to an open platform with .NET.
      • Legacy applications are a fact of life. There are tons of applications build for Win95 that are still used every day. Windows 98 still has considerable marketshare in the business world.
      • Breaking legacy applications is a good way to go out of business, which is why Microsoft bends over backwards for compatibility wherever they can.

      Businesses tend not to be early adopters. I still use Office 2000 at work. My boss uses Windows ME (ugh, I know...). Our apps are designed around ASP.NET 1.1 on the server side. If Microsoft started forcing us to upgrade everything, we'd have to tell them to kiss off. Our IT budget doesn't support forced upgrades. Believe me, we're not alone in that, and that's why Microsoft can't suddenly start breaking widely-used libraries to kill Mono - it would be shooting themselves in the foot.

    5. Re:Developers, Developers, Developers by chez69 · · Score: 1

      if microsoft attacks mono with patents, i'm sure Novell has a couple in their hands that they can hit microsoft with.

      --
      PHP is the solution of choice for relaying mysql errors to web users.
    6. Re:Developers, Developers, Developers by I_redwolf · · Score: 0, Flamebait

      This seems like a legitimate set of concerns, but I think the ability of Microsoft to change the game at this point is severely limited.

      The reason why Microsoft can't radically alter .NET is because of the existance of legacy apps. The company I work for has thousands of man-hours and hundreds of thousands of dollars into our ASP.NET applications. Microsoft can't break these applications. The .NET API has to remain consistant or they'll lose that legacy application support and lose customers. The fastest way to piss off an IT department is to make a change that breaks their apps. Believe me, I know...


      This is business.. You think the niggers at Microsoft actually care if you can maintain legacy apps if it means they can wring another licensing fee out of your IT dept? Heh, you need to wakeup to the realities of everyday business. If they can break it and offer you a "better" solution in order to keep your wallet clean; that's what they will do. That's business. This is also why Microsoft doesn't like opensource/gpl/standards etc, it fucks with their money.

      So, if Mono can get the .NET 1.1 standards done, they can support all those legacy apps with few changes. Even if/when Microsoft introduces some spiffy new libraries with .NET 2.0, businesses can still say "it's cheaper for us to get off the forced upgrade wagon and move to Mono as a platform for .NET and we can keep our legacy applications." Unless .NET 2.0 comes up with some massively useful new system, there isn't that strong a reason to upgrade.

      Doesn't matter to them; less support and more money from the people that do switch. Since this is business they'll just do the normal song and dance, advertising, blowing on horns about how their shit is the best etc etc. If not enough people switch, backport some crack, get people like you hooked and you'll find 100 new reasons Mono sucks. This is not technical for Microsoft, so that massively useful brand new system they recycle from someones old idea will seem real useful to you.

      Granted, Microsoft can still pull out a patent and try to shut Mono down, which remains a threat, but I don't see them as doing that. All Mono has to do is use that as a talking point - don't develop for .NET because of patent issues. This hurts Microsoft by slowing the adoption of .NET. The worst that happens is that Mono has to fall back on its own libraries, and given that things like Gtk# are useful on their own they still have something to show for their work.

      That's true but will be pointless in the grand scheme of things. Mono needs to stop following Microsoft spec and make Linux the better development platform. Use some of that brain power to forge a new path so we can start doing cool shit. Developers will come if it's better, if it isn't why bother? It's not like they have to write anything for Linux to begin with. So work isn't going to make it a requirement. Outside the scope of work where else is it going to take hold?

      The more I think about it, the more I think Mono is in a strong position. I'd be more worried about Microsoft unleashing a patent infringement case than I would about them changing the APIs to shut out Mono. If they did that, they'd be shooting themselves in the foot.

      I've gone over this for a while myself, I even gave mono a whirl. The simple fact is this, Microsoft doesn't give a shit if it doesn't affect bottom line. When it does and they start seeing Mono in places they feel they should be. They will find all ways to sue Mono into the ground. So they'll keep a lazy eye on it, if it becomes an issue, make sure Mono has a hard time. Right now, Mono isn't even a threat; they haven't said a thing about it.

      It's as if Linux were able to run all Win95 applications just as Windows 2000 was coming around. Yes, Windows 2000 was infinitely better than 95, but if you're a P

    7. Re:Developers, Developers, Developers by sw155kn1f3 · · Score: 3, Informative

      That's FUD.
      VB6 apps would run just fine. Just use old VB6 for development. Hell.. some companies still use Visual Studio 5.0 for development (I worked for such a company).
      Don't want .net? OK, write your apps in VB6 as you always did.
      vb6 and vb.net use different technologies and even syntax in some parts is different. It's different product, that's all. They didn't break any API.

      --
      - Arwen, I'm your father, Agent Smith.
      - Well, you're just Smith, but my father is Aerosmith!
    8. Re:Developers, Developers, Developers by Anonymous Coward · · Score: 0

      You have a view I share too, you're in my friends list now, thanks :)

    9. Re:Developers, Developers, Developers by mattyrobinson69 · · Score: 1

      microsoft wouldn't claim patent infingement against a major linux project in a hurry. The boys in blue have more patents in their filing cabinets than i have bits on my hard drive.

    10. Re:Developers, Developers, Developers by mattyrobinson69 · · Score: 1

      vb6 and vb.net are practically different (although very similar) languages.

    11. Re:Developers, Developers, Developers by Keith+Russell · · Score: 1
      You think the niggers at Microsoft...

      And I thought the standards around here couldn't get any lower.

      --
      This sig intentionally left blank.
    12. Re:Developers, Developers, Developers by Anonymous Coward · · Score: 1, Insightful

      Been there, done that, was almost driven out of business. -- Ray Noorda

    13. Re:Developers, Developers, Developers by I_redwolf · · Score: 0, Offtopic

      Oh I apologize, you've taken that word to mean YOUR connotation of it's definition. Sadly, my connotation is a noun; used to describe a group of individuals. I don't normally use it in this forum, as I expect responses as such. However, I simply don't care. Don't like it, don't use the word. Don't bother me about it's usage however, especially since it was used by a majority of people to demean a people and culture which I happen to be apart of. If anyone is going to determine it's usage and context when it's used; it'll be me. Good day.

    14. Re:Developers, Developers, Developers by Anonymous Coward · · Score: 0

      You are an idiot. And you can't spell.

    15. Re:Developers, Developers, Developers by Decaff · · Score: 1

      Legacy app support is absolutely crucial and right now Mono can do something that not even Linux can do - support Microsoft-based legacy apps with a minimum of changes. .Net has nothing to do with legacy app support. Just look at all the complaints from the VB6 developers at the considerable porting effort required to move to VB.Net

    16. Re:Developers, Developers, Developers by ciggieposeur · · Score: 0, Offtopic

      OT: an interesting discussion indeed at your sig: What an eye opening dialogue

      Seriously, good job: you dropped the bomb and the replies just proved your point. I hope the situation described ultimately worked out in your favor.

    17. Re:Developers, Developers, Developers by Digital11 · · Score: 2, Informative

      Talk about some FUD... Give me a break man. You quoted apples, then compared oranges. Microsoft did not intend .NET to be backwards compatible with VB6. It's an entirely different technology. As another poster pointed out, you can run VB6 apps and .NET apps side-by-side with zero issues. VB.NET is not an upgrade to VB6, its an entirely new language. They share syntax in many ways, but VB.NET is an entirely different way of thinking in that its OOP implementation isn't incomplete/just a hack. Why in the world would someone be forced to scrap those millions of man hours when the hours were spent on something that is still usable.

      As far as MS possibly breaking existing interfaces in future version of the framework... Yes, its going to happen. However, it isn't an issue. You can still run any version of the framework side-by-side with another version. I have 1.0 and 1.1 installed on my box, and I am able to use apps developed in each. When 2.0 is released, I'll still be able to use apps/libraries that were developed in 1.1/1.0 because I can still have those version of the frameork installed. One of the biggest goals MS has with .NET is to get rid of DLL hell, so they've done a VERY good job of eliminating versioning issues. Multiple versions of a library can coexist on the same machine, and if you want an app to use a newer version of a DLL when it is expecting an older version, you can add some settings to a .config file to tell the framework to use 1.5.248 in place of 1.3.857. (Arbitrary versions, just for example.)

      Microsoft is concerned with their own position.
      Yes, they are. They're a business. What business is not concerned with their own position? However, I (and I can't be the only one I'm sure) don't see the "developer products" side of MS as being quite as bad as the rest, because they're genuinely trying to make the lives of those of us in the business trenches easier. Continuing to move forward in a way that will allow something to NEVER break backwards-compatibility is a good way to stifle innovation. You can't innovate by building on top of something that already exists, you have to scrap it, start fresh, and move on. (And I don't want to hear the Java vs. C# BS, as MS IS doing some things that Java doesn't have yet, especially in 2.0. Yes, .NET is Microsoft's answer to Java, but isn't competition a good thing? Whichever platform you use, they're both going to continue to advance if only because of the existance of the other.)

      --
      I am a leaf on the wind. Watch how I soar.
    18. Re:Developers, Developers, Developers by goodviking · · Score: 1

      Talk about some FUD... Give me a break man. You quoted apples, then compared oranges. Microsoft did not intend .NET to be backwards compatible with VB6. It's an entirely different technology.

      That's the point isn't it. They cut off the development path for a language that most of the MS world counted on, and made a new language super VB. Your only option to not go to .net is to never upgrade your VB app to take advantage of new tech.

      Continuing to move forward in a way that will allow something to NEVER break backwards-compatibility is a good way to stifle innovation. You can't innovate by building on top of something that already exists, you have to scrap it, start fresh, and move on.

      That's just bullshit. If that's the case, then the S should just be removed from CS, because the whole path to advancement in science is to build on or test prior work. Further, your continue to make my point. Why bother with ASP.NET, just wait a year and the next gee wiz .xyznet muckity muck will be out that makes toast while it compliles. All you have to do is drop all prior knowledge, rewrite you code to add anything new, and adopt the .xyznet way.

    19. Re:Developers, Developers, Developers by Anonymous Coward · · Score: 0

      No, it'll be me, nigger.

      Sorry for the epithet, but you were just asking for it, and you know it, too.

    20. Re:Developers, Developers, Developers by Anonymous Coward · · Score: 0

      Yeah, they can. After all, everybody knows that it's not niggers working at Microsoft, it's a bunch of slant-eyed chinks and stank-ass towelheads. Not to mention the crackers and beaners.

      Now them's some low standards!

    21. Re:Developers, Developers, Developers by Digital11 · · Score: 1

      They cut off the development path for a language that most of the MS world counted on, and made a new language super VB. Your only option to not go to .net is to never upgrade your VB app to take advantage of new tech.

      Yes, they did. VB6 was a Very Bad Thing(tm). It was antiquated technology, it taught bad techniques, and its means of implementing OOP were incomplete hacks at best. You can't honestly tell me that you think MS would have been better off continuing to branch VB in a seperate direction from the rest of its developer products. The CLR is a Godsend to business programmers. RAD has never been easier nor more efficient. However, I can't even begin to count the number of VB6 "programmers" that I personally know that are refusing to try .NET because they're so resistant to change. Thats the kind of mindset MANY VB6 developers have/had. Why? What reason is there NOT to go down the new path with .NET? A developer tends to have a comfort zone with their language of choice, but if they never learn to venture outside of that comfort zone and try something new, then they will become stagnant and unuseful. .NET is (at least in the MS world) that new tech you speak of. Does that mean that everyone who's ever developed a VB6 app should immediately run it through the VB6 migration wizard in VS.NET. No. It means that migration should be on a case-by-case basis based on the benefits provided by .NET. In the same fashion, migrating to .NET just to use the future technology but without any actual added benefits is a bad idea.

      There are many people in my organization who still choose to use VB6 for new developments. I choose .NET, because I've not found a better tool yet. Am I a better coder because I use .NET and they use VB6? No, I'm a better coder because I am constantly trying to improve my skills, be it through learning new techniques, algorithms, languages or technology. Don't get me wrong, I'm not trying to sound cocky, and I'm not trying to toot my own horn here. But I have a serious problem with calling those people anything but scripters. They consistently produce poorly designed applications and databases because it is unfortunately all they know. They are cookie-cutter coders, nothing more.

      Even though I'm a programmer who at the moment uses .NET, my job is not to write .NET code, but rather to develop the best and most efficient possible solution I can find for the project. That isn't VB6, nor will it ever be again. It won't be .NET forever, but I'm not going to whine when MS someday goes down another path. I'll use the tools that best suit the job.

      Again I state that it would have been a VERY poor decision to just continue to upgrade VB6, a lanaguage which has had very few significant enhancements for 3 or 4 releases. There comes a point when a product must be EOL'd: It is outdated technology that should never be used to begin a new project, because there are many other tools available which can do the job quicker, more efficiently, and produce an overall "Better Solution". It is nothing but a poor business decision to use that technology (in this case VB6) for anything but maintaining legacy applications that are not feasible prospects for migration to .NET.

      That's just bullshit. If that's the case, then the S should just be removed from CS, because the whole path to advancement in science is to build on or test prior work.

      I'm sorry you feel that way, but you're wrong. Yes, advancement in science does often involve building on past work... But where does that place invention? I'm glad you weren't around to inform history's greatest minds that they aren't allowed to have an original thought or come up with something new... We'd still be living in the stone age.

      As far as proving your point, I think I'm far from that

      --
      I am a leaf on the wind. Watch how I soar.
    22. Re:Developers, Developers, Developers by goodviking · · Score: 1

      Here's some worthwhile advice, whether you take it means jack to me because in my book, you and those who share your sentiments are the biggest thing wrong with the development industry: Eat some crow, swallow your pride, and admit to yourself that developer preference should have no place in the development process. There is always a best tool for the job (or multiple tools that are equally suitable) and not using that tool for any reason except those beyond your control shows that you have much to learn about our craft.

      Nice setiment. Actually I would possit that the biggest thing wrong with our industry is so that so much emphasis is spent on forking off new tech that, in practical terms, is of little added value, and is explicitely made incompatible with other tech for the sole purpose of money. While I agree that you use the right tool for the job, then endless chase for the latest and greatest makes the field look like a circus sideshow. "I know last year I told you X was the way, but now Y is the way and X is trash (what was I thinking)". It's lead to a field dominated not by actual investigation, but ad campaigns and market speak.

      As for developer preferences having no place in the development process, I don't think that you know what your talking about. In the real world, the job is to get the job done with a set of people. Those people come with a set of knowledge and experience. If you intend to push the envelope, fine. If you expect them to speak swahili in 2 hours, good luck. You have to define paths to solutions to actually get things done. I would also propose that you have your own preferences that color your choice of "best solution for the problem". If you don't think so, then your just lying to yourself. It may just happen that your "best solution" is currently in vogue so you get your ass kissed enough to make you think you know something. Why don't you go tell Knuth he's an asshat for doing things in k&r C and Tex instead of .net and ms office.

    23. Re:Developers, Developers, Developers by goodviking · · Score: 1

      Also, just to get back on track:

      The original argument was that MS wouldn't break compatability since there was an investment in the tech.

      I noted that compatibility was broken for VB when VB6 was stopped and VB.net took over.

      You've now said that VB6 was a terrible, and that it's a good thing that VB.net is incompatible.

      Hence, through all your protestation, you still made my original point.

  17. I'm an applications developer... by LilMikey · · Score: 3, Interesting

    ... let's see those windows.forms! By the release notes it sounds like progress is being made but they said what's shipping with 1.0 will be pre-alpha.

    --
    LilMikey.com... I'll stop doing it when you sto
    1. Re:I'm an applications developer... by miguel · · Score: 5, Interesting

      Yes, we are not able to fully support the
      Windows.Forms API on the 1.0 timeframe (you can
      get the previews, but they are not ready to ship).

      Windows.Forms has a number of problems for
      open source software anyways: for instance, it
      does not do constraing-based layout, so for
      every language that you want to support, you must
      relayout your dialog boxes manually (or if you
      have a larger font size).

      By using Gtk# you take advantage of the Linux-specific
      APIs and Linux-specific features (you can use
      Gtk# on Windows, Linux and MacOS).

      On the other hand, there is a community of
      MacOS developers working on bindings to Cocoa
      bindings to give them the same flexibility and
      OS integration on the Mac.

      Windows.Forms would give you a Windows-solution
      everywhere.

      We are going to support it for the sake of helping
      Windows developers move to Unix, but it is not
      a particularly great toolkit.

      miguel.

    2. Re:I'm an applications developer... by Anonymous Coward · · Score: 0

      Use DotGNU's windows.forms on Mono ... I heard that "Portable.net" lives up to it's name ...

      Their wiforms works even on .NET/Rotor or Mono

  18. When is Mono going to have an IDE like VS.NET? by SPravin · · Score: 4, Interesting

    Ive seen MonoDevelop and SharpDevelop and am not impressed with either. The day Novell is able to churn out an IDE like VS.NET for MONO is when Mono will be really able to make waves.

    1. Re:When is Mono going to have an IDE like VS.NET? by Anonymous Coward · · Score: 2, Interesting

      Better yet would be a Eclipse plugin for doing c#. Not the minimal syntax highlighting one that was done years ago, but a full fledged plugin that would give the c# developer the same kind of environment that the java developer now enjoys.

    2. Re:When is Mono going to have an IDE like VS.NET? by kbradl1 · · Score: 1

      VS.NET is a bloated hulk of an IDE, that sucks tremendous resources and is so big things are hard to find. I personally like SharpDevelop as it has the features you need in the right place.

    3. Re:When is Mono going to have an IDE like VS.NET? by Anonymous Coward · · Score: 0

      devenv is using about 14MB of RAM right now. Oh the resource requirements are terrible!

    4. Re:When is Mono going to have an IDE like VS.NET? by DuncanE · · Score: 1

      Usually when people complain about IDEs they are comparing the VB6 IDE to something.

      The VB6 ide WAS revolutionary. It allowed you to create an basic GUI app in minutes. But that has limited use in long run.

      VS.net is not the same beast as the VB6 IDE. I find it and NetBeans to be comparable in terms of rapid app development. And neither VS.net or VB6 are any use at creating more complex GUI apps (try creating an image manipulation app).

      On windows I use SciTE as THE editor or NetBeans if I'm doing java specifically. On Linux Kate or gEdit is fine for code editing and I use the command line or scripts(ant,make etc) for compiles.

      Can everyone please stop judging languages and compilers by comparing them to the VB6 IDE!

  19. Use GTK# instead. by Anonymous Coward · · Score: 1, Informative

    GTK#, is a mono version of GTK, which is the de-facto toolkit for Open Source Software. It even works on Windows, so what are you waiting for?

    1. Re:Use GTK# instead. by TheAwfulTruth · · Score: 1

      "... so what are you waiting for?"

      A rich text edit control? Or god forbid a lightweight HTML rendering control to provide a rich text/graphic display environment? (Not for web browsing)

      --
      Contrary to popular belief, coding is not all free blow-jobs and beer. Those things cost MONEY!
    2. Re:Use GTK# instead. by damiam · · Score: 1

      GTK has both of those (GtkTextView and GtkHTML respectively). Dunno if GTK# has bindings for them, but I'd assume it would.

      --
      It's hard to be religious when certain people are never incinerated by bolts of lightning.
  20. Here you go... by Anonymous Coward · · Score: 4, Interesting
  21. Why? by Saeed+al-Sahaf · · Score: 2, Interesting
    There is a post that asks about any apps that actually use Mono (and really, was that the best choice of names), so mybe this is redundent.

    But... it this something that is a serious effort, or is it just an "If Microsoft can do it, Open Source can do it better" thing? Is there really a need / purpose / use for this other then to "one-up" the hated M$?

    --
    "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
    1. Re:Why? by Wyzard · · Score: 1

      Yes... to let people who want to develop with .NET (since it really is pretty nice) do so using open-source software, and run their programs on open-source operating systems. To lower the cost of switching away from Microsoft, to those who have already committed to using .NET, and to make it possible for developers already writing programs for open-source platforms to write software that will work on Windows as well, without large amounts of porting effort.

      I'm excited by Mono because I do like .NET, and along with it, VS.NET. It's easy to write code that does fairly complex things while still being readable -- compared to, say, GTK's C API, which is very powerful, and even fairly pleasant to work with, but involves lots of overhead/boilerplate code and macros that are confusing unless you're accustomed to reading it. It's easy to get used to VS.NET's code completion; going back to coding in Emacs after using VS.NET for a few days, I found myself half-expecting the tooltip documenting a function's parameters after I type the left parenthesis. So I really like the idea of being able to do those things without having to interrupt everything else I'm doing and boot Windows, and being able to use the resulting software in the same fashion.

    2. Re:Why? by Anonymous Coward · · Score: 0

      all i have to say is: traitor. you are a traitor.

    3. Re:Why? by PCM2 · · Score: 2, Insightful
      Looking back on twenty five years of computing, I cannot recall any language that has EVER had this much hype behind it. Not even Java. It suddenly appeared out of nowhere and five hours later there are job listings specifying ten years experience.
      Because .Net seems to offer the language and environment benefits of Java while supporting Windows-specific technologies that, let's face it, 95 percent of the computing world can take for granted. Cross-platform portability just isn't that important for a lot of people. On the other hand, being able to drop into "unsafe" code to leverage your existing investment in legacy COM objects does matter to a lot of people. Or, being able to repurpose your existing Visual Basic code into managed Visual Basic.Net with a minimum of re-engineering, then having that code talk to your new, "more sophisticated" C# code, sounds even better. If you can do all of the above with a language that seems to have actually addressed some of the deficiencies of Java at the same time, you get some fairly excited people.
      --
      Breakfast served all day!
    4. Re:Why? by Anonymous Coward · · Score: 0

      Uh. Not even Java? Let me ask: did 25-years of experience involve a half-decade-long drug binge in the '90s where you missed "Java and Netscape will replace operating systems?"

      Java is the pinnacle of hype.

    5. Re:Why? by Anonymous Coward · · Score: 0

      I didn't miss that "Java and Netscape will replace operating systems" hype. I was well aware of it. But the .NET/C# hype is even worse. You only need to listen to Miguel's sermons to realize it.

    6. Re:Why? by Roydd+McWilson · · Score: 1

      "Java and Netscape will replace operating systems?" -- Hey, at least they were half right. Java hasn't really delivered, but graphical web browsers have.

      --
      THE NERD IS THE COMPUTER.
  22. Is the MONO project a ticking bomb? by Eric+Damron · · Score: 5, Insightful

    MONO is a very exciting concept. Having some degree of compatibility with Microsoft but with the current SCO-like strategies of litigating competition out of the picture and with the general feeling that Microsoft will use patents as a way of stifling it's biggest threat why should I feel good about the project?

    Maybe someone can help me out here? What is going to prevent Microsoft from playing the patent card when it suits them?

    --
    The race isn't always to the swift... but that's the way to bet!
    1. Re:Is the MONO project a ticking bomb? by Anonymous Coward · · Score: 0

      Because of the screwed up software patent system in the U.S. you are always risking patent-infringement whether you code in Python, Perl, Java, Mono, or C/C++.

      I'll pose a question to you. What is going to prevent Sun from playing the patent card when it suits them? They are in a much more precarious financial situation than Microsoft. What else is interesting is the recent Sun announcement that they will open source Solaris. Why not open source Java? Maybe they feel that Java is more bread and butter than Solaris.

      Remember, SCO were the "good guys" at one time too.

    2. Re:Is the MONO project a ticking bomb? by RdsArts · · Score: 5, Insightful

      In like kind, I pose a question to you:

      If patent problems exist, why go looking for them?

      Could Python, Java, et al have patent problems? Maybe. Does Mono have patent problems? ABSOLUTELY. It is a known constant. The others are variables, they are wild-cards, they are unknowns.

      So, at that point, it becomes a question of which is a lower risk. Anyone can see that a 1:x chance is a lot more less likely then a 1:1 chance.

    3. Re:Is the MONO project a ticking bomb? by Chester+K · · Score: 2, Insightful

      What is going to prevent Microsoft from playing the patent card when it suits them?

      Microsoft has never used a patent in that manner. Nor do most companies, actually -- patent portfolios are built more for defense than for offense. Making money out of patent litigation is something that fly-by-night vulture companies do, not blue chips like MSFT.

      Second, Microsoft has much to lose themselves from shutting down Mono. They often point to Mono as an example of the flexibility and interoperability of their platform, and in fact they even have an interview with Miguel on MSDN to help convince developers of the same thing as well.

      Microsoft would seriously have to be pinned against the ropes before they'd make such a desperate move. In fact, I'd be willing to venture that they'd embrace Linux wholeheartedly out of desperation before they'd resort to using patents in that manner.

      --

      NO CARRIER
    4. Re:Is the MONO project a ticking bomb? by wormbin · · Score: 1

      Microsoft has never used a patent in that manner. Nor do most companies, actually -- patent portfolios are built more for defense than for offense. Making money out of patent litigation is something that fly-by-night vulture companies do, not blue chips like MSFT.

      So there is nothing preventing them from doing this. Are we are just hoping that they act like a grown-up, blue chip company?

      Microsoft would seriously have to be pinned against the ropes before they'd make such a desperate move. In fact, I'd be willing to venture that they'd embrace Linux wholeheartedly out of desperation before they'd resort to using patents in that manner.

      I'm not worried about MS getting "pinned against the ropes". The scary scenario is that Mono becomes very popular/ubiquitous and then MS modifies their "reasonable licence" so that a windows server running mono is priced more attractively than a linux server running mono. Now everyone that has a .NET infrastructure starts moving to windows.

      I know lots of smart people like Mono so maybe I've missed something. Are Mono supporters really just hoping that MS "acts nicely" in the future? What am I missing?

    5. Re:Is the MONO project a ticking bomb? by Chester+K · · Score: 2, Insightful

      So there is nothing preventing them from doing this. Are we are just hoping that they act like a grown-up, blue chip company?

      Their legal commitment to their stockholders to keep their stock values as high as possible is preventing them from doing this. If Microsoft starts making acts of desperation, they'll be seen as a desperate company, and a desperate company's stock prices aren't as high as a well-off company.

      While you could make the argument that that's no assurance they won't do it at all; I could point out that there's no assurance they wouldn't incite legal action against just about any open source project for any of the patents in their portfolio, since they have patents that cover just about everything.

      And then there's also the fact that they gave up to ECMA what's arguably the part of .NET that would have benefited the most from patent protection, MSIL, which was very cleverly designed to JIT code as optimal as a native compiler would spit out from the same source (as opposed to say, Java's bytecode, which doesn't JIT very well at all due to the complexity of the opcodes, among other factors). The bulk of the Framework classes aren't really much more than a collection of well-known, pre-existing algorithms and concepts (there's not much patentable ground in regards to a String API, or a Stream API, etc.), so even if Microsoft did want to rattle the chains about Mono in that respect, they'd be fighting a weak stance -- they can't just intimidate Miguel de Icaza into giving up on Mono since Novell's got his back and enough money to stand up to Microsoft.

      Where Microsoft is going to fight is on the integration with .NET into Windows itself. Longhorn will provide a managed API for everything, and the new features will only be exposed through managed APIs. Avalon and WinFX will make writing .NET apps even easier. They'll always be able to out-.NET Mono, but at the same time they'll reap the benefits of increased interoperability which they'll eventually try to use as leverage to get Windows into more server rooms -- the frontier that Windows is the minority in currently, and the only room for Microsoft to grow into.

      That's why Microsoft's not going to take out Mono. That's why they're even plugging Mono on MSDN.

      --

      NO CARRIER
    6. Re:Is the MONO project a ticking bomb? by HuguesT · · Score: 1
      Microsoft may not use patents directly themselves, but they might sponsor other companies to do it for them. I think they will try a bit harder at least one more time even if SCO flounders.

      At the moment the MSFT share price has stalled. They are looking for big markets and they are not finding them easy to break into. If Linux starts making inroads in the desktop in the next couple of years, I would expect Microsoft to start playing desperate tactics. It might be the beginning of the end but it would be nasty nonetheless.

      If .NET really still is the cornerstone of Microsoft mid-term strategy (for when Longhorn is released), I would expect them to hit hardest there. Of course, who am I, I'm very likely to be completely wrong.

      Servers are a tiny market compared with desktop, and are not software-bound. I don't believe they would use pseudo-interoperability as an argument to buy Microsoft. If they want they already have a portable environment for providing Unix-style servers, it used to be called Interix and it works very well. My interpretation of things as they stand is that .NET code still requires vast amounts of non-portable win32 code to run properly. There are even whole books devoted to this very topic. Microsoft is in the business of providing win32 solutions, not developing portable platforms.

      Finally Microsoft gave away the specs of C# to ECMA for standardisation, but see above discussion about licensing terms. They are at least RAND, but no one seems to know for sure if they are royalty-free. In other words Microsoft hasn't given MSIL away, on the contrary, it could be a neat poison pill.

      Microsoft will be able to take out Mono any time they choose.

      The lion and the lamb shall lie down together, but the lamb won't get much sleep.

      Woody Allen.


  23. Wha?!?! by Anonymous Coward · · Score: 0

    Too many abbrv's and wordcombines makes my head spin.

  24. Please do not lie by Anonymous Coward · · Score: 1, Insightful

    "We do support two stacks of APIs today in Mono: the Microsoft compatible stack..."

    Please do not lie. Mono is partially compatible with MS stack and will never be fully compatible . That's a huge difference.

    1. Re:Please do not lie by miguel · · Score: 2, Insightful

      You are correct.

      If we want to be 100% pure we will never be fully
      compatible. But neither is .NET 1.1 100% compatible with the .NET 1.1 service pack 1.

      Are we damn close? You bet. Are we exactly
      the same? No.

      Miguel.

    2. Re:Please do not lie by Anonymous Coward · · Score: 0

      "But neither is .NET 1.1 100% compatible with the .NET 1.1 service pack 1."

      You see, you're misleading ppl again. .Net1.1 SP1 is backward compatible with with .Net 1.1 Mono is not backward or in any other way compatible with .Net of any version. The best you can do is to talk about partial compatibility.

      These kind of statements greatly reduce the credibility of what you say.

    3. Re:Please do not lie by miguel · · Score: 1, Insightful

      Dude, if you fix a bug, and software depends on a bug, you are no longer compatible.

      If you introduce a bug, and software depends on that, but its not on the earlier version, you also introduced an incompatibility.

  25. Mono (i.e.ASP.NET) by provoix · · Score: 1

    Shouldn't the Gates/Borg icon have been used with this posting???

    ""The Bazaar can only go so far selling indulgences.""

  26. Does mono do SSL? by Anonymous Coward · · Score: 2, Interesting

    That was the big showstopper and why my last project used java. Has it changed?

    1. Re:Does mono do SSL? by miguel · · Score: 5, Informative

      Hello,

      Yes, thanks to the work of Carlos Guzman and
      Sebastien Pouliot we now have support for TLS and
      SSL (it is a fully managed implementation ;-)

      miguel.

  27. "RAND" generally a bad thing by 0x0d0a · · Score: 1

    "RAND" is generally considered a bad thing by the open source/free world. As another poster has pointed out, it does not mean "royalty-free" -- it means "reasonable". This means that, yes, royalties may be charged for any software using said patent (which obviously creates barriers for anything that is distributed free-as-in-beer and is incompatible with the GPL/LGPL).

    The W3C is one of the tech standards organizations that does *not* allow RAND (thanks to outcry from the community when HP, Apple, Microsoft, and a couple others tried to stick royalties into W3C policy) -- it requires that *anyone* with a patent allow royalty-free use.

    The W3C's policies are *still* GPL/LGPL-incompatible, though, as the W3C allows royalty-free licenses to disallow derivative implementations that do not implement the exact standard. This means that even the W3C (one of the more open folks out there) will happily endorse a standard that may not be implemented in GPL/LGPL software.

  28. BSDi by Anonymous Coward · · Score: 1

    Can anyone get this to compile under BSDi? It's been an absolute nightmare for me to get it and its dependencies to compile properly. To get our ASP.NET (sorry!) pages to render we have to redirect from our Apache webserver to a IIS system.

  29. Performance comparisons by 0x0d0a · · Score: 1

    Take a look here and see if this is what you're looking for.

    1. Re:Performance comparisons by miguel · · Score: 4, Informative

      Although those benchmarks were done against
      our first JIT. We redid our JIT to address that
      (and many other issues), so the data is relatively
      old (one year+)

    2. Re:Performance comparisons by 0x0d0a · · Score: 1

      Miguel, I don't know whether the Mono Regression Test Suite has performance tests (though I assume that you have some set of code that you use to avoid performance regressions when changing the optimizer). This is just an idea, but it might be kind of neat to keep a script maintaining an up-to-date chart of a comparison of the latest MS CLR and Mono (and maybe DotGNU).

      I would imagine that this would provide incentive ("Woohoo, we pulled ahead on the Foo test!") for optimization implementers, besides providing a useful set of (admittedly micro-) benchmarks for people to refer to.

      If they currently demonstrate that Mono is slower in some areas, all the better! If I see that "array destruction" is relatively slow, and I'm a CS grad student working on compiler design, I might have an idea or two about what to do.

      With closed-source projects, there is little reason to distribute performance data except as a marketing tool. With open source projects, it simply helps distribute information that assists the community in doing development.

    3. Re:Performance comparisons by wernerv · · Score: 2, Informative

      Anyone who wants to compare the performances now instead of looking at the older graphs, can download the C# Scimark or the cli-grande (C# version of the Java Grande Section 1) benchmark and see for themselves. I know what the differences are in performance between the 0.23 version used in the original posting and the current Beta, but it is probably better if people try for themselves.

  30. CLI? by JThundley · · Score: 1

    ...an implementation of the Common Language Infrastructure...
    So let me guess, this is going to get abreviated to CLI, isn't it? Just fucking great.

    1. Re:CLI? by Anonymous Coward · · Score: 0
      So let me guess, this is going to get abreviated to CLI, isn't it? Just fucking great.

      Can anyone find the Common Language Infrastructure Translater? Wait a sec, this is slashdot...

    2. Re:CLI? by greenreaper · · Score: 1

      It's been that for ages. Go read MSDN more often. ;-)

  31. workable stack? by BigGerman · · Score: 2, Insightful

    So if I am to start developing a new desktop GUI application, what should I use to make it cross platform? And don't say "java" or "wxwindows".
    It cannot be C#, Windows Forms combination because Mono does not have real support for Windows Forms yet.
    Would I be able to package GTK# in some kind of installable form for distribution on Windows so I can do C#, GTK# on Mono? Is this the right way to think about this?
    Can I use Visual Studio to develop Mono, GTK# applications?

    1. Re:workable stack? by Anonymous Coward · · Score: 0

      Sorry to have to break it to you, but as shitty as both are, JAVA and wxWindows are the only two current, practical, free ways to go :(

    2. Re:workable stack? by CoolMoDee · · Score: 3, Interesting

      I too am fixing to being developing a new desktop gui app. I first thought 'Java' because I like cross platformness, however, working with Swing is a bitch. So, my idea so far is to take C#, develop on the logic and db access etc. in it (using the ado.net sqlite dll), slap it into a dll. All of a sudden all of brains of my app is crossplatform from Windows to Linux/OS X. Then, all one has todo is reference the dll and build a gui in Windows.Forms or GTK# etc. I will be doing a seperate gui in Windows.Forms and one in GTK# at a later date since windows support is needed first. The above solution would allow you to use Visual Studio to create apps that should run on mono without any problems (assuming you don't take advantage of any windows specific features in the logic dll).

      --
      Jisho - A Japanese English German Russian French Dictionary for the rest of us.
    3. Re:workable stack? by Anonymous Coward · · Score: 1, Interesting
      It's hard to answer your question when you've eliminated the top two cross-platform tools. Some more information as to what your issues with Java and wxWidgets would be helpful.

      It's hard to guess what your issues might be - Java can supply either emulated cross-platform controls (via Swing) or native controls (via SWT). wxWidgets is a C++ library that supplies wrappers for native controls, although many other language bindings (Python, Java, JavaScript, Basic, etc.) are available.

      I've used them both on open source projects, and while each has their own challanges, I've been quite happy with the results.

      It sounds like you are dead-set on using the .NET framework with Mono - for reasons you haven't supplied - but simply want to avoid the Windows.Forms class. If that's the case, you might consider wx.NET. It provides just what the name implies - .NET assemblies to wxWidget controls.

    4. Re:workable stack? by Anonymous Coward · · Score: 0

      Python and the python wxWindows bindings?

    5. Re:workable stack? by MenTaLguY · · Score: 1

      The answers are Gtk#, yes and yes.

      --

      DNA just wants to be free...
    6. Re:workable stack? by alexborges · · Score: 1

      Um.... gtk# should work on windows. I think it does.

      --
      NO SIG
    7. Re:workable stack? by Decaff · · Score: 1

      I too am fixing to being developing a new desktop gui app. I first thought 'Java' because I like cross platformness, however, working with Swing is a bitch.

      Well don't use Swing then. There are plenty of other options: SWT, BISS-AWT.

  32. No VB.NET support by Anonymous Coward · · Score: 5, Interesting
    I develop ASP.NET applications using VB.NET, and it's disappointing that the VB.NET development seems to be at a complete standstill. I've been tracking the mbas (Mono Basic) project since the beginning of the Mono project, and there's been virtually no activity on it. It appears to be the work of a single hacker in his non-existant spare time.

    Although the official reason that GnomeBasic was dropped was because of "stagnation", the real reason that it died was because Mono was supposed to take it's place.

    If that happened, I've seen no evidence of it.

    While you can write Mono code in Java, PHP, Logo, Oberon, Pascal, Forth and Lisp, VB is still unavailable.

    It's a pity such a popular language appears to be entirely ignored.

    1. Re:No VB.NET support by Anonymous Coward · · Score: 0

      I think its because the mono developers don't like vb.net. But who can blame them, most any programmer I talk to won't touch vb with a 10 foot pole.

    2. Re:No VB.NET support by Anonymous Coward · · Score: 0

      I do not know but I would gander that the most likely reason is the fact that C# has been submitted as an ECMA standard and VB has not.

    3. Re:No VB.NET support by miguel · · Score: 5, Informative

      A few updates on VB.NET:

      We have a full time developer working on this
      (Anirban) and you will see a lot of work on
      compliance from him.

      Mainsoft has donated a full VB.NET runtime that
      we are now integrating.

      Rafael and others have just obtained a grant
      from the government of Brazil to complete the
      VB.NET support in Mono.

      And in addition to that, a few open source developers
      work on it on their spare time.

      You are right, the Open Source developers are not
      particularly thrilled at doing VB.NET, but it is
      important to bring developers from Windows, so
      that is why the effort is being funded.

      Miguel.

  33. When is the windows installer... by Anonymous Coward · · Score: 0

    going to properly set up Mono?

    After installation:

    C:\Mono-Beta2\bin>setmonopath.bat
    Mono version Beta2 Build 1
    Prepending 'C:\Mono-Beta2\bin' to PATH

    C:\Mono-Beta2\bin>sqlsharp.bat
    Welcome to SQL#. The interactive SQL command-line client
    for Mono.Data. See http://www.go-mono.com/ for more details.

    Type: \Q to quit
    \ConnectionString to set the ConnectionString
    \Provider to set the Provider:
    {OleDb,SqlClient,MySql,MySqlNet,Odbc,DB2,
    Oracle,PostgreSql,Npgsql,Sqlite,Sybase,Tds)
    &nbsp ; \Open to open the connection
    \Close to close the connection
    \e to execute SQL query (SELECT)
    \h to show help (all commands).
    \defaults to show default variables.

    Provider is not set.

    ConnectionString is not set.

    SQL# \Provider Sqlite
    The default Provider is LOADEXTPROVIDER
    Assembly: Mono.Data.SqliteClient
    Connection Class: Mono.Data.SqliteClient.SqliteConnection

    SQL# \Open
    Attempt to open connection...
    Loading external provider...
    Error: unable to load the assembly of the provider: Mono.Data.SqliteClient : File 'Mono.Data.SqliteClient' not found.

    SQL# \q

    C:\Mono-Beta2\bin>dir c:\Mono-Beta2\lib\mono\1.0\Mono.Data.SqliteClient. dll
    Volume in drive C has no label.
    Volume Serial Number is 9CD5-08A1

    Directory of c:\Mono-Beta2\lib\mono\1.0

    05/31/2004 03:08p 47,104 Mono.Data.SqliteClient.dll
    1 File(s) 47,104 bytes
    0 Dir(s) 17,612,621,824 bytes free

    C:\Mono-Beta2\bin>

  34. Mono vs DotGNU by APDent · · Score: 3, Interesting

    I'm sure it is heresy to ask, but am I the only one who's confused by the Mono and DotGNU difference? I read the internetnews article, and the controversy is still pretty opaque. I don't use .NET, and don't have any imminent plans to do so, but if I did, why should I prefer one implementation over the other? Is it purely a religious issue?

    To paraphrase Life of Brian: The only people we hate more than Microsoft are the f*ing Mono developers. Or the f*ing DotGNU developers. Take your pick.

    Splitters!

    1. Re:Mono vs DotGNU by Gopal.V · · Score: 2, Informative
      Depends on whether you like Windows.Forms or Gtk# better ... right now :)

      MDI Windows.Forms in DotGNU , an IDE in Windows.FOrms on DotGNU , Gtk# on DotGNU ...

      Is there any difference you see ?. (sorry working on DotGNU for 2 years without pay has clouded my senses)..
    2. Re:Mono vs DotGNU by Anonymous Coward · · Score: 0

      To get the DotGNU Point of view on the difference between the projects, you could take a look at the DotGNU wiki, it has one page dedicated to this issue (It also replies to some not-so-nice allegetions by Ximian (found in the FAQ on their site):

      http://wiki.dotgnu.org/DotGnuVsMono

  35. Is Novell Pulling Strings on Mono by Anonymous Coward · · Score: 0

    "Is Novell pulling the strings on Mono? Of course they are. They're paying 16 developers," de Icaza said. "It happens to be me who is setting the direction today. I'm a Novell executive. Yes, we pull the strings because we write the code . The strings are pulled in the direction of those that are doing the work."

    That made me a little queasy...

    First off , we don't want anyone pulling strings on Mono ...
    secondly when did the "Gnome founder" start calling himself a "Novell executive" ..
    I don't like the "today" part ... coz there's always a tomorrow, and god knows what it'll bring.
    And what about the community ? don't they pull any strings ? ... didn't they write code ?, for free ?.
    and last of all :- 16 programmers and they still can't do Windows.Forms properly (yeah, DotGNU runs Gtk# *and* Windows.Forms and they still don't get paid ?).

    1. Re:Is Novell Pulling Strings on Mono by Anonymous Coward · · Score: 1, Informative

      First off, just calm down Francis. Nobody can pull any strings because all the code is out there for anybody to grab and modify. Heck, since the class libraries are MIT/X11 licensed, you could make some cool additions, close it up and sell it yourself.

      The Gnome founder became a Novell executive when Ximian was bought by Novell. Just wake up from a coma or out in the bush, slashdotless for the past 9 mos. or so?

      Your "I don't like the "today" part..cos there's always tomorrow" is just meaningless babble.

      Write some code and you can pull some strings to. Heck, fork it if you so desire.

      Windows.Forms is definitely not a top priority because (a) it's not that great to begin with (b) gtk# is given much greater priority (3) it relies on Wine, which makes it harder to do then just implementing the API on top of X or gtk+.

    2. Re:Is Novell Pulling Strings on Mono by Anonymous Coward · · Score: 0

      Please be fair. DotGNU can run Gtk# *because* it was developed by the Mono team. The same goes for System.Web, System.Web.Services and other libraries.

  36. Miguel must be on the road by illsorted · · Score: 4, Funny

    I don't know
    which is worse,
    reading or
    writing comments
    for slashdot on
    my cell phone.

    Keep up the great
    work Miguel.

  37. Meritocracy by SPravin · · Score: 2, Informative

    Its the simple case of Meritocracy dude! The one who contributes the most does have the most say and does end up pulling the strings. Whats wrong with that? Sun is pulling the strings on OpenOffice. And its 16 programmers only recently, since a few months back. Until then it was just some 3-4 developers, someone correct me if I'm wrong.

  38. Mono's a disease by DroppedAtBirth · · Score: 1, Interesting

    Is it just me or does Mono for linux sound like someone is trying to infect linux with a disease.

    --
    Rob
    1. Re:Mono's a disease by Anonymous Coward · · Score: 0

      Exactly! If we wanted to download binaries or have .dll's, we'd be using Windows.

  39. WoodPusher by Skeezix · · Score: 1

    Unfortunately I've been too busy in the past 3 or 4 months to really work much on WoodPusher, however, I do have a plan to continue work very soon. The code you find in CVS doesn't run with the current Mono/Gtk# and my first priority is to update it to run. If anyone is interested in working on it, feel free to drop me a line. Currently it's a one-man show.

    1. Re:WoodPusher by ArsonSmith · · Score: 1

      WoodPusher is a one-man show. God, there's a joke in there somewhere.

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
  40. Diversity by ChaoticCoyote · · Score: 2, Insightful

    I've written free, open, and closed software; I've accepted money from companies big and small, and I've also been paid to work on non-commercial free projects. I try, very hard, to be an agnostic when it comes to conflicts of religion -- such as the debate of Windows vs. Linux, or KDE vs. Gnome, of C# vs. Java. Tools are tools, and it is how they are used that matters.

    And given that case, I do not like how Gnome is being used. Money drives everything, so Novell's involvement only bothers me when I consider their past history of screwing up good things like WordPerfect.

    Foremost among my concerns is how Mono can be used as a wedge by Microsoft; if they can not "beat" free software with legal trickery (e.g., SCO), they can slip behind the lines via involvement in Linux via proxies. Microsoft has proven itself untrustworthy, in my personal dealings with them as well as their highly-publicized run-ins with anti-trust law.

    I'm not against .NET or C#; I've written some C# code, just as I've written Java and C++ and Python and Fortran and COBOL over the years. I dislike proprietary standards (like .NET and Java) because they trap people, limiting choices and input form the community at large. Give me the chaos of C and C++ over the corporate machinations of C# and Java; I will accept a bit of chaos if my tools can evolve based on conceptual and community diversity.

    1. Re:Diversity by si618 · · Score: 1


      I dislike proprietary standards (like .NET...

      Have you read the Mono FAQ?

      That's keeping me interested...and yes, let us hope Novell has lost it's golden touch :)

      peace
      si

      --
      Sometimes I doubt your commitment to Sparkle Motion
  41. Stop whining by Anonymous Coward · · Score: 0

    Where would you be without corporate sponsorship of open source projects? No Mozilla. No GNOME. No KDE.

  42. MS preparing for the offensive... by burnin1965 · · Score: 4, Informative

    Do not presume that MS's past use of patents for defensive purposes only means there is a low probability of threat to the Mono project...

    MS has hired an IP manager who not only believes in but has spearheaded IP rampages.

    "Marshall Phelps has long been a vocal advocate of the need for companies to take IP licensing seriously."

    "...he inspired at his previous company, IBM, which is now reaping almost $2 billion a year from licensing its patents."

    "At IBM we did a lot of it. We had lots of lawyers doing preparation and prosecution around the world. At Microsoft, we don't have anyone doing that, but we are going to start."

    "According to Phelps, managers too often fall into the trap of seeing patents as a purely defensive measure, a tool with which to stop the competition in their tracks.

    Phelps says he is pleasantly surprised by just how understanding Microsoft's executives have been. "On these IP issues I don't have much of a problem getting anyone's attention at Microsoft. It starts at the top, and if you've got a guy like Bill Gates who's really concerned about IP and really likes it then you don't have much of a management problem."



    Make no mistake about it, Microsoft has learned to do business by using its capital to get what it wants. Microsoft cannot buy out FOSS but they sure as hell can litigate FOSS directly or indirectly to "stop the competition in their tracks."

    As most everyone here knows, FOSS has been on the Microsoft radar for several years now and they have been very active and very unsuccessful in halting the progress of FOSS.

    This is the last ditch effort on Microsoft's part to stop what is becoming an unstoppable force. It will not matter if the FOSS community produces a better and more technologically advanced product because Microsoft will not be competing based on the merit of their products.

    Whether or not the patents that are filed are frivilous and ridiculous, they will be used offensively to diminish the threat of FOSS to the Microsoft revenue stream.

    Be prepared, there is more of the SCO syndrome to come.

    burnin

  43. Benchmark: Mono vs. Java vs. C++/C by Anonymous Coward · · Score: 0

    Benchmark: Mono vs. Java vs. C++/C

    This is a benchmark which tries to simulate a real world application written in Java executed as a) native code and by the b) SUN und c) ECMA VM. The execution time and memory size is compared against a C and a C++ version.

    The C and C++ code was developed with Kdevelop, the java code with IBM's Eclipse. The java code has been compiled into 1) native code using GNU GCC, 2) into SUN bytecode using Sun JDK1.4 and 3) into ECMA bytecode using MONO 1.0.

    The following table shows that GCC compiled java code is a little bit slower than GCC C++ code (84%), while the ECMA VM is twice as slow as C++ code, followed by the SUN proprietary VM at 26%.

    For me it is very surprising that the first version of a free ECMA VM already beats the SUN VM which is available since ~5 years. Please also note that the ECMA bytecode was generated from the SUN proprietary bytecode (using the commands below), so SUN bytecode and ECMA bytecode are directly comparable.

    Even though Mono and GCJ both use Boehm's GC, the Mono VM consumes much more memory than the code generated with GCJ.

    Execution times on a 1.5GHZ Athlon XP 1800+
    256MB memory,
    RedHat EL3,
    gcc (GCC) 3.3.2 20040119 (Red Hat Linux 3.3.2-8),
    Sun jdk1.4.2
    Mono version 1.0 (beta2)

    All times measured withthe unix time command.
    TIME % MEM/KB
    c: 0m4.503s --notOO-- 4188
    c++: 0m46.639s 100% 20276
    gcj 0m55.606s 84% 39620
    mono:1m59.153s 39% 54708
    java:2m56.491s 26% 50152

    c: compiled C into native code GCC
    c++: compiled C++, GCC
    gcj: compiled java code GCC
    mono: ECMA VM, MONO 1.0 (beta) JIT enabled
    java: SUN VM, Sun 1.4 JIT enabled

    Compilation/execution instructions:
    gcj:
    gcj --main=test2 test2.java -o test2.exe &&
    time ./test2.exe

    java: /opt/jdk1.4/bin/javac test2.java &&
    time /opt/jdk1.4/bin/java test2

    mono:
    mono ikvmc.exe -reference:./classpath.dll test2.class &&
    time mono test2.exe

    java code:
    public class test2 {static final int size = 1000000; Integer vec[] = new Integer[size]; int I; public int func() {for (int count=0; count20; count++) {for (int i=0; isize; i++) {vec[i]=new Integer(i);} for (int i=0; isize; i++) {I+=vec[i].intValue();}} return I;} public static void main(String s[]) {int i; for(i=0; i10; i++) {System.out.println((new test2()).func());}}}

    C/C++ code not shown due to a slashdot junkfilter problem. I think you can easily convert the above java code into C and C++. For the C++ version take care to release the alloced memory at the correct place or your computer will run out of memory.

    1. Re:Benchmark: Mono vs. Java vs. C++/C by Decaff · · Score: 2, Interesting


      Firstly, if you want to test Java for speed, use IBM's VM - it can be very much faster than Sun's.
      Secondly, I just don't believe these results. Given equivalent code Java is usually quoted as being within 10%-20% of C++ speed (and IBM's VM is faster). I am highly suspicious that exactly equivalent code was not used. Was an Integer class implemented in C++?

      Also, what about memory use? by default, the 1.4 VM allocates 64MB max heap. The test is allocating a million objects. I don't know how Integer is implemented, but if it involves even a few tens of bytes, there is going to be a lot of garbage collecting going on.

    2. Re:Benchmark: Mono vs. Java vs. C++/C by Anonymous Coward · · Score: 0

      Secondly, I just don't believe these results. Given equivalent code Java is usually quoted as being within 10%-20% of C++ speed (and IBM's VM is faster). I am highly suspicious that exactly equivalent code was not used. Was an Integer class implemented in C++?

      Funny, I've never seen Java perform anywhere close to the speed of C and C++ and that benchmark is quite believable.

      When you aren't spending 95% of your time waiting on I/O (which skews performance figures in Java's favor) I have yet to find a case where Java performs anywhere near the speed of a fully compiled language like C and C++. Google for "The Great Language Shootout" and look at the figures... Java consistently performs slower and requires significantly more memory than most other langauges except for Ruby.

    3. Re:Benchmark: Mono vs. Java vs. C++/C by grovmalet · · Score: 1

      Funny, I've never seen ...

      http://www.idiom.com/~zilla/Computer/javaCbenchmar k.html

      http://www.osnews.com/story.php?news_id=5602&page= 3

      http://www.dl.ac.uk/TCSC/Staff/Hu_Y_F/SOFTWARE/JAS PA/

    4. Re:Benchmark: Mono vs. Java vs. C++/C by Decaff · · Score: 2, Insightful

      Funny, I've never seen Java perform anywhere close to the speed of C and C++ and that benchmark is quite believable.

      This would definitely have been the case 4 or 5 years ago, before hotspot compiling. Java was then typically 10%-20% of the speed of compiled C++, but there is good reason why Java should be pretty much the same speed as C++: All good Java VMs now produce not just native code at runtime, but highly optimised native code resulting from profiling analysis. Java 1.5 even caches the native code to disk, so you are running a pre-compiled binary the next time you start an application - there is no interpretation phase.

      I use Java for numerical work and have found that some math routines run up to 10% faster (on the IBM VM) than the same code compiled with optimisation using GCC.

    5. Re:Benchmark: Mono vs. Java vs. C++/C by Anonymous Coward · · Score: 0

      I'd love to see that code..

    6. Re:Benchmark: Mono vs. Java vs. C++/C by Anonymous Coward · · Score: 0

      Thanks for helping me prove my point. I actually bothered to compile and run these benchmarks and received exactly the results I was expecting. The compiled C version performed signficantly faster than Java.

      Also, as I pointed out in my post. Go google for "The Great Language Shootout" and see how well Java stacks up. More importantly, try actually running the benchmark code yourself instead of relying on what the site tells you.

      $ java -Xmx128m jaspa memplus.mtx
      =========== JAVA benchmark for sparse multiplication ==========
      case name = memplus.mtx
      problem size = 17758
      nz = 126150
      time_IO = 0.3191428571428571 averaged over 7 runs
      nz1 = 5121784
      time_COMP = 1.1415 averaged over 2 runs
      Mflops/s = 21.164488830486203
      flops/run = 24159264
      average entry value = 1.858481341657516

      $ ./jaspa_c memplus.mtx
      =========== C benchmark for sparse multiplication =============
      case name = memplus.mtx
      problem size = 17758
      nz = 126150
      time_IO = 0.1825 averaged over 12 runs
      nz1 = 5121784
      time_COMP = 0.746667 averaged over 3 runs
      Mflops/s = 32.3562
      flops/run = 24159264
      average entry value = 1.858481341657516

    7. Re:Benchmark: Mono vs. Java vs. C++/C by Anonymous Coward · · Score: 0

      You never will. That's the beauty of talking from your ass.

    8. Re:Benchmark: Mono vs. Java vs. C++/C by Anonymous Coward · · Score: 0

      Well, the benchmark tests the VM implementation, not the quality of the JIT optimization.

      Indeed the IBM VM is 30% faster than the SUN VM which is usually about 10% faster than GCJ output. However, the given benchmark cannot be optimized by the JIT.

      Also it is not correct that C++ output is slower than java output. Usually the compiled java code is a little bit slower than compiled C++ and usually 10..100 times slower than non object-oriented C. The benchmark reflects this quite good. BTW: Here's the C implementation of the parent's java code. I've run it on my machine and it is about 40 times faster than the java code.

      #include <stdio.h>
      #define size 1000000
      int vec[size]; int I; int func() {int i, count; for(count=0; count<20; count++) {for(i=0; i<size; i++) {vec[i] = i;} for(i=0; i<size; i++) {I+=vec[i];}} return I;} int main(int argc, char**argv) {int i; for(i=0; i<10; i++) {I=0; printf("%d\n", func());} return 0;}

      Here's the java equivalent (for those that haven't read the parent):
      public class test2 {static final int size = 1000000; Integer vec[] = new Integer[size]; int I; public int func() {for (int count=0; count20; count++) {for (int i=0; isize; i++) {vec[i]=new Integer(i);} for (int i=0; isize; i++) {I+=vec[i].intValue();}} return I;} public static void main(String s[]) {int i; for(i=0; i10; i++) {System.out.println((new test2()).func());}}}

      > Also, what about memory use?

      I think these are the numbers in the last column of the table; 4K for the C version, 20K for the C++ version, 39K for the GCJ and 50 for both java and mono.

      Summary: Java is not much faster or slower than C++ code, but the implementations vary.

      Due to this benchmark the Mono implementation executes Java code much more efficiently than Sun's proprietary java implementation.

      Again, I don't say that this is the case for all java programs, especially when
      the code is not optimized the IBM JIT for example can optimize the code so
      that it will be faster than even C++...

    9. Re:Benchmark: Mono vs. Java vs. C++/C by Anonymous Coward · · Score: 0

      We're talking about the VM here. Of cause without a JIT the posted java code is 15 times slower on my machine.

      The point is not that C++ is as fast as compiled JAVA, which definitely is the case.

      THE POINT IS THAT MONO EXECUTES THE JAVA CODE MUCH(!) FASTER THAN THE SUN VM IMPLEMENTATION!

      Furthermore when you translate the java .class file into an standard ECMA class file, the code can be executed by any ECMA VM implementations, not only by mono.

    10. Re:Benchmark: Mono vs. Java vs. C++/C by Decaff · · Score: 1

      Well, the benchmark tests the VM implementation, not the quality of the JIT optimization.

      The quality of the JIT is a major part of the VM implementation.

      Here's the C implementation of the parent's java code.

      That is not equivalent. There is no memory allocation (equivalent to the creation of all those Integers).

      I've run it on my machine and it is about 40 times faster than the java code.

      Well, of course it does - there is no object creation.

      Here is Java equivalent to your C:

      --------------------
      package net.parkplatz.web;

      import java.io.*;

      public class Test {
      public final static int size = 1000000;
      public static int [] vec = new int [size];
      static int I;
      public static int func() {
      int i, count;
      for(count=0; countSummary: Java is not much faster or slower than C++ code, but the implementations vary.

      That is exactly what I said. The original post said Java was 26% of the speed of C++. This is nonsense.

    11. Re:Benchmark: Mono vs. Java vs. C++/C by Decaff · · Score: 1

      THE POINT IS THAT MONO EXECUTES THE JAVA CODE MUCH(!) FASTER THAN THE SUN VM IMPLEMENTATION!

      Impossible. The Sun VM implementation routinely gives speeds of within 10%-20% of compiled C or C++ for equivalent Java code. You would have to be also saying that Mono is 'MUCH(!)' faster than C or C++.

    12. Re:Benchmark: Mono vs. Java vs. C++/C by Decaff · · Score: 1
      Here is some sample code. Its a Newton-Raphson iterative solution of square root.

      The method/function to do the calulation is shown.

      Java:
      public static double SqrtTest(double x) {
      double testRoot = 1.0;
      final double accuracy = 1e-10;
      for(;;) {
      double root = (x / testRoot + testRoot) / 2.0;
      if (java.lang.Math.abs (root - testRoot) < accuracy) break;
      testRoot = root;
      }
      return testRoot;
      }
      C:
      double SqrtTest(double x) {
      double testRoot = 1.0;
      double accuracy = 1e-10;
      for(;;) {
      double root = (x / testRoot + testRoot) / 2.0;
      if (fabs (root - testRoot) < accuracy) break;
      testRoot = root;
      }
      return testRoot;
      }
      When the function was called several million times (so the program ran long enough for some good optimisation to kick in) The Sun JVM gave performance within 10%-20% of optimised GCC. the IBM VM was 10% faster than GCC.

    13. Re:Benchmark: Mono vs. Java vs. C++/C by Anonymous Coward · · Score: 0

      > The quality of the JIT is a major part of the VM implementation.

      We cannot (and do not want to) test the JIT at this early stage. Not even GCC output matches the IBM JIT (see GCJ mailing list).

      > That is not equivalent. There is no memory allocation

      Of cause not! The C test (which is running out of contest) was meant to give a straight-forward implementation. C++ is the base (100%) with GCJ output at ~90%.

      > Well, of course it does - there is no object creation.

      What do you expect? The test was meant to show how expensive object creation is. And in the MONO and SUN case how well the GC performs. THIS is important at the moment, not the JIT effects -- MONO and GCJ already have a nice JIT, but it needs much work, see the IBM documents that Boehm pointed to on the GCJ mailing list.

      > that Mono is 'MUCH(!)' faster than C ...

      I've said that MONO executes java more efficiently than Sun's JAVA, nothing else.

      > package net.parkplatz.web;

      Das ist nun albern...

    14. Re:Benchmark: Mono vs. Java vs. C++/C by Decaff · · Score: 1

      Google for "The Great Language Shootout"

      I did. Its out of date (frozen in 2001) and the website says:

      "It was never finished and contains errors. It should not be relied on as a true inter-language performance comparison."

    15. Re:Benchmark: Mono vs. Java vs. C++/C by Decaff · · Score: 1

      The test was meant to show how expensive object creation is.

      The original post stated that Java was generally slow, and said nothing about object creation.

      An algorithm using object creation in C++ is a lot slower than an algorithm which uses raw memory in C. But that was not the point.

      I've said that MONO executes java more efficiently than Sun's JAVA, nothing else.

      Yes you have.

      Its basic math.

      Sun's Java executes typical code at within, say 20% of C/C++ speed. Note the word 'typical'. This means code in general.

      So, Java time to run (J) = C++ time to run (C) * 1.2

      if Mono (M) is much (say double) the speed of java... then we have the following equations:

      J = C * 1.2
      M = J / 2

      To compare Mono and C...

      M = C * 1.2 / 2

      So

      M = C * 0.6

      Your statement implies that Mono is nearly twice as fast as native C++.

      You may say this is nonsense. I agree with you! The point is that you can always select a particular benchmark to support a particular point of view. If you pick expression matching, for example, you can often find that Perl is much faster than C++. Does this mean Perl is generally faster than C++? Of course not! In the same way, Mono does not typically run Java significantly faster than Sun's JVM.

  44. Efficient...but rather large by DavidNWelton · · Score: 1
    davidw 649 0.1 4.2 43128 11048 pts/2 S+ 21:25 0:00 mono button.exe
    davidw 650 0.0 0.7 10996 1944 ? Ss 21:25 0:00 mono button.exe
    That's a lot of memory for one button. Admittedly, it doesn't grow too fast when I start adding things, but hopefully it's one area where things will improve.


    All things considered, I think I like the idea of Mono more than Java, because 1) it's free from the ground up, and if you want it on Linux, you have to use the free version, and 2) the people working on it, like Paolo Molaro, are sharp people I trust.

    1. Re:Efficient...but rather large by miguel · · Score: 3, Informative

      Mono mmap()s the files it loads, so that shows up
      on the VSIZE; The RSS is mostly Gtk/Gdk/Pango/X
      libraries and libc.

  45. patents are "religious" issue??? WTF? by Anonymous Coward · · Score: 1, Interesting

    And I guess courtrooms are "churches", and lawyers are "priests" and cease'n'desists that force you to throw away most of the work you put into your business or software are "hymns".

    Get real, how many SCOs does the world need until people realize THE LEGAL STUFF MATTERS for open source. The legal stuff is more important than the technical stuff.

    RMS may seem like a wacko, but the FSF has had the right idea all along: contentrate on the licensing and legal details FIRST.

    Mono may be interesting to some, but I'm just not going to depend on it. If I want .NET, I will use Windows (which I do for certain clients). Especially with Microsoft holding the patents.

    If Open Source starts winning more against Microsoft, these "religious" arguments will suddenly be viewed in a whole new light...

  46. 'religious' stuff by dijjnn · · Score: 2, Insightful

    The article details the running argument between DotGNU's Norbert Bollow and Mono's Miguel de Icaza on the issues of commercial involvement, software patents and all the 'religious' stuff that the Free software community holds against the open source community.

    You know, it's funny, but all things considered i've noticed more ire coming from open source people towards free software people than the other way around. I've heard at least seventeen thousand rants on slashdot regarding the 'utter flaming stupidity' or 'rotten worthlessness' of RMS, but very few free software 'zealots' as they're so often called blasting the open source community for their beliefs, or lack therof. I've never heard anyone on slashdot call Linus a wanker.

    why is that?

    i'll tell you why, it's actually very simple. open source advocates are hobbyists at heart. It's true. even if your job, career, whatever focuses on OSS, you're almost inevetably doing it because you enjoy playing with computers. And i mean that in the most positive way; i enjoy playing with computers, i think they're very fun and interesting things. But the software... doesn't really matter as long as you can play with it and do something interesting -- usually meaning that you can see the code. but either way, you're good, as long as there's something interesting to mess around with.

    Free Software 'zealots', on the other hand, are not hobbyists, they are activists. They want to change things for the better. They are very serious, and operate on principle, not interest. That is why they don't flame the slashdot trolls, because the real FS guys -- they're to busy trying to enact permenant change for the better.

    So, the next time anyone (you) talks about, 'oh, the free software people are such a bunch of zealots, i wish they would just calm down'... i hope they think about that ire and from whence it really comes. And then i hope they tell me, because i don't know -- i wish i did. What i do know, is that you're mad, but it's not me you should be mad at.

    --
    ~dijjnn
  47. Choosing a .NET Framework by Anonymous Coward · · Score: 0

    These simple rules should help you:

    1. If you own 5 or more tie-dye T-shirts, use DotGNU.
    2. If you own less than 5 tie-dye T-shirts, use Mono.
    3. If you don't know what a tie-dye T-shirt is, use Microsoft's .NET Framework.
    4. If you wear a cloak and don't own any shirts, you have no need of a .NET Framework, because you're a Forth programmer.
    1. Re:Choosing a .NET Framework by psykocrime · · Score: 1


      4. If you wear a cloak and don't own any shirts, you have no need of a .NET Framework, because you're a Forth programmer.

      Not true, see: http://www.dataman.ro/dforth/

      --
      // TODO: Insert Cool Sig
  48. In the beginning of dotNET by AlexanderYoshi · · Score: 1
    I was really enthusiastic about the possibility of having a newer, cleaner language to program with for my new Windows applications. Most of the work I do is internal - helper applications, gui interfaces for various reasons - that require an effective way of performing RAD. So I used MS Visual C++ for most of the stuff I did. However, in the past year, a lot of people and new members have been moving to Linux. Initially, I was rather disappointed with having to write entirely new programs to make them work on the Linux boxes.

    Then I learned about C# and Mono, gave a cheer and have since been watching Mono's development to see which utilities I can reimplement in C# for both the Linux and Window users. While it will be a long time before any major companies look into it as an option, for a small, part-time developer like myself who needs a quick, cross-platform utility, its great.

    Hopefully, this competition between dotGNU and Mono will only result in a better final result for all of us, much like the way that the competition between the X Windows development teams has resulted in better features for both products.

    1. Re:In the beginning of dotNET by Anonymous Coward · · Score: 0

      which fucking planet do you live on?

  49. MOD PARENT UP by Anonymous Coward · · Score: 0

    Most insightful comment I have ever seen concerning this issue.

  50. C# is a mistake by bl8n8r · · Score: 1

    All C# is, is Microsofts answer to java. As history repeats itself, I'm sure we will rue the day we ever heard about Mono, C# or .NET, or ever tried to get it to run on Linux. Much in the same way we all rue those wonderful little macro/vbscript inventions that were so cool years ago.

    --
    boycott slashdot February 10th - 17th check out: altSlashdot.org
  51. Why? by Brandybuck · · Score: 1

    Why .NET and its clones? Why C# and all of its brethren? I want to know why people are getting nail-pounding erections over them. Non-religious answers please!

    Looking back on twenty five years of computing, I cannot recall any language that has EVER had this much hype behind it. Not even Java. It suddenly appeared out of nowhere and five hours later there are job listings specifying ten years experience.

    --
    Don't blame me, I didn't vote for either of them!
  52. Mono vs. Java by FWMiller · · Score: 1

    Sun is the one who should really be worried about Mono. C#/.Net are a beautifully crafted technology that are clearly superior to Java. Once Mono is available, the argument for not using C# instead of Java will go away since you won't be able to claim anymore that you are locked into Microsoft.

    --
    Frank W. Miller
    1. Re:Mono vs. Java by Anonymous Coward · · Score: 1, Insightful

      You're serious, C# better than Java. The 5% difference is hardly anything to claim superiority. If anything, in my mind many of the features are questionable. For example, the threading model in .NET is GUI centric and isn't really well suited for server processes. Another big limitation is .NET still is bogged down by DLL hell. It's also primarily focused on static models and static applications. It is still very difficult and painful to build dynamic applications that load objects dynamically, which are extensible.

  53. Lame? Hah! by Anonymous Coward · · Score: 0

    Actually, I wasn't waiting for anything, neither for this story to be released, nor for any other, for that matter. I just hit the front page like I do few times a day, I saw the headline and I posted this joke. I didn't even realize it would be the 5th post total and the 1st post modded up (to Score:5, Funny, I might add, but then sadly modded down as Overrated) in a story with 250 comments and 30 Score:5 ones. Now I wish I hadn't posted as AC, but I thought it was a lame joke and I would only loose karma... Now I know how wrong I apparently must have been, for this supposedly "lame" joke seems to have been absolutely hilarious, according to the moderation thereof. Anyway, what do I win?
    --
    Sincerely,
    P.T.H.

  54. disagree by dfghjk · · Score: 2, Insightful

    You don't have to look to hard to find FS rantings. Just look at the FSF's pompous, obtuse description of the difference between FS and OS or RMS's silly rant on why Linux must be called GNU/Linux. I don't recall anywhere in the GPL where it says that RMS reserves the right to approve of the name of your product. RMS is called a kook because he is one.

    Perhaps the thousands of rants targeted at RMS are simply reasonable observations or your perception of imbalance reflects your own biases on the issues. One thing's for certain, your characterization of FS contributors as "serious" as opposed to OS "hobbiests" is absurd. I wouldn't characterize BSD contributors as any less serious than GNU people. I would say, though, that they feel their OS license should not be burdened with a political agenda. Quite the contrary, I think many that most support the concept of the GPL are ones who don't contribute at all but like the idea of a license that burdens future software with RMS's personal idealisms.

  55. A pox on both their houses.... by Anonymous Coward · · Score: 0

    I think I would rather see the Free and Open Source software (FOSS) communities come up with something better than following the java and .NET camps... As much as I hate Perl, Perl 6 - and in particular the Parrot VM is looking very promising.

  56. About the Mono name by xanadont · · Score: 1

    Mono is Spanish for monkey and is pronounced with long "o"s. It's not the sickness you contract from kissing your high school girlfriend or being a resident in VA Tech's Pritchard Hall dormitory.

  57. But they do not want to develop only for Windows by SuperKendall · · Score: 2, Insightful

    You are not fully understanding the issue. If something were only Windows, they would not go for it. They do want some portability. Mono gives the illusion of such portability, thus they move forward with projects which in the end are really stuck on Windows because of libraries and tools and experience.

    Then of course it only half works (have you seen what most ASP.net projects end up looking like?), but all of the people of any skill have moved on by the time anyone knows that and it's left for some poor fool to keep it all working and adding what changes they can, until they get fed up and quit or convince someone else to take on the old man.

    I have made it my mission to never to be that fool, and have made quite a success of it so far. But I still feel great pity that the whole cycle ahd to happen and lead to this horrible result which easts people up. It doesn't have to be that way.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  58. Re:But they do not want to develop only for Window by advance512 · · Score: 1

    Look, I don't develop for either Windows nor Linux, but I did see a few ASP.NET projects, Windows Forms projects etc - and they're just fine. I don't get the point in dissing .NET - even Java fanatics admit it is a fine technology.

    Now, back to the original point:
    You say that if someone has no option for portability, then he could possibly choose Linux because it might be the better system to develop his project on. Alright. However, you also say that if he DOES have an option portability, then he'll develop on Windows while knowing that Linux is always an option. But why would he pick Windows over Linux when he has the option to develop for either one and still keep the portability? It has to be because Windows is the better choice for his specific project. Otherwise, he'd pick Linux, wouldn't he? So the point is - you get a choice, and yeah, maybe most people will pick Windows over Linux, but the only reason for is that they have a staff which might be more experienced in Windows, or they need the Microsoft support, or they just don't know anything abotu Linux but think they might need to know in the future.

    Mono is not pro-Microsoft, it is pro-Choice. :)

  59. Updating the API != breaking existing apps by khchung · · Score: 1

    Anyone remember Win32s and OS/2? The Win32 extension for Windows 3.1 gone through about 4-5 revision in less than a year, each revision comes out weeks after IBM supported the earlier version in OS/2. Until eventually IBM gave up.

    None of the revisions broke any existing apps, but any new apps written with the latest revision will not run without the latest Win32s installed.

    It will be trivial for MS to play this game with .NET if they deem Mono to be enough of a threat. MS just keep making new revisions to .NET, each adding a few nice-to-have API. The subsequent FUD fest of how Mono is "not very compatible" be very hard to fight off.

    --
    Oliver.
  60. Re:But they do not want to develop only for Window by SuperKendall · · Score: 1

    Look, I don't develop for either Windows nor Linux, but I did see a few ASP.NET projects, Windows Forms projects etc - and they're just fine. I don't get the point in dissing .NET - even Java fanatics admit it is a fine technology.

    Parts of it are fine, but large parts are not. The language is a nice update for a slight improvement on Java (though again the extreme waste of having two languages that are essentially the same really bothers me from an efficency standpoint).

    ASP is not at all fine. For the record I think JSP is all a terrible mistake as well.

    You say that if someone has no option for portability, then he could possibly choose Linux because it might be the better system to develop his project on. Alright. However, you also say that if he DOES have an option portability, then he'll develop on Windows while knowing that Linux is always an option. But why would he pick Windows over Linux when he has the option to develop for either one and still keep the portability? It has to be because Windows is the better choice for his specific project. Otherwise, he'd pick Linux, wouldn't he? So the point is - you get a choice, and yeah, maybe most people will pick Windows over Linux, but the only reason for is that they have a staff which might be more experienced in Windows, or they need the Microsoft support, or they just don't know anything abotu Linux but think they might need to know in the future.

    I didn't say anything like that. What I said was simply that some management like having options for platforms to develop and delpoy on - that only makes sense. Mono gives the illusion of choice while providing none, as in the end between library lockin and tool lockin, the whole thing just really has to be deployed on Windows as it's too much work to make it work with a "compatible" system. That's because people pushing the project usually prefer Windows and deliberatley mislead management into thinking they can use Linux in the future if they wished. I'm not talking theory, I'm just talking about what has actually happened for real at the company I work for. I'm saying that Mono lets the duplicitious worker at a company sway a choice based on misleading facts.

    This choice of development/deployment platform has been shown again and again in real projects at work to not be true of Java, where we really can develop or deploy on pretty much anything - moving from Sun boxes to linux was a non-event, moving from iPlanet ot BEA as an app server only slightly less so. I have a Linux and Windows box at work that are about equivilent development wise, and an OS X box at home that I sometimes do some work on.

    That is real choice of movement you just don't get with .Net. Not even with Mono, and in reality probably never with Mono.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  61. Re:FP by Anonymous Coward · · Score: 0

    I envy you and your small penis

  62. Re:But they do not want to develop only for Window by advance512 · · Score: 1

    Whoa... "deliberatley mislead management".

    The problem here is NOT the technology, it's the people who are pushing the project and prefer Windows (If it is not a better choice for the specific project).

    And you are right. I developed a Windows Forms project and to use a certain library, I had to use legacy Windows HANDLEs. This means it won't work on Linux without a change or a port of the library. Portability did not really matter, for that project. It does matter, however, for certain projects - using OS-neutral libraries is a must for those projects.

    If Mono port the .NET Framework as well, and Microsoft does not object - it just might be enough. Free .NET based libraries which will work on Windows and Linux both, will give the portability that people need.

    Sorry the post is a bit disorganized, I'm really tired right now and don't have the will to invest too much time in this answer...

  63. That's what I'm saying by SuperKendall · · Score: 1

    Whoa... "deliberatley mislead management".

    The problem here is NOT the technology, it's the people who are pushing the project and prefer Windows (If it is not a better choice for the specific project).


    I'm not saying Mono itself is bad or good, quality-wise. What I am saying is that the EXISTENCE of mono is simply a tool used by some to justify a choice they wish to make, one very hard to properly counter to someone not very technically literate.

    That is simply the reality of corporate programming, you have things like this going on all the time. MONO is being used for this purpose for more than any legitimate project, as far as I can see, which is my real beef - .Net itself is a shadow-clone of Java in the first place, and all MONO brings to the table is a proclamation that the bastard king is legitimate. I'm not sure why anyone would care to work on a project that in the end was only a pawn in a giant game.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:That's what I'm saying by advance512 · · Score: 1

      What do you prefer, then? That Mono would have never been created? .NET technology is here to stay, and it is superior to Java technology - at the current state. People are enthusiastic about C# for a reason. I'd rather let the technology exist, and allow the opinions and decisions that people choose (wrong as some of them are), then limit the choices of people to "the right choice".

      Let's just hope that everything works out as good as it can, for the sake of portability.

    2. Re:That's what I'm saying by SuperKendall · · Score: 1

      What do you prefer, then? That Mono would have never been created?

      Now you have it. The whole thing is a waste of enery that COULD have been spent improving Java. Now we have a standards-fork, if you will.

      .NET technology is here to stay, and it is superior to Java technology - at the current state. People are enthusiastic about C# for a reason. I'd rather let the technology exist, and allow the opinions and decisions that people choose (wrong as some of them are), then limit the choices of people to "the right choice".

      You are confusing C# and .Net. C# the language has some nice features. .Net the platform is trying as hard as they can to build up, but still lags Java in many areas - platforms supported of course, but more importantly in areas like security (you need to have IIS installed to support SSL) or stuff like Model2 screen design.

      I would prefer to see a language/platform that was more than slightly different to Java. I have no illusions that .Net is here to stay - after all, it has a few billion dollars saying it will. But answer this question truthfully - if MS has not spent billions promoting .Net, would anything like it have developed on its own? No, people instead would have spent the effort fixing Java to do what they wanted instead of wasting countless man-hours trying to duplicate every JCP feature in another platform.

      What I am saying - don't waste your time and effort on a incomplete clone. Maker the stuff we have (Java) work better, then people on a myriad of platforms will lead a better life, instead of just windows and a few crazy Linux users.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley