Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Mono's Cocoa# Underway, GTK# Takes on Windows.Forms

Posted by CowboyNeal on Thu Aug 12, 2004 11:22 PM
from the portability-now dept.
Gentu writes "OSNews posted some exclusive screenshots of a new project in the Mono community: Cocoa#. Apparently there are a couple of Apple engineers helping out the project that allows developers to create graphical Cocoa applications under Mac OS X using the C#, Python or Basic language. Mono seems to be doing well in the Windows land too, allowing developers to use GTK# instead of Windows.Forms to create multi-platform apps."
This discussion has been archived. No new comments can be posted.
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • Yikes! (Score:5, Funny)

    by Anonymous Coward on Thursday August 12 2004, @11:25PM (#9955740)
    I got a headache just reading the headline. Give us old fogies a break, we're used to seeing the hash mark at the beginning of the line...
    • Re:Yikes! by NanoGator (Score:3) Friday August 13 2004, @01:16AM
    • Re:Yikes! (Score:4, Funny)

      by meringuoid (568297) on Friday August 13 2004, @03:07AM (#9956542)
      Personally, I just thought:

      Avert your eyes, children! He may take on other.Forms!

      [ Parent ]
      • Re:Yikes! by kevin_conaway (Score:2) Friday August 13 2004, @11:35AM
    • 2 replies beneath your current threshold.
  • Windows.Forms in Mono (Score:5, Informative)

    by miguel (7116) on Thursday August 12 2004, @11:26PM (#9955742)
    (http://tirania.org/blog)
    I wanted to mention that our path to indepedence
    clearly goes through Gtk#, but we realize the
    importance of giving users binary compatibility
    so we are actively developing Windows.Forms and
    Visual Basic.NET (gasp) for Mono.

    A new from scratch implementation has started with
    four of the top Mono developers that are now
    locked up in Provo Utah working around the clock
    to delivery the new implementation of Windows.Forms
    (our previous Wine-based approach having too many
    Mono/Wine problems to solve).

    Miguel.
    • Re:Windows.Forms in Mono by Anonymous Coward (Score:3) Thursday August 12 2004, @11:37PM
      • Re:Windows.Forms in Mono (Score:5, Informative)

        by Matt - Duke '05 (321176) on Friday August 13 2004, @01:42AM (#9956273)
        Perhaps actually trying to accomplish what you claim is impossible might help you out a bit. This took me about 30 seconds to do:

        using System;
        using System.Drawing;
        using System.Windows.Forms;

        namespace TreeTest {
        public class TreeTest : Form {
        [STAThread]
        public static int Main(string[] args) {
        Application.Run(new TreeTest());
        return 0;
        }

        public TreeTest() {
        tree = new Tree();
        tree.Dock = DockStyle.Fill;
        Controls.Add(tree);
        Text = "TreeTest";
        }

        private Tree tree;
        }

        public class Tree : TreeView {
        public Tree() {
        menuItem = new MenuItem("Menu Item");
        contextMenu = new ContextMenu();
        contextMenu.MenuItems.Add(menuItem);
        }

        protected override void OnKeyDown(KeyEventArgs e) {
        base.OnKeyDown(e);

        if (e.KeyCode == Keys.Apps) {
        ShowMenu(new Point(0, 0));
        }
        }

        protected override void OnMouseUp(MouseEventArgs e) {
        base.OnMouseUp(e);

        if (e.Button != MouseButtons.Right) {
        return;
        }

        ShowMenu(new Point(e.X, e.Y));
        }

        protected void ShowMenu(Point pos) {
        contextMenu.Show(this, pos);
        }

        protected ContextMenu contextMenu;
        protected MenuItem menuItem;
        }
        }
        [ Parent ]
      • 1 reply beneath your current threshold.
    • Re:Windows.Forms in Mono (Score:5, Interesting)

      by prockcore (543967) on Thursday August 12 2004, @11:42PM (#9955830)
      A new from scratch implementation has started with four of the top Mono developers that are now
      locked up in Provo Utah working around the clock
      to delivery the new implementation of Windows.Forms


      What are they doing then? I thought using wine was going to solve the p/invoke issue. Are you just going to ignore the p/invoke and just implement the exposed API?
      [ Parent ]
      • Re:Windows.Forms in Mono (Score:5, Informative)

        by IamTheRealMike (537420) on Friday August 13 2004, @03:48AM (#9956663)
        (http://plan99.net/~mike/)
        It was, but there were communications issues. So now they're going to not only try to implement the entirely of S.W.F in C# (that's an entire widget toolkit!) but also a fake WndProc/Handle property for apps that rely on the underlying Win32ness of it.

        For *really* hard core apps (read: most .NET apps) that actually mix native and .NET code, they were talking about having a special "winelib" mode where it's somehow used, but I've not seen any credible technical details on this.

        Basically it looks like in order to run .NET code that is mixed with native Win32 code the Wine team will have to do their own S.W.F implementation one day. Currently there are no killer .NET apps that I know of (by killer I mean public/retail software sufficiently unique that it's a "blocks my migration to Linux" app, rather than custom corp apps) so it's not a big deal. But I expect they'll come eventually.

        [ Parent ]
    • Re:Windows.Forms in Mono by Cocteaustin (Score:1) Friday August 13 2004, @01:32AM
    • Re:Windows.Forms in Mono by The Grassy Knoll (Score:1) Friday August 13 2004, @02:01AM
    • Re:Windows.Forms in Mono (Score:5, Insightful)

      by ambrosine10 (747895) on Friday August 13 2004, @02:46AM (#9956471)
      Those people criticizing Miguel really need to shut up. Here is a man who has contributed much code to open-source projects, is a great leader in the movement, and works for what he believes in. Yet these zealots are constantly yelling at him just because he happens to see MS technology in an impartial light. Just because it's by MS doesn't automatically make it bad. In fact if it wasn't for people like Miguel who try to merge practicality with idealism, the open-source movement would be as irrevelant as ever.
      [ Parent ]
      • Re:Windows.Forms in Mono (Score:4, Interesting)

        by squiggleslash (241428) on Friday August 13 2004, @09:00AM (#9958180)
        (Last Journal: Friday November 23, @04:11PM)
        The major argument isn't against Miguel as what he's doing and the mindset commonly associated with Miguel.

        What most of us want is something better than what Microsoft does, more than that, we want something exciting, radical, and different. The mindset that Miguel and others seem to share is that as long as "our" stuff is Free, it is better, and there's no point in creating a better technology, we might just as well copy Microsoft, fix a few bugs, extend here and there, and, voila, you have something better. The technology isn't better, but the implementation is, and that's enough, right?

        It's more than that though, it's an unwinnable contest. As long as Microsoft's "competitors" are merely trying to catch up with Microsoft, implementing the same technologies, there's no way, in practice, those competitors can actually be better except on purely political grounds.

        Now don't get me wrong, I consider myself an enthusiast of free software. But if you're going to write an operating system from the ground up, then you're wasting a lot of opportunities by relentlessly copying someone else, especially copying the technologies - from the user interfaces to the APIs - of a company whose reputation in the industry is of being first, not best. It's a waste of talent.

        The issue becomes worse when you consider that these competitors are trying to build Microsoft's environment upon an operating system that has a fundementally different philosophy at its heart, meaning any competitor designed this way is going to be fundamentally flawed. Linux, arguably, should be abandoned in favour of ReactOS if this development path continues.

        A substantial section of the free software and open source communities lacks the talent and imagination to build something new, and unfortunately that section is leading development at the moment. Miguel is merely the figurehead for that movement. I don't blame people for feeling that way, I know a lot of people would like a Free clone of Microsoft's operating systems and environments, I just feel that this is a bandwagon the GNU/Linux distributions are unwise in hopping on to and pouring so much development time into.

        The question really is do you want a Free Windows, or do you want a choice of platforms? Right now, GNU/Linux is Window's most powerful competitor, yet all the excitement, the innovation, the "We want to create something better" attitude, is coming from elsewhere [apple.com].

        [ Parent ]
    • Re:Windows.Forms in Mono (Score:5, Interesting)

      by KAMiKAZOW (455500) <kamikazow@hotmail.com> on Friday August 13 2004, @03:04AM (#9956530)
      our path to indepedence clearly goes through Gtk#


      Why GTK#? Honestly, GTK is probably one of the worst toolkit for real cross platform development.
      The Windows port of GTK sucks. This WiMP thing (Or whatever it's called - it makes GTK app to some degree look like native Windows apps) is not that great. The performance of the GTK(WIMP) apps' GUI is noticeable lower than a native GUI.

      Under Mac OS X it's even worse. GTK only works under X11. This means no Aqua look & feel. No copy and paste or drag'n'drop between native OSX apps and GTK apps. Even keyboard shortcuts are different.

      Why didn't you chose something like wxWidgets? At least wxWidgets offers native GUIs under any platforms it runs. wxWidgets or any other toolkit that offers real platform independence.
      Or: With all these XML GUIs under .NET (like XAML) Ximian could've used Mozilla's XUL toolkit and have better multi platform integration than GTK.

      Also - from what I've read on the mailing list archives - Mono only works sometimes on BSD systems.

      What kind of independence is this? You are only focused on x86-Linux running GNOME.

      Ximian does not seem really interested in real platform CocoaSharp. Stuff like Qt# (for KDE users), CocoaSharp, and other cross platform develpment is not done by any Ximian guy, but from contributors.
      [ Parent ]
      • oops by KAMiKAZOW (Score:2) Friday August 13 2004, @03:06AM
      • Re:Windows.Forms in Mono (Score:5, Insightful)

        by IamTheRealMike (537420) on Friday August 13 2004, @06:30AM (#9957126)
        (http://plan99.net/~mike/)
        First of all, there is no magic bullet to write quality desktop software and have it run anywhere. These days, if you want to write a program once and have it feel native on each platform, you need to be either using native widgets on each platform, or to have a big investment in custom code and tweaks in your toolkit for each platform.

        GTK# runs on multiple platforms. Unsurprisingly it works best on the platform most people use it on. It does not run well on Windows or MacOS X, but that's simply because few people have worked on it/been interested in it. That can be fixed, with time.

        When Miguel said "GTK# is the path to independence" he was talking about API independence not platform independence. They are different.

        wxWidgets does not give platform independence. Sorry, but it just doesn't cut it for quality software. Abstractions work best when the things they abstract are semantically very similar (or identical) - widget toolkits are not similar, they often work in very different ways and have radically different capabilities. I've yet to run a wxWidgets app which didn't feel piss poor on every platform : much like Swing apps not feeling native everywhere, wxWidgets apps never fit in. This doesn't cut it for writing good software for the free desktop.

        Or: With all these XML GUIs under .NET (like XAML) Ximian could've used Mozilla's XUL toolkit and have better multi platform integration than GTK.

        GTK is a proven platform used by many, many applications. XUL is really only used by the Mozilla suite of apps: it lacks such basic things as the still theoretically xulrunner. That's why it was chosen.

        Also - from what I've read on the mailing list archives - Mono only works sometimes on BSD systems. What kind of independence is this? You are only focused on x86-Linux running GNOME.

        So what? Wine doesn't work on BSD systems currently either, but this is the fault of BSD not Wine (and I believe the same is true of Mono). Both Wine and Mono do very complex things with threading, address space management and low level OS calls that BSD either doesn't support or nobody with the relevant expertise has shown up to write the support. The vast majority of people use Linux, so this gets the best support. This is the open source meritocracy : write the code and the support will come, yes?

        [ Parent ]
      • Re:Windows.Forms in Mono by marco_craveiro (Score:1) Friday August 13 2004, @07:54AM
      • Re:Windows.Forms in Mono by JamesP (Score:1) Friday August 13 2004, @08:28AM
      • Re:Windows.Forms in Mono by -=Zak=- (Score:1) Friday August 13 2004, @03:12PM
    • Question... by johannesg (Score:3) Friday August 13 2004, @03:55AM
    • Re:Windows.Forms in Mono by Hortensia Patel (Score:2) Friday August 13 2004, @07:19AM
      • 1 reply beneath your current threshold.
    • Re:Windows.Forms in Mono by mr. marbles (Score:1) Friday August 13 2004, @12:37AM
    • Don't worry by Chuck Chunder (Score:1) Friday August 13 2004, @12:46AM
    • Re:Miguel, please leave this planet! (Score:5, Insightful)

      by OmegaBlac (752432) on Friday August 13 2004, @12:56AM (#9956134)
      What is it with the hatred for this man? I swear some you act like he is the anti-christ for what he is attempting to accomplish with the Mono project.

      1. No one is forcing anyone to use Mono or run .Net apps on other operating systems.

      2. Try to look at the advantages that the OSS and Linux communities can utilize here if we can convince more developers to develop apps for Linux due to the existance of Mono.

      3. Mono and Miguel are not going anywhere so all the folks in the anti-mono crowd might as well get use to it.
      [ Parent ]
    • Re:Windows.Forms in Mono by shird (Score:2) Friday August 13 2004, @01:03AM
      • Re:Windows.Forms in Mono (Score:5, Informative)

        by rhysweatherley (193588) on Friday August 13 2004, @05:33AM (#9956943)
        wtf? where is the windows.forms implementation under Linux? They are writing it from scratch because the previous version was using Wine and didnt work properly, so now they are doing it 'natively'.

        Microsoft hasnt written a windows.forms implementation under Linux - they are not playing 'catch up', they are implementing something that doesnt yet exist.

        Actually, it does. DotGNU Portable.NET has had a native implementation of SWF for over a year now. We discarded Wine as a viable option from day one.

        DotGNU Web Site [dotgnu.org].

        [ Parent ]
    • 6 replies beneath your current threshold.
  • Patents? (Score:5, Informative)

    by Anonymous Coward on Thursday August 12 2004, @11:33PM (#9955780)
    From the mono FAQ:

    Question 131: Could patents be used to completely disable Mono (either submarine patents filed now, or changes made by Microsoft specifically to create patent problems)?

    ... The controversial elements are the ASP.NET, ADO.NET and Windows.Forms subsets. Those are convenient for people who need full compatibility with the Windows platform, but are not required for the open source Mono platform, nor integration with today's Mono's rich support of Linux.
  • Why doesn't mono get it (winforms)?? (Score:2, Insightful)

    by Anonymous Coward on Thursday August 12 2004, @11:34PM (#9955787)
    I don't see Windows developers switching to Gtk# just coz "It works in Linux" ... They will rather go elsewhere like Wx.NET [sourceforge.net] for example (it runs on native OSX [sourceforge.net]) or run Winforms using Portable.net's Swing based Winforms [gnu.org] (that sounds like a LOT of volunteer work ?). They will NOT use Gtk# or Cocoa# until they have a VS.NET designer built-in .

    I have this distinct feeling that supporting Windows.Forms out of the box would have affected Miguel's stated reasons for Mono ie Gtk# and using it for Gnome apps..... That's why probably Mono didn't implement Windows.Forms for Mono 1.0 (talk about MAJOR feature missing). But this is totally off that map ?.

    If Apple does run .NET finally , it'll probably be licensed off Microsoft to prevent Microsoft from screwing them later. I have a feeling Miguel and Ximian-Novell is just doing "Free" development for Apple if they release this under LGPL. I care more about running my winforms apps on Linux and BSD , not about how "cool" embedding a browser control in C# is.

    Nothing to see here folks ... move on
  • Mono vs. Java (again) (Score:5, Interesting)

    by fupeg (653970) on Thursday August 12 2004, @11:35PM (#9955791)
    There are some decent arguments for using Mono over Java on Linux. Those arguments don't hold up as well on OSX, though. Java support on the Mac is in many ways superior to Java on any other platform, especially for Swing apps (the counterpart to most Cocoa# apps.) Still it could be attractice to have a framework that made it as easy as Java is for developing cross-platform (Windows/Linux/OSX) apps that would have significant performance advantages over Java on 2 out of 3 of those platforms.
  • by after (669640) on Thursday August 12 2004, @11:35PM (#9955792)
    (https://andreib.com/ | Last Journal: Thursday October 16 2003, @10:51PM)
    I've been using wxWidgets [wxwidgets.org] for some corperate develpment and I don't think I can be more happy with it. Integrating Cocoa into Mono is nice with GTK and all (didn't read article- sorry,) but is it going to use native UI faculties that the operating system provides? wxWidgets even has .NET interpolabilito under development called wx.NET [sourceforge.net] and you can use that with Mono too.
  • Apple could really benefit... (Score:5, Interesting)

    by callipygian-showsyst (631222) on Thursday August 12 2004, @11:36PM (#9955801)
    (http://www.robert.to/)
    ..from embracing (and extending!) C# and .NET. Programmers generally like C# and .NET [robert.to] for application development, and Objective-C has some serious flaws.
    • Re:Apple could really benefit... (Score:5, Insightful)

      by jcr (53032) <jcr&idiom,com> on Friday August 13 2004, @12:24AM (#9956008)
      (Last Journal: Sunday November 05 2006, @05:31AM)
      Objective-C has some serious flaws. ..and also some compelling advantages. Take a look at how NSUndoManager was implemented, and please tell me how to do the same thing in Java, C#, C++ or whatever your favorite language may be.

      -jcr
      [ Parent ]
      • Re:Apple could really benefit... by cablepokerface (Score:2) Friday August 13 2004, @02:01AM
      • answer by Spy Hunter (Score:2) Friday August 13 2004, @02:09AM
        • Re:answer by BlowChunx (Score:2) Friday August 13 2004, @08:05AM
        • Re:answer (Score:5, Informative)

          by bnenning (58349) on Friday August 13 2004, @09:15AM (#9958326)
          C# and Java provide "reflection" APIs for implementing things like this. It would be quite easy to create a class entirely analagous to NSUndoManager in either language

          No it wouldn't. Check the documentation; NSUndoManager intercepts *any* message sent to it, and stores it for later invocation on a different target. You can't do that with reflection, which only allows you to call one of a fixed number of methods.

          Another example: there are third party libraries that add higher order messaging [macdevcenter.com] to Cocoa collection classes. They allow you to write code like "[[array select] isFroody]", which will return all objects in array for which the method -isFroody returns true. Again, the initial "isFroody" message is intercepted, then forwarded to each object in the array.

          [ Parent ]
          • Re:answer by jcr (Score:2) Friday August 13 2004, @02:26PM
          • Re:answer by Spy Hunter (Score:2) Saturday August 14 2004, @12:39AM
          • Not quite by TheInternet (Score:2) Friday August 13 2004, @10:21PM
          • 2 replies beneath your current threshold.
    • Re:Apple could really benefit... by chochos (Score:2) Friday August 13 2004, @04:31PM
    • Slow? (Score:5, Interesting)

      by TheInternet (35082) on Friday August 13 2004, @01:20AM (#9956212)
      (http://maxify.com/ | Last Journal: Tuesday March 11 2003, @03:35AM)
      "it's S-L-O-W"

      Is this based on anything? It's slower than raw C or assembly of course, but quite fast overall.

      Everything below this sentence is from http://www.alastairs-place.net/cocoa/faq.txt:

      * 2.7 How fast are Objective-C messages?

      The name "message" might make you think that they are slow; however, they are
      actually quite fast. Here are some figures from a 1GHz PowerPC G4 (courtesy
      of Marcel Weiher):
      Operation | Time (ns)

      Increment (memory) variable | 2
      Call through an IMP | 12
      Local function call | 18
      Cross-module function call | 37
      Objective-C message | 54
      atoi("1") | 182
      Local function call refers to a call to a function in the same executable or
      dynamic object module. Cross-module function call is a call from one
      executable or dynamic object module into another.

      On current Apple versions of GCC, an Objective-C message results in a call to
      objc_msgSend(), which is itself a cross-module function call. That means that
      the actual method dispatch only takes 17ns (on average), which is pretty
      quick.
      [ Parent ]
      • Re:Slow? (Score:4, Informative)

        by droleary (47999) on Friday August 13 2004, @03:25AM (#9956606)
        (http://droleary.subsume.com/)

        Is this based on anything? It's slower than raw C or assembly of course, but quite fast overall.

        More importantly, no language is faster than a programmer who doesn't know algorithms. Looking at the "S-L-O-W" code through the link provided, it's some of the shittiest toy benchmarking I've ever seen. It compares static strings through an inner method call and nested inside two loops! Even a freshman seeing that code would have had the sense to move the compares outside all that. So in 10 seconds, I was able to take code that was claimed 6x slower than Java and make it 2x faster than Java. Of course, it is still a toy benchmark that accomplishes nothing of value.

        [ Parent ]
      • Re:Slow? by IamTheRealMike (Score:3) Friday August 13 2004, @06:37AM
        • Re:Slow? by callipygian-showsyst (Score:1) Friday August 13 2004, @09:39AM
          • Re:Slow? by TheInternet (Score:2) Friday August 13 2004, @10:09PM
        • Re:Slow? by IamTheRealMike (Score:2) Friday August 13 2004, @10:00AM
        • Re:Slow? by TheInternet (Score:2) Friday August 13 2004, @09:59PM
        • Re:Slow? by callipygian-showsyst (Score:1) Saturday August 14 2004, @12:22PM
          • 1 reply beneath your current threshold.
        • 1 reply beneath your current threshold.
      • Re:Slow? by dasmegabyte (Score:2) Friday August 13 2004, @09:41AM
    • 4 replies beneath your current threshold.
  • by Ars-Fartsica (166957) on Thursday August 12 2004, @11:47PM (#9955852)
    Congrats to the Mono crew - from announcement to 1.0, they have covered a lot of ground in a short period of time and if they are perceived to be encumbered by patent issues (note I say perceived), they are not encumbered by bad-source-practices that is still keeping Java locked out of some domains.

    You can use real apps right now with Gtk# - the Muine music player and the Blam RSS reader are functional and mostly stable...there are many other examples.

  • Windows forms sucks (Score:2, Informative)

    by Anonymous Coward on Thursday August 12 2004, @11:54PM (#9955883)
    Really. You'd think Microsoft could come up with something better than the grid-based layout they have been since forever. Once you start using a constraint based layout kit like Gtk, you never want to go back to the stone age and have to manually write window resize code and manually adjust the sizes of controls individually. I'm hoping to try out Gtk# soon for projects now that we are starting to use .Net as a development platform.
  • Gtk# Rocks (Score:5, Interesting)

    by pherthyl (445706) on Thursday August 12 2004, @11:54PM (#9955885)
    Even back in the 0.8 days, I had very few problems making a medium sized app (~4000 lines), developed entirely under linux with Mono. Everything worked on the first try when I ran it on windows with .NET.

    Now that's true cross platform ability. Even with Java I've never had it work that flawlessly. Thanks Miguel and Mike Kerster and the rest of the Mono team. You guys rock.
  • This is great (Score:1, Interesting)

    by ErichTheWebGuy (745925) on Thursday August 12 2004, @11:59PM (#9955910)
    (http://www.politicallyuncensored.com/)
    Kudos to the Mono developers, what they have accomplished is no easy feat!

    I just wonder when Microsoft will try to say, "See? We are the innovators. Look at mono! They followed our .NET framework in a desperate attempt to copy it!"

    While it may be true that Mono was released after .NET, there is ample [com.com] evidence [linuxjournal.com] that open source software is far more innovative than anything Microsoft has put out (with the possible exception of this useless piece of trash [slashdot.org].

    The point is that no matter what massive strides are made here (and they are great, and we are better off for having them), we must remain vigilant against people that would rather dominate the world than contribute to humanity.
    • great by Anonymous Coward (Score:1) Friday August 13 2004, @12:35AM
      • 1 reply beneath your current threshold.
    • Huh? by Augusto (Score:2) Friday August 13 2004, @12:40AM
    • Re:This is great by OmegaBlac (Score:1) Friday August 13 2004, @01:03AM
      • 1 reply beneath your current threshold.
    • "Innovative" by nikster (Score:2) Friday August 13 2004, @01:58AM
    • Rotoshop by Udo Schmitz (Score:1) Friday August 13 2004, @08:37AM
    • 1 reply beneath your current threshold.
  • by Brandybuck (704397) on Friday August 13 2004, @12:05AM (#9955931)
    (http://www.usermode.org/ | Last Journal: Tuesday April 17 2007, @09:13PM)
    I think the world has finally left me behind. I just don't get this obsession with .NET. Even the Java ecstacies back in the mid 90's weren't this enthusiastic. There are fifty stories on related topics on OSNews, and .NET evangelists are work are sprouting up everywhere like dandelions. Hell, Miguel can't take a dump these days without Slashdot reporting it.

    Why the obsession with Microsoft technology? What's it going to give me, an embedded systems developer? Why are vice presidents at work mandating its use in a hard realtime product? Frankly it appears to me that the world has gone stark raving mad.

    Has there EVER been any language or framework that generated so much unbridled enthusiasm before? Did they lace the spec with speed or something? I'm not doubting that these various Microsoft cloning projects have some merit, but some of you guys are going way over the top.

    I guess I'm just an old fashioned fuddy duddy who should stick with old fashioned languages, frameworks and music.
    • Re:I think the world has finally left me behind by jcr (Score:3) Friday August 13 2004, @12:30AM
    • by Osty (16825) on Friday August 13 2004, @12:34AM (#9956045)
      (http://www.daishar.com/blog)

      Why the obsession with Microsoft technology?

      .NET is pretty damned good, and people recognize that. The few who don't are the normal "Anything but Microsoft" zealots. It's not perfect, but very good and getting better.


      What's it going to give me, an embedded systems developer?

      Absolutely nothing, but you're not the target demographic.


      Why are vice presidents at work mandating its use in a hard realtime product?

      .NET is the hot new buzzword, and your VPs aren't smart enough to realize that it's not suitable for embedded realtime applications.


      Frankly it appears to me that the world has gone stark raving mad.

      From your perspective, that may be true, but then you're looking at the world from the eyes of a real-time, embedded systems developer where you work with a limited set of known hardware under strict time and resource constraints. .NET isn't for you. That doesn't mean the world has actually gone mad, just that there's more to the world than that which applies to you.


      [ Parent ]
    • by Anonymous Coward on Friday August 13 2004, @12:39AM (#9956078)
      Think about it this way.

      For years, developers targetting the windows platform had two (real) choices VB or C/C++.

      With C/C++ you had two choices. Use the win32 API directly and/or use MFC. With VB, creation of GUI apps was made as simple as possible, at the expense of a cumbersome language.

      Throw COM into the mix, complex threading models and API interface du-jour and the bottom line is that Windows developers have been guinea pigs feeding on inconsistent standards for 15 years.

      -----Enter Java

      Finally, a language that brings OOP to the masses without having to learn complex semantics regarding memory allocation. It also eliminates the cumbersome and overly complex nature of STL in C++.

      The drawbacks were twofold: Early java adopters didn't have the rich GUI IDE's present in VB5/6 and VC++/DevStudio. Like it or not, it hurt producitivty, at least in the short term. Translation: corporate america didn't warm up to the idea immediately.

      Another drawback to java was the rampant verbosity of the language. There are those that do believe that enum's and value types are GOOD things.

      Then you had the immaturity of Java GUI toolkits that made 'rich client' apps look like they were written by high school script kiddies.

      ---- Enter .NET/C#

      Goodbye VB6. Goodbye VC++. Hello managed code. Goodbye MFC. Hello (working) garbage collection. Goodbye complex threading models. Hello full-featured clone of Java.* renamed as System.*.

      C# as a language is a dream. It contains most of the language features that I had been dying for. It is readable, quick to code in and is put together in a consistent manner.

      There is very little about C# that is better than java. But for windows-based shops, Java can't hold a candle to c#/.net.

      It isn't a religous war. You may not like microsoft's policies or busines practices. And they certainly didn't invent the concept of a managed environment or one-up Java.

      While the typical slashdotter is foaming at the mouth about MS, .NET and how we are all bunch of idiots, I am busy writing code for a good company that just happens to base their operations on windows.

      Imagine the ability to take an ASP.NET app that you RAD-developed using MS VS.NET tools and cross-compiling it in Mono, running the whole thing under apache using mod_mono.

      You would have the benefit of a killer IDE (VS.NET), a rock-solid back end (Apache) and an application framework that works without headache!

      That is why **I** use MS.NET and MONO. I don't particularly care for MS, but I am smart enough to know what side of the bread is buttered.

      Bottom line: Sometimes you have to get past the religious zealotry of the pro-linux/anti-ms crowd (ie. slashdot) and see something for it's good.

      This isn't a perfect world, and MS usually sucks, but .NET is cool. Linux is cool. Mono is cool.

      Lets marry them together and reap the benefits.

      Standing at the back of room pouting isn't helping advance your cause.
      [ Parent ]
    • by dekeji (784080) on Friday August 13 2004, @12:56AM (#9956135)
      The key differences between C# and Java are philosophy and licenses.

      Java's philosophy is built around WORA and enforced standardization, courtesy of Sun Microsystems.

      C# is just a language, like C or C++--it comes with a small standard library, but what you do with it beyond that is up to you. C# has a language standard, and an open one at that, but the degree to which you follow that is up to you.

      Whether that is good or bad is a matter of needs and preferences. I think the level of enthusiasm C# and Mono have generated should tell you which way the wind is blowing.

      Note that Mono is not just about cloning Microsoft. Mono is building an entire platform; part of that platform is Microsoft compatibility libraries, but most of it is actually based on open source APIs and libraries.
      [ Parent ]
    • Re:I think the world has finally left me behind by WaltFrench (Score:2) Friday August 13 2004, @01:27AM
    • by groomed (202061) on Friday August 13 2004, @01:32AM (#9956245)
      Well, as the anonymous poster above already mentioned, you need to consider what came out of Microsoft before .NET; a confused jumble of acronyms and paradigms with the combined lifespan of a Coke bottle.

      .NET really is Microsoft's first serious contribution to the computing culture (as opposed to industry) at large. It synthesises many of the ideas of the past decade in a very clean and logical way. And it's remarkably open: not in the sense that it's endorsed by some standards body, but in the sense that it actually makes an effort to integrate with other technologies -- through the pervasive use of XML, the Common Language Runtime and the numerous hooks in the class library, all the way down to the fact that the C# compiler will actually not explode when encountering a file with \n line termination rather than \r\n.

      .NET is a heavy-duty framework that will be around in some form for decades to come, and it's pretty good. It's like Java but less insular, it's like C but less tedious.

      What generates all the hubbub, of course, is that something like this is coming from Microsoft. Think of it as a celebration party. What's being celebrated is that Microsoft is finally coming of age.

      [ Parent ]
    • 1 reply beneath your current threshold.
  • Question about GTK# (Score:5, Interesting)

    by EvanED (569694) <evaned&gmail,com> on Friday August 13 2004, @12:20AM (#9955992)
    I've been looking high and low for a cross platform GUI tool, and the only one I particularily like is Qt. Which, of course, you have to pay lots of money for to get the Windows version (or deal with the "freeware" bit stuck in the title bars of windows). I'm gonna look into Wx.NET; just found out about that in this discussion.

    Anyway, I'm reading over the FAQ for GTK#, and it says you need to have cygwin. So, my question is, does only the developer of the software need to have cygwin, and then it builds it using libraries provided with it and outputs a nice standalone application, or does everyone who wants to use it need to install cygwin? I can't seem to figure this out from the site...
  • Cocoa on top of Mono? (Score:2, Insightful)

    by Xpilot (117961) on Friday August 13 2004, @12:24AM (#9956006)
    (http://slashdot.org/)
    I wish they'd update the Objective C bindings for Gnome instead. It'd be nice to use Obj C to create Gnome programs. It's a nice, clean OO language.

  • I bid C# welcome (Score:3, Insightful)

    by haxor.dk (463614) on Friday August 13 2004, @12:36AM (#9956060)
    (http://haxor.dk/)
    C# may be a Microsoft invention, but now that Mono has opened it for the Linux and Mac people, I bid it welcome. As far as I can see, it is a very powerful language, which offers a number of functions and features of ex. Objective C.
  • by dekeji (784080) on Friday August 13 2004, @12:47AM (#9956105)
    There is another choice for native GUIs using C# on Windows, Linux, and OS X: wx.NET [sf.net], bindings of the wxWindows [wxwindows.org] library to Mono and Microsoft's .NET implementation.

    wxWindows is great because it gives you a uniform API across different platforms and toolkits, while at the same time using native widgets and giving you access to platform-specific features if you like.
  • Also: Mono Project 1.0.1 Released (Score:5, Informative)

    by DAldredge (2353) <SlashdotEmail@GMail.Com> on Friday August 13 2004, @01:15AM (#9956193)
    (Last Journal: Sunday October 14, @10:49PM)
    http://www.mono-project.com/downloads/ [mono-project.com]

    Mono 1.0.1 has been released and fixes a number of bugs.
  • by foo23 (722487) on Friday August 13 2004, @01:20AM (#9956214)
    You can use the native Cocoa interface for more languages than Java, ObjC and now Mono. Good for those who like Ruby for example: http://www.fobj.com/rubycocoa/doc/ [fobj.com].
  • GTK# is NOT ready (Score:5, Interesting)

    by ralinx (305484) <ralinx@gmail.com> on Friday August 13 2004, @02:33AM (#9956400)
    i'm developing a C# application which has a System.Windows.Forms (SWF) frontend for the Windows version, and a GTK# frontend for the Linux version. I was hoping to get rid of the SWF frontend and deploy my application on Windows and Linux using the GTK# frontend. Despite all of the hype surrounding Mono/GTK# (thanks miguel) i have not been able to get this working because GTK# simply doesn't work correctly with MS.NET. There are parts of GTK# that actually rely on an incompatibilty between Mono and MS.NET to work correctly. So when this code is executed with MS.NET, you'll get runtime exceptions. The same code will function correctly on Windows when you use Mono on Windows, but then i get memory leaks everytime i use Regex.Match which my application needs quite often. So after leaking about 395MB of RAM, the garbage collector will crash with an error ("too many heap sections"). The same code runs perfectly on Linux in Mono.

    I would really like to see Mono and GTK# completely ready to be used on Windows for _serious_ stuff (as in: not the average Hello World GTK# app) but rigth now, it just isn't up to the task yet. On Linux, it's pretty good alraedy, but on Windows it's just unusable for my application. I've had to go back to using my old SWF frontend for my windows users.
  • Petty Naming Gripe (Score:2, Interesting)

    Cocoa#? GTK#?

    Wasn't the "gag" for MS naming the .NET language "C#" to refer to the musical note? Since C# doesn't appear [softsteel.co.uk] to have a "#" operator, why not use musical names or some other rule for naming these other languages? Just tacking "#" after language names shows a lack of imagination and gives MS too much of a marketing leverage over the open source project's future PR. Not to mention confusing all those shell scripters [slashdot.org] out there? (-;

  • Proof is in the pudding (Score:1, Insightful)

    by Anonymous Coward on Friday August 13 2004, @02:09PM (#9961861)
    But can't find much pudding. A google search for mono Linux applications returns loads of hits on mono the project, but nothing I can download and take for a spin. Mono seems to be primarily about mono at the moment.

    If some great apps are created with mono, then it will take off, regardless of people's reservations about patents, the moral dimension, etc., etc. If it's demonstrably great, people will use it.
  • by junkymailbox (731309) on Thursday August 12 2004, @11:28PM (#9955755)
    You know there are panther and aqua themes out there that look and behave quite similarly to the mac theme. find them at Themes at freshmeat [freshmeat.net]
    [ Parent ]
  • you have got to be joking (Score:1, Funny)

    by Anonymous Coward on Thursday August 12 2004, @11:41PM (#9955825)
    macs interface is a piece of one mouse button designed crap! keep that shit away from linux!
    [ Parent ]
  • Re:For Linux? (Score:5, Insightful)

    by Amiga Lover (708890) on Thursday August 12 2004, @11:52PM (#9955873)
    I want Mac OS's interface on Linux! I've done what I consider to be as good of a job as I can, but it's not the best knock-off in the world.

    They should be concentrating on making quick & efficient UIs like the Amiga had, or the early Macs, not bloat upon bloat upon bloat.

    Both the original mac and Amiga UI systems fit inside 512k RAM or less, leaving everything else for the App's functionality. When some of those early machines were expanded from 68000 CPUs to 68040s and 32MB of ram or more they flew faster than any 2 or 3GHz cpu in GUI feel. Nothing could outclass them

    So why do we need this bloat?
    [ Parent ]
    • Re:For Linux? by diamondsw (Score:3) Friday August 13 2004, @02:04AM
    • Re:For Linux? by richardfish (Score:2) Friday August 13 2004, @02:26AM
    • Re:For Linux? by dave420 (Score:2) Friday August 13 2004, @11:08AM
    • 3 replies beneath your current threshold.
  • Re:For Linux? (Score:5, Funny)

    by jcr (53032) <jcr&idiom,com> on Friday August 13 2004, @12:21AM (#9955995)
    (Last Journal: Sunday November 05 2006, @05:31AM)
    I want Mac OS's interface on Linux!

    Request denied.

    -jcr
    [ Parent ]
  • Re:So... (Score:1)

    by OmegaBlac (752432) on Friday August 13 2004, @01:11AM (#9956185)
    Sorry, but Mono does not perform miracles.
    [ Parent ]
  • Re:Guide for newbies (Score:4, Informative)

    by OmegaBlac (752432) on Friday August 13 2004, @01:44AM (#9956279)
    You can look through the ECMA document [ecma-international.org] for a Hello World example. Also check out last months Ars Technica Linux.Ars article [arstechnica.com] on Mono as it provides a couple of examples too.
    [ Parent ]
  • public class HelloWorld{
    public staic void Main(string[] args){
    Console.WriteLine("Hello World!");
    }
    }
    Or using Windows forms:
    using System.Windows.Forms;
    public class HelloWorldForm: Form{
    private Button btnOk;
    HelloWorldForm(){
    this.Text = "Hello World."
    btnOk = new Button();
    btnOk.Text = "&Ok";
    btnOk.Click += new EventHandler(btnOk_Click);
    }
    private void btnOk_Click(object sender, EventArgs e){
    this.Close();
    }
    private static void Main(string[] args){
    Application.Run(new HelloWorldForm());
    }
    }
    IM me if you want it explained :)
    [ Parent ]
  • 13 replies beneath your current threshold.