Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Linux Software

Mono and .NET - An Interview 605

all-of-the-dot writes "Would you use an open-source implementation of the .NET Framework? Ximian's Mono project enables you to build .NET apps that run on Linux and Unix as well as Windows. Check out the story from .NET Magazine's interview with Miguel de Icaza, Ximian cofounder and CTO" Added to which, AirLace writes "The Mono project has just achieved full self-hosting on Linux. While the C# compiler, itself written in C#, has been able to compile itself since March, Mono can now compile its own complete set of class libraries too. This announcement closely follows the release of the Phonic media player, the first .NET application for the GNOME desktop."
This discussion has been archived. No new comments can be posted.

Mono and .NET - An Interview

Comments Filter:
  • by goldenfield ( 64924 ) on Tuesday July 16, 2002 @05:00PM (#3897408) Journal
    We all know how MS feels about non-MS operating systems. We all know they're using .NET as a way to lock people into Windows servers and desktops. There's NO WAY they're gonna hang out and let poor Linux play in their reindeer games.

    No...they'll go ahead and change their infrastructure so that it doesn't work with open source code.
    • No...they'll go ahead and change their infrastructure so that it doesn't work with open source code.

      Well, sometimes this works, and sometimes it fails.

      Despite numerous attempts to redefine HTML, its still a fairly broadly defined language, irrespective of what IE will render. .net (the concept) makes alot of sense, its just whether or not you trust M$ to implement it. (No prize for guessing my opinions on that one).

      But M$ do do some things right (Office apps and development suites). .net has the potential to be one of those things, and as long as mono exists also, I look forward to it.

      Michael
      • by sterno ( 16320 ) on Tuesday July 16, 2002 @05:26PM (#3897607) Homepage
        There was an article just the other day on here about how web developers are designing for Microsoft now and ignoring standards. Though Microsoft is never going to make themselves fully incompatible with other browsers, they have continued to distinguish themselves from the competition by their "innovations". The result is that while I can surf websites on linux using mozilla, I will be given a decidedly different experience doing so. Some sites will refuse to let me in all together, and others will just break horribly.

        Now, you might say the reaction to this is that those companies will suffer from losing my business. Yeah, so they are losing what, 5% of the market? Ooooo, big deal. This causes people who don't have a tolerance for these glitches to go with a windows platform out of their lack of patience for that stuff.
    • even if that happens though the primary goal of the mono project isn't to interoperate with windows apps written for .NET. the point of the project is to make programmers lives easier by providing the tool that would make programming for open source OS easier. MS can't crush the project because it doesn't rely on anything more than the standard they submitted to ECMA. And the development tools are nice even if you wouldn't be able to run MS .NET programs.
    • by Anonymous Coward on Tuesday July 16, 2002 @05:27PM (#3897616)
      Exactly!

      Microsoft's track record with Java alone is reason enough to avoid .NET. Microsoft couldn't even be trusted to stick with the spec...they IMMEDIATELY started changing Java (adding worthless crap like *pointers* to a language that was designed NOT to need it). Why did they do it? Because, this is EXACTLY how microsoft gets ahead--embrace, extend, sieze control, and keep changing the API so no competitors can catch up. CHRIST folks, we've got the MEMOS sent around Microsoft HQ as part of public record. They went out of their way to "neutralize" Java as much as possible. .NET will be NO different. Why should it be? Almost all of Microsoft's former competitors complained that Microsoft had the upper hand--because Microsoft had access to the "hidden" APIs while their competitors did not. Will .NET be different? Why in the hell should it? This tactic has worked for Microsoft OVER AND OVER again. Why throw away a perfectly good tactic that has yet to fail?

      Do you honestly think Microsoft has suddenly turned over a new leaf? This is the company that FAKED EVIDENCE in a court of LAW for God's sake.

      Is Miguel smart? Possibly. Is he smart enough to outwit Bill Gates and his army of monopolists? I doubt it. Just look at the graveyard of those who have tried to dance with the devil...the legacy of the 90's computer industry is a full graveyard.

    • "We all know they're using .NET as a way to lock people into Windows servers and desktops."

      Lock people into Windows servers, maybe, but not into Windows desktops. Although MS only supports running ASP.NET on a Windows server, the client receives pure HTML that can be viewed in any browser on any platform. Most of .NET is platform independent on the client side.
    • They can change their infrastructure as much as they like - what they can't change is the fact that the APIs are out there, they're implemented and they're being used. That means that so long as MONO mirrors those apis, mono apps will always work with the original .NET framework.
      It's like all the old Windows 3 programs which still run on XP - Microsoft can't afford to ditch old APIs. Once .NET reaches critical mass (ie the point at which there's so much software that "changing their infrstructure" breaks code) MONO needs only be implemented to that standard and then we're all home and dry.
  • by Anonvmous Coward ( 589068 ) on Tuesday July 16, 2002 @05:01PM (#3897411)
    "I thought I had Mono for an entire year. Turns out I was just really bored."

  • by modulus ( 67148 ) <ajschumache2@wisc . e du> on Tuesday July 16, 2002 @05:03PM (#3897421) Homepage
    That this "phonic" thing, built with the ultra-portable .net dealy, still only runs on linux (or at least nix-ish) machines with gtk?

    On a more serious note...

    Seriously. Where's the portability at? Will .net apps written for windows similarly only work with the "windows gui toolkit" (or whatever)?
    • Will .net apps written for windows similarly only work with the "windows gui toolkit" (or whatever)?

      Yes, they will. As soon as the implementation of the Windows.Forms classes are implemented. That's within the scope of the project and is a big challenge, check it out here [go-mono.org].

    • by calarts_nutmeg ( 545745 ) on Tuesday July 16, 2002 @06:05PM (#3897881) Homepage
      That's the biggest problem, .Net isn't as portable as java, also java is meant to be a great kitchen sink system, with everything from multimedia to raw socket connections. Also, if you don't like java, you can use python with jython to write java class files using a simple scripting language. Java is just so rich, the api has so many goodies to choose from, and the apps can be easily adapted from J2SE to the simpler J2ME CLDC, you still can only use C# to write desktop applications, and having it run clients on the handheld really isn't in the cards for c#, since all applications are supposed to run on MS servers. True I suppose things are getting ported to C#, but still, why go to all the effort to learn it when Java has such a huge head start, and Sun isn't try to kill linux either.
    • by samael ( 12612 ) <Andrew@Ducker.org.uk> on Tuesday July 16, 2002 @06:18PM (#3897984) Homepage
      You can call non .NET programs from within .NET. If you decide to use a library that only exists in Windows (like DirectX) or in Linux (like that version of GTK) then of course it only works in that system.

      Once more of Mono is complete, you'll be able to do the whole of your program in it, including the libraries, and moving between Windows and Linux will be transparent.
      • by Anonymous Coward
        Suppose that I decided to use .NET on Windows. I look around, and find that they support Perl. Cool, so I go and use some Perl libraries in various places. Perl is as cross-platform as it gets, I am fine. Right?

        No. I am utterly fscked.

        Perl uses a dynamic programming model. .NET sucks goat d*ck on handling dynamic languages. Since Perl on .NET was too slow, even by .NET standards, its "integration" is through a custom modification that exports a COM interface, that is imported into .NET. Works fine on Windows. But on Linux, what then?

        And once people get going, how many real applications are going to use Windows forms, or link in some other library, or link in a COM interface from a legacy app, or otherwise become unportable?

        Care to guess whether future tools from Microsoft will "encourage" you to introduce such dependencies?

        Thanks, but no thanks. I have had to work with Microsoft APIs too much for my taste. That is why I try not to now.
  • by Koyaanisqatsi ( 581196 ) on Tuesday July 16, 2002 @05:04PM (#3897432)
    The .Net framework is a very clean and interesting initiative. Forget Passport, forget web-services and all the other pieces and focus only on the framework and the common language runtime (that the focus of MONO) - its neat, and being able to compile code on several platforms without worrying about ports is a great achievement.

    Off course, don't use platform-specific calls (PInvoke) if you want interoperability, but almost everything else is ok.
  • by tps12 ( 105590 )
    Hey, this sounded pretty cool at first. I mean, the more languages the better, right? ;) Plus, I hate it when the Winblowz lusers get to play with pretty toys I can't get on my Linux boxen.

    But then I reconsidered. First, a little background. C# was, is, and always will be, a Micro$oft invention. Like it did with SMB and OLE, not to mention DirectX and ZIP, M$ will have no reservations about mucking with C# just to break Mono compatibility.

    In the case of SMB, we live with this. SMB has become a de facto standard in the enterprise, so Samba is forced to follow M$'s lead and keep up. But no such market forces exist for C#. Right now, it's a minority player against giants like Java and C++.

    By supporting C# through Mono, Linux only serves to make it more popular. In doing so, it makes M$ more powerful. The Mono project is about as counterproductive toward Linux advancement as a Free Software project can be. :(
    • I think Phil Katz (if he were still living) and the employees of PKWare would have something to say about you attributing the creation of the .zip compressed data file format to MS.

    • But then I reconsidered. First, a little background. C# was, is, and always will be, a Micro$oft invention. Like it did with SMB and OLE, not to mention DirectX and ZIP, M$ will have no reservations about mucking with C# just to break Mono compatibility.

      C# is an ECMA standard [www.ecma.ch], like C++ which is an ISO standard [dkuug.dk] unlike Java which is Sun Microsystem's property. Thus Sun has complete control over the future of Java while Microsoft does not have the same for C#. So claiming supporting C# is supporting Microsoft is way off base. Question: Were DirectX, OLE and SMB also international standards or are they technologies wholly owned by M$?
      • by alext ( 29323 ) on Tuesday July 16, 2002 @05:55PM (#3897811)
        This doesn't really add up to much.

        Only about 120 classes of the 1200 in the Dotnet platform are standardized as part of the C Sharp language, so standardization offers little protection if your application uses a GUI (Windows Forms, Web Forms) or a database (ADO Dotnet). Not only are these libraries not standardized, they are likely to be protected by patents.

        Sun does not have the same room for manoeuvre as MS since the JCP has other powerful participants. In practice, there have been few ownership/legal issues in developing Open Source versions of the JVM - see the Kawa web site for a list of these. Their complaints revolve around issues such as access to the test suites - ultimately Sun just owns the Java name, not all the implementations.
    • by miguel ( 7116 ) on Tuesday July 16, 2002 @05:20PM (#3897560) Homepage
      Developers in the Windows world that do not care about cross platform issues (which is, 99% of them) are tired of C++, and Visual Basic, and C# happens to be a nice language to move to delivered by the company that does their OS.

      So people will be adopting C# as a programming language no matter what anyone does. The language is here, and the tools are here, and the community is rapidly growing.

      So what we are enabling is to bring a number of things to Linux: we bring the people, the knowledge and we are reusing Microsoft's investment in documenting, promoting and producing training materials to benefit us.

      So, I am fairly possitive that this is good.

      And then, there is the added advantage of open source: now you got a compiler, a runtime and classes. If they serve your purposes, take it, improve it, extend it, change it, modify it, rip it, research, reuse what you feel like reusing.

      Miguel
    • "First, a little background. C# was, is, and always will be, a Micro$oft invention."

      C# is supposed to be an open, standardized language (standardized via the ECMA) - see here [www.ecma.ch] - in contrast, directx and the rest were all closed, proprietary systems. M$ would lose a lot more than they would gain by mucking with the standard.

      They, however, may unofficially extend it... that's a lot more likely, if you think they are planning evil.
    • LOOK, I'm utterly sick of newbies thinking "M$ wrote SMB" I shall say this:

      HEY DID NOT.
      SMB = NetBIOS Over TCPIP

      RFC 1001 / 1002


      A Portion of RFC 1001 is below:

      OVERVIEW OF NetBIOS

      ... NetBIOS was designed for use by groups of PCs, sharing a broadcast medium. Both connection (Session) and connectionless (Datagram) services are provided, and broadcast and multicast are supported. Participants are identified by name. Assignment of names is distributed and highly dynamic...


      NetBIOS applications employ NetBIOS mechanisms to locate resources, establish connections, send and receive data with an application peer, and terminate connections. For purposes of discussion, these mechanisms will collectively be called the NetBIOS Service.
      This service can be implemented in many different ways. One of the first implementations was for personal computers running the PC-DOS and MS-DOS operating systems. It is possible to implement NetBIOS within other operating systems, or as processes which are, themselves, simply application programs as far as the host operating system is concerned.

      The NetBIOS specification, published by IBM as "Technical Reference PC Network"[2] defines the interface and services available to the NetBIOS user. The protocols outlined by that document pertain only to the IBM PC Network and are not generally applicable to other networks.


      [2] IBM Corp., "IBM PC Network Technical Reference Manual", No. 6322916, First Edition, September 1984


      In fact dont take my word for it, check out The History Of SMB [samba.org] or Here [compuserve.com] oh, and Here [ucl.ac.uk]


      Now my little SMB rant is over, I shall rip apart the rest of your comment.

      1. C# [wikipedia.com] is a unashamed ripoff of Suns Java Language, submitted to ECMA for standardisation. As has their CLR (or Virtual machine)

      What they may do however is add more windows specific extensions (Like they did with Java, which Sun got upset about) in libraries. I doubt that they will make significant changes to the virtual machine nor the core api. They'll just bolt on more and more crap (just like Sun are doing with Java)


      2. OLE - wrong, this is another IBM invention
      Dynamic Data Exchange [DDE], Object Linking and Embedding [OLE] (now known as ActiveX), and Component Object Model [COM] are all derived from IBM technology - If in doubt look Here [os2bbs.com]

      3. Direct X - a half baked api to get closer to the hardware than a protected mode O/S normally allowed, in fact they had to move for the most part the display drivers into RING0 to accomplish this. NT 3.x had lots of issues with graphical update speed.

      4. ZIP - I'm sure PKWare Inc. would like to know how M$ has hijacked ZIP file compression...

      5. Back to SMB - a "de facto" [webopedia.com] standard is:
      A format, language, or protocol that has become a standard not because it has been approved by a standards organization but because it is widely used and recognized by the industry as being standard.

      It IS a standard! Masquerading as CIFS/NetBIOS over TCP/IP etc. It's as much as a standard as POP3 and SNMP.

      Samba is forced^H^H^H^H^H^Hchooses to adapt to Redmonds bugs/incompatabilities, due to the plain fact that the userbase of windows clients is so mingboggingly huge.

      6. Supporting C# (I think you mean CLR here) under a liberal license, is a good thing. It doesn't make M$ more powerful, any more than jumping up and down makes an effect on earths orbit. CLR is here, and on 90% of windows updated machines right now. Many people would have Loved VB to be available on *nix. Now with M$ making all its languages (If I understand it right) run under CLR their wishes come true.



      I Really hate saying this, but I think CLR will actually become what Java promised back in 95 total cross platform compatability.


      The CLR Genie is out of the bottle. There is little now Redmond can do to do otherwise. Mono is basically removing a whole bunch of porting work off M$ and putting it back into the hands of the developers (where it should be, fs) - Do you really think we would be in a messed up situation with Java now, if SUN had opensourced the JVM from the word go? No, I didn't think so.

      So please, before you post check your facts, and stop presenting (IMO) poorly formed opinions. And who ever modded this troll to +4 needs taken outside with petrol+matches!


      • Dear oPless.

        "You've been trolled"

        However, it's brought some interesting links to light.

      • I Really hate saying this, but I think CLR will actually become what Java promised back in 95 total cross platform compatability.

        I would agree, but you said it yourself, that MS is adding all these libs to the system that programmers will use. If you actually want to be able to run your program cross-platform, then you'll need to have different code paths that use different libs under different platforms. Java only works cross platform because they have created a platform that is so generic that is can be supported on almost any modern computer. C# and it's libs don't try to do this at all. They depend on MS specific functions to run, just another layer between you and the real C apis. Good because it makes the programmers job easier, bad because it really is MS specific. Java did promise cross platform compatability, and it is really close to being the same over all platforms (a few bugs withstanding). Unfortunatly, the only cross platform part of java is the JVM and if you can't do something in the JVM, suddendly you lose the cross platform part of java.
  • Useful technology (Score:4, Interesting)

    by Jonner ( 189691 ) on Tuesday July 16, 2002 @05:05PM (#3897445)
    I am not interested in .NET because of M$'s clout, but I am somewhat interested in CLR and the standard libraries because it may be a genuinely useful technology. I'm not interested much in C#, as it appears to be quite similar to Java with some C++-like stuff, but if the promise of easy cross-language development is true, that is interesting. Of course, that is possible with a JVM and standard Java libraries, but the CLR may be superior in that respect. Let's wait and see.
    • How can it be superior if it doesn't have standard libraries? There are no standard GUI, database etc. libraries - you're thinking of Java (the platform).
  • Gtk# doesn't currently work on Windows as the Microsoft runtime is incompatible with Gtk+ libraries that aren't linked with MSVC's lib.exe tool. Tor Lillqvist's Gtk+ for Windows won't work. While there's no active effort within the Mono project to recompile the DLLs, you're welcome to try yourself. build- dll is an example of how this has been achieved in the past.


    Another consideration is porting SoundStream to Win32. This should be trivial for anyone familiar with Windows sound programming.
    Absolutely brilliant! What's stopping people from implementing WinForms on Mono instead of being forced to use this shit?
    Windows Forms is probably going to be the trickiest one because we might have to do some emulation of the Win32 layer.
    ARGHROWARSD;FLKJSDF!!

    My favorite part of .NET and my main reason for using it is the one that's gonna take the longest to find on other platforms? GODDAMMIT
  • What about Dot-GNU? (Score:3, Interesting)

    by Koyaanisqatsi ( 581196 ) on Tuesday July 16, 2002 @05:07PM (#3897461)

    On a side note, I would like to see Ximian or the GNU Foundation talking at how MONO and DOT-GNU differ on purpose or how they are similar.

    Frankly, they seem to have the same end goal, and I'm afraid this is a duplicate effort that would be better off if they joined forces.

    Dot-GNU: http://www.gnu.org/projects/dotgnu/index.html
    • by DevilM ( 191311 )
      I co-authored an article that compares all the open source implementations of the .NET CLI. You can find it here [devx.com].
    • by miguel ( 7116 ) on Tuesday July 16, 2002 @10:58PM (#3899057) Homepage
      DotGNU is = Portable.NET + other_stuff.

      Portable.NET and Mono are doing the same things. Mono is a lot more advanced than Portable.NET: JIT, a working compiler, large development team.

      About the `other_stuff', I have never been able to figure out what it is, or what they are doing.

      It is a duplicated effort as you very well point out. From the Ximian perspective, we did have the resources to work on this project, and we had our developers work on it.
  • by k2enemy ( 555744 )
    before everyone burns mono for having ties to microsoft, keep in mind that the framework part of .net isn't proprietary. the cli [www.ecma.ch] is an open standard, free for anyone to implement. plus, what mono is doing with recreating the class libraries will provide more competition to microsoft, not less.

    the other parts of .net such as passport, application services and MS web services are the troubling part. mono has nothing to do with these.

  • by Daimaou ( 97573 ) on Tuesday July 16, 2002 @05:15PM (#3897522)
    I use C#, ASP.NET and VS.NET at work. I find developing web applications with these MS technologies glumed together as irritating as it gets. While the integration between disperate technologies is commendible, VS.NET is slower than frozen mud. Give me a good text editor and command line tools any day.

    I think that the whole Mono project will turn out to be a major debacle. Microsoft is going to integrate and complicate .NET with Windows to the point that Mono will never work. MS will release new .NET crap every year and Mono will play catch up for a year so it finally works again just as MS is releasing a new incompatible version.

    In the past, Microsoft has either presented an "open" standard, or pushed someone else's open standard, only to hijack it in the end, to the detriment of non-Windows users and developers.

    I think the Open Source community would be better off backing a web technology like J2EE and not .NET. Microsoft has proven time and again that it can't play well with others. I think Java has a good record for working everywhere consistantly.

    I would recommend consulting members of the Wine and Samba development groups. I'm sure they have plenty of horror stories about working with constantly changing MS technologies.
    • by erasmus_ ( 119185 ) on Tuesday July 16, 2002 @05:30PM (#3897645)
      How does .NET prevent you from using a good text editor and command line tools? All the files, including forms, code, resource, and project files are simple text/XML files. That means that you can use any text editor, then use the command line compilation tools, which are vbc for VB.NET, cs for C#, etc. And as others above have pointed out, C# has been approved by a standards body, so unlike Samba, there are not going to be issues of trying to integrate with something the vendor (MS) does not necessarily want you integrating with.
      • Boy, this is getting annoying. Any further posts that deliberately confuse the (standard) C Sharp language with the (proprietary) Dotnet platform should be modded down on principle IMHO.
      • C# is a language. .Net is the platform. The standards bodies have approved the languge but not the PLATFORM. It is the platform that ms is pushing, the language just happens to be new and fancy, but the real push is for .Net the platform. They own the platform, control the platform, license out the platform and ultimatly have the final say on anything about the platform. That is why there may be issues. That is why people should not just jump in head first without having a good plan.
    • "I think that the whole Mono project will turn out to be a major debacle ... MS will release new .NET crap every year and Mono will play catch up..."
      Miguel replies to this in his FAQ [go-mono.com] on the Mono web site [go-mono.com]:
      "Question 37: Do you fear that Microsoft will change the spec and render Mono useless?


      No. Microsoft proved with the CLI and the C# language that it was possible to create a powerful foundation for many languages to interoperate. We will always have that.

      Even if changes happened in the platform which were undocumented, the existing platform would a value on its own."
      Mono will be useful no matter what Microsoft does. Mono is taking Microsoft's expensive, paid-for research and applying it.
  • by chuckw ( 15728 ) on Tuesday July 16, 2002 @05:15PM (#3897528) Homepage Journal
    Two of our developers just came back from a .NET training session and were wowed beyond belief. (Note: This session was put on by a private company, not Microsoft). These guys were hardcore Linux/Java hackers working on our latest web based application. What changed their mind? It was the tools. The code had *NOTHING* to do with it as far as they were concerned. I told them there were OSS alternatives that pretty much replicated all of the .NET functionality. They still shook their heads saying it's the tools they were introduced to that made the real difference, not the code. One small example they used was that the MSFT tools allow you to backtrace a transaction all the way from your HTML front end clear on in to the database with a simple click of a button. There were a lot of other examples, but that was the one that stood out in my mind the most. It was the fact that they could write code faster and worry less about the crap that tipped the scales.

    The thinking progresses with the argument that since we're developing on Microsoft tools we should be running a Microsoft OS on our servers since no two JVM's 'er I mean CLR's are alike...
    • I can't speak for all the "dot-net languages", but I've been writing lots of ASP.Net code in C# and VB.Net recently and guess what? It's not the tools, it is the framework itself.

      I'm not using Visual Studio, I'm working out of the .Net SDK and what makes me all wowed is how quickly I can do things that used to take hours to build on ASP 2.0, like complex form interfaces, data validation, query output, etc. It's well worth looking at the samples to get acquainted with, I bet you'll be surprised with how powerfull and flexible the framework is :-)
    • One small example they used was that the MSFT tools allow you to backtrace a transaction all the way from your HTML front end clear on in to the database with a simple click of a button.

      I bet this works just fine until the day when you need to deviate from the Microsoft plan in some way (maybe you have to do some unusual database stuff, or even talk to a non-Microsoft database that your warehouse uses or use something like a dbm file) and then it will all fall apart. People who learned how to use the tools instead of learning how to design and write programs will be lost when this happens. There is no substitute for understanding how things work, and Microsoft usually makes it harder to do that than other options like Perl or Java.

      • by Iamthefallen ( 523816 ) <Gmail name: Iamthefallen> on Tuesday July 16, 2002 @06:12PM (#3897941) Homepage Journal
        When that day comes you look up how to do it, if you spend your time with a bad buggy tool solely to get better understanding of the system/framework, you're wasting a lot more precious time. Start coding, when you get stuck, pick up a book or ask around.
      • Exactly.

        The WONderful thing about using GUIs to develop solutions in problem domain X is that by the time the GUI has been coded, shipped, and is on your computer, what you really need is something which solves problem X', or even problem Y.

        Case in point:

        When I first started coding Java GUIs, I used JBuilder's GUI-based GUI designer. I still think that it rocks. But now that I know more than the basics, I use Emacs, and copy-and-paste from prior implementations. Why?

        • Because I want to color outside of JBuilder's [simple] box, and have more control over how the code is organized.
        • Because now that I know some of the finer points of threads, etc., I can produce cleaner GUI code than JBuilder can.
        • Because JBuilder gets confused if my code deviates too much from their expectations, and I got tired of dumbing things down to suit the GUI builder.

        Tools are great... if you don't mind the fact that you can only do what the tool builder lets you do.

        Now read that last sentence again, and remember who the tool builder of VisualStudio is.

        Where do I want to go today? Whereever I damn well please, thank you.

      • I don't know about the HMTL-down-to-DB stuff.

        But I have to say the MSFT tools are really impressive, precisely because you don't have to choose between using the tools and designing and writing the program yourself.

        Jumping back and forth between the code and the GUI is a breeze, and the code auto-generated by the GUI is amazingly clean, easy to modify by hand.

        But it's the simple idea of #region what I have found makes the greatest difference in coding. I expect to see similar support for these in other tools, and I hope in other languages/platforms.

        As a matter of fact, what I like about Visual Studio .NET has nothing to do with "Microsoft plan", or locking yourself out of your own source code, or limiting what you can do with your code. You can work in as low a level you want and never touch a wizard/GUI-builder. They're just simple ideas that help you to write CODE faster, easier, AND better.

        There's no reason for other tools not to be able to copy VS.NET functionalities and provide decent IDEs for Java and other platforms. I fully expect them to do so, because I'm a Java programmer. As a result of .NET, I expect the Java development tools dramatically, and I suspect the same will happen with other languages.
    • The consequence of worrying less about the crap means that there's gonna be more crap you didn't worry about in the end product.
  • makes me nervous (Score:5, Insightful)

    by Dr. Awktagon ( 233360 ) on Tuesday July 16, 2002 @05:29PM (#3897633) Homepage

    I guess I have to make my obligitory post on this subject:

    As a technology person, I like the .NET framework, the web services aspects, the runtime, and I think C# is infinitely better than C++ (then again, what isn't...). I'm looking forward to playing with C# on my Linux machine.

    But I'm just a little creeped out by the idea of using Mono for anything important (business-related), such as deploying services or products. I really have trouble figuring out what Microsoft has to gain from allowing Mono to exist indefinitely. They have plenty to gain from a sweeping, cross-plaform, bait-and-switch ploy.. they can just wait until Mono is somewhat established, apps are built and deployed... then break it and wait patiently for the inevitable migration back to Windows.

    I would like to hear from Microsoft that they won't sue any Mono developer (or user) for patent infringement. I'd like to hear that all relevant APIs and specification are public and open and will stay that way. Miguel's attitude seems to be one of "hope", quote:

    So I think the APIs will remain fairly stable, and I hope that Microsoft won't go into proprietary protocols or protocols that would make it really hard for us to implement Mono. There's is always the possibility it will do so. Microsoft has some strange patterns in terms of how it competes. I really hope it will "behave like a good citizen," as Steve Ballmer said recently it would.

    Now, I could be all wrong, Microsoft actually might not mind that we will use their technology and not their products...but...this is Microsoft we're talking about here.

    Sure this sounds like fear, uncertainty, and doubt, but that's exactly what I feel whenever I think about Mono......

    • Re:makes me nervous (Score:3, Interesting)

      by nihilogos ( 87025 )
      and I think C# is infinitely better than C++ (then again, what isn't...). I'm looking forward to playing with C# on my Linux machine.

      Language X > Language Y statements are some of the most pointless ever made. Suppose you wanted to write an accelerated 3d game? Suppose you wanted to do some numerical physics?

      And you might be waiting a while for C# on your linux machine. You can still get java which does the same stuff however.
  • hmmm... (Score:2, Funny)

    by r0b0t b0y ( 565885 )
    from the Ximian web site:

    * The Mono C# compiler was able to compile itself on December
    28th, 2002. The resulting image contained errors though.

    i'd say it was a good guess that they have errors with announcements like that...
  • by Kaypro ( 35263 ) on Tuesday July 16, 2002 @05:56PM (#3897817)
    I've been a hard core Linux user for many years and do most of my development on Linux (usually GTK/Gnome) but I must admit that the whole .NET thing is quite impressive. I'm actually quite surprised by it. Microsoft has never been know to make huge leaps but .NET is a MAJOR one. It is similar to the leap Apple made when jumping to OSX from MacOS. OSX fixed many of the things wrong with MacOS and similarly .NET fixes almost all of the prior things wrong with not only web development, but development in general. I strongly urge Linux developers to push there pride aside and learn about one of the first true inovations coming from Redmond since the wheel mouse :-) Whether or not it is accepted is yet to be seen (though personally I think it will, especially with the MONO project developing so rapidly)

    Cheers!

    • by Anonymous Coward
      I second that whole heartedly. And holy crap, the Visual Studio.NET is one kickass IDE. You can do development in 4 different languages within one project, can call routines between languages, and the debugger can step through the different code like nobody's business! I'm pretty sure no IDE even comes close (although Netbeans is pretty cool).
    • by NotoriousQ ( 457789 ) on Tuesday July 16, 2002 @11:10PM (#3899106) Homepage
      Your analogy is a good one, but for the wrong reason. OS X is really good because Apple merged UNIX OS with their GUI, thus giving their previously full of crap os a nice boost.

      What MSFT did is they took java concepts and mirrored them, keeping only the IDE. The result is that previously sucky RAD dev languages (talking VB here) and actually making them perform decently, while their IDE keeps kicking ass.

      A true move for the better, but no real new innovation, just a new product.

      Few more points....

      .NET fixes almost all of the prior things wrong with not only web development, but development in general.

      I will have to disagree with you here though....Web development is not fixed..and ASP.NET is actually more clumsy than it was before. Sure it is easier for the newbies, but it does not allow easy flexibility...just look at all the newsgroups talking about trying to avoid or at least control rampant postbacks, the horrible performance of webcontrols, and actually doing anything clientside....

      Do not believe me? Just try adding a client side onclick event to the asp:button, and you will see what I mean

      And do not start on the webservices thing...the only thing that is is just transparent to the user soap calls....

      And what about the development in general....well there are two types of development....one where you write small apps that store some data, and you want to develop them fast, and two is where you write some seriously big software, where you want it to work fast and last. .NET is fine for the first one, I will take pure C for the second one

      Furthermore, it seems that no one is seeing the .NET shortcomings....

      First, the gui (win forms) is not generic, which means microsoft never planned, eventual transparent porting to other platforms gui. Everything is in the absolute positioning, and does not even have an option for the layout system like gtk/swing IIRC. Sure it makes it easier for the noobs, but, you have to have the layout, if you want your app to be fully platform / device independent. Second, there are too many windows quirks in the core libs....drive letters?, unc paths?...sure there had to be a way for a more flexible system...so that apps could be ported a bit easier.

      first true inovations coming from Redmond
      I would not consider this an innovation, just a remake of what java is/tries to be...And like java it has design bugs....just look at the ICollection sometimes returning DictionaryEntry, sometimes the actual value...damn it people...it is an interface it is supposed to have common behavior....i do not want to check every f***ing time what object the for each loop is returning. BLAH

      since the wheel mouse :-)

      probably not their innovation, but they did recognize it as useful...gotta give them credit for that. I still think that there are some double mouse designs that are more useful...but do not have much time to play with them...but think multi axis mice (hat buttons, jog dials, etc, think the left hand joistick for RTS)

      Whether or not it is accepted is yet to be seen (though personally I think it will, especially with the MONO project developing so rapidly)

      What are you talking about? .NET is quite accepted in the Microsoft shops since it beats the shit out of old VB. However I wonder if mono is going to be accepted. This would be a very good thing for one good reason. This would cause competition within the libs, and if mono is going to play the lets stick to the standards and only the standards game...it will force microsoft to play to the same standards or risk losing control, and suffer a split in the .NET world. I would think they would take option 1, which is a win for us developers.

      So I say yay for mono, and hope that one day I can do my job for the (unfortunately all Microsoft) company from my linux box at home, and not having to shell out for WIN and VS and fear the BSA.
  • by afflatus_com ( 121694 ) on Tuesday July 16, 2002 @06:05PM (#3897880) Homepage
    Look at the toolsets, the final contenders I looked at for a cross-platform GUI toolkit were: .NET
    Trolltech Qt
    GTK
    Delphi/Kylix
    wxWindows .NET:
    -Poor history of MSW undocumented APIs.
    -Poor history of MSW trying to break other toolsets not blessed by the company.
    -Poor history of MSW once actually finishing a piece of software's features (eg Office) trying to find other ways to pinch money off people.
    -Poor history towards GPL software.

    Qt:
    -A strong contender: good documentation, tools.
    -Lost out because they say the Windows version requires a purchased copy of Visual C++ to do any compiling with it.
    -Emulates widgets instead of using native.

    GTK (1.2 back then, I can't comment on 2.0):
    -Very free.
    -A lot of component scattered libraries makes documentation difficult.
    -Sometimes higher level widgets don't exist: need to make them from scratch using the window primitives.
    -MSW port is a bit rough.

    Delphi/Kylix:
    -Easy to use, a company respected by me that makes good software.
    -No Mac available.
    -Proprietary, liable to not be maintained if company goes under.
    -Free version is nagware under Linux, I believe their documentation said.

    wxWindows:
    -Works out of the box, now.
    -A single project can be compiled for MSW, GTK, OSX and less commons like X11 embedded.
    -Good documentation, sample code, etc.
    -Core team is *very* accepting to new features and sharper code.
    -Native widgets always used, where they exist makes a proper look and feel for an application.
    -The open library in unencumbered by a company that needs to ship new versions of tools or the library.
    -Fast: native compiles so no runtimes needed.
    -The C++ is designed to by truly compatible with almost any compiler, toolset, not ones blessed by one certain company.
    -Well tested (10 years).
    -Tools and library are no cost, (or nagware). Free compilers exist on all supported platforms.

    wxWindows was the one that was selected, and now 10 months into the project, I am very satisfied with the results from that toolkit choice.
    • Qt: -A strong contender: good documentation, tools.

      The documentation alone is enough for me!

      -Lost out because they say the Windows version requires a purchased copy of Visual C++ to do any compiling with it.

      Well, I don't really care that much about supporting a legacy OS but TrollTech claim that Borland works too. Haven't tried it myself.

      -Emulates widgets instead of using native.

      But this allows some control over the style (I don't believe in repeating MS's mistakes: a good UI is better than one that has familiar screw-ups like having shutdown under "Start").

      TWW

  • "While the C# compiler, itself written in C#..." ....umm.... wha.... uhh........ how the.......... ummmmmm.....
  • by Omega1045 ( 584264 ) on Tuesday July 16, 2002 @06:32PM (#3898063)

    First, I would like to post a link to an MSDN article on Microsoft's attempt [microsoft.com] to build a .NET implementation on FreeBSD.

    Second, I am a C# and VB.NET programmer. I have really enjoyed using the new VS.NET, and love ASP.NET. The way it treats web pages with an event model is very, very cool. As I am also a PHP programmer, I consider ASP.NET, concept wise, a giant leap ahead of PHP. VS.NET runs a bit slow on my 400 MHz machine, but cruises along smoothly on my 1.6 GHz laptop. Plus, it handles much better than Sun's Forte, a comparable product that would let me build comparable software solutions.

    Third, I am VERY excited to be made aware of MONO! I have done quite a bit of Java programming in my past, and am glad to have a better alternative to it for building enterprise level applications on Linux. I have not had the level of "undocumented features" bite me in my .NET programs as I have in VC++, VB6 or Java. Say what you will about the evil empire, but the .NET framework is a very well thought through, nice behaving programming platform. I wish the MONO team the best of luck, and am thinking of volunteering!

    Fourth (and finally) I have been teaching some VB.NET and C# classes. I have found all of my students walking away from the classes wanting to use .NET, including Linux programmers. I would tell you hardcore MS haters out there to at least try out .NET, especially if it is going to be implemented on Linux. I think you will find that it could be a great tool for you to build software with, if you take of the blinders. After all, why not take what is Microsoft's big marketing push and turn it against them on Linux?

  • .NET is a trap and MONO is walking straight into it.

    MS don't give a toss about the ECMA or any other standards body. They treat HTML as if they were the standards body (remember all of two days ago we had this story [slashdot.org] about the effect MS has on "standards" and that was one they didn't even invent!) they just want some stamp of approval that they're playing nice at the start of the game. After that the ECMA can pack up and go home, Bill won't be needing them anymore.

    MONO simply gives more credence to .NET by allowing MS to honestly (not that that's ever bothered them!) say that .NET is a cross-platform technology. Of course, they'll add, the non-Windows versions aren't very good. And they'll be telling the truth.

    The reason they'll be telling the truth is that they will make it their business to make it true. Every point upgrade (and there'll be lots of them) will come out just as MONO catches up with the changes since the one before last, making MONO a permanent 'old version' of .NET. And if the point update breaks old code or ignores the "standard" guess what? MS couldn't care less. Their customers will be locked in, they won't be able to change to MONO because it will be two points back and not able to do what the customers' software needs. So it'll be out with the chequebook again to add another wing to Bill mansion.

    I mean, for Christ's sake, it's not like Microsoft haven't done this all before! What are you people? BLIND???

    TWW

  • I think Ximian's Mono project may do something unintentially pro-Microsoft: it could turn the entire Microsoft .NET initiative into a de facto standard before Sun figures out what hit them.

    In fact, why do you think Microsoft has actually not stood in the way of Mono? Because Mono validates much of what .NET is trying to achieve. Between Microsoft implementing .NET Framework with its own tools and Ximian implementing .NET Framework with Open Source tools, Sun has its work seriously cut out to convince the majority of developers to write code for the competing Liberty Alliance (as if Sun's wishy-washy attitude towards the Linux crowd in regards to Java hasn't offended a lot of Linux/FreeBSD/OpenBSD programmers already).
  • by Eric Damron ( 553630 ) on Tuesday July 16, 2002 @10:29PM (#3898964)
    Yes! Give me .Net! I can hardly wait to run all of the windows apps including the lates viri!

    I really think that Linux is missing out on the fun. I mean sure, it's stable and secure but what adventure is there in that? I want to wonder every time I boot up if I'll see: "You have been hacked by the Windoz Nukum Worm! Hard drive formatting now...."!

    Oh yes! Why should Windows users have all of the fun?

Work is the crab grass in the lawn of life. -- Schulz

Working...