Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Ars Technica Tours Mono 465

Kevin Francis writes "Over the coming weeks, Ars Technica will be taking a look at Mono, including a basic introduction to Mono, MonoDevelop, and C#, and then branching out to GTK#, database access, ASP.NET, advanced C# topics, and conclude with a discussion of the future of Mono, and the C# standard. All the examples will work on Windows and Linux, with OSX support coming shortly. Part 1 of the series is online now."
This discussion has been archived. No new comments can be posted.

Ars Technica Tours Mono

Comments Filter:
  • by garcia ( 6573 ) * on Thursday July 15, 2004 @01:55PM (#9709295)
    As you can clearly see, Mono brings almost limitless possibilities in breaking down the barrier between desktops: a commercial software provider would target Mono and it would "just work" on all platforms that Mono supported. How is this different from Java? In my opinion Java makes things harder than it needs to be. For starters, enforced exception handling can't auto-box/unbox primitive types and doesn't support arbitrary length parameter lists String.Format() style.

    The framework of Mono provides the ability to make a very tedious task in C/C++ almost trivial in C#. As the above example, RegEx, shows, it helps the programmer concentrate on the program itself, rather than the logic supporting the code.


    Yes, it is very exciting to have developers be able to easily write code that will work both on Linux, Windows, and OS X (obviously with the correct libraries) but will the coders utilize Mono when doing their work? Will they be concerned enough that Linux and OS X users are worthwhile supporting to make sure it is cross-platform?
  • RAD tools (Score:5, Insightful)

    by BillsPetMonkey ( 654200 ) on Thursday July 15, 2004 @02:04PM (#9709421)
    What mono needs is a good RAD tool for developing GTK# based apps. I know you can reference GTK# libraries in VS.NET but there's no support for cross platform forms design.

    The syntax for building Winforms is completely different to GTK# (as one might expect) but the documentation I've found doesn't really map types and methods for developers familiar with existing RAD tools such as MonoDevelop and the excellent SharpDevelop.

    Tool designer support for GTK# is crucial.
  • Bull (Score:3, Insightful)

    by tgrigsby ( 164308 ) on Thursday July 15, 2004 @02:06PM (#9709437) Homepage Journal

    As you can clearly see, Mono brings almost limitless possibilities in breaking down the barrier between desktops: a commercial software provider would target Mono and it would "just work" on all platforms that Mono supported. How is this different from Java? In my opinion Java makes things harder than it needs to be. For starters, enforced exception handling can't auto-box/unbox primitive types and doesn't support arbitrary length parameter lists String.Format() style.


    I find this kind of claptrap irritating. Java is one of the easiest platforms to jump into. If you found it harder than it needed to be, you needed more coffee.
  • by Kithraya ( 34530 ) on Thursday July 15, 2004 @02:06PM (#9709441)
    I certainly am. I am required to use C# in a Windows environment, and since I've discovered mono for my at-home-just-for-fun stuff, I'm able to leverage the experience and education from my day job. I find myself doing far more of this for-fun work in the linux environment now. For me, this has been the greatest boon of having mono, and hopefully other developers forced to work in Windows will also leverage mono to bring even more great software to other platforms.
  • by Anonymous Coward on Thursday July 15, 2004 @02:08PM (#9709470)
    it's in their interests to keep the core platform and language specs consistent, the API's are another matter...

    ummm... sure. Until it's time to change things again. Remember, .Net is nothing more than the lastest version of DDE. There's DDE, several versions of OLE, ActiveX, COM, DCOM, .Net, and the rest I'm forgetting.
  • Fills a needed gap (Score:5, Insightful)

    by Ars-Fartsica ( 166957 ) on Thursday July 15, 2004 @02:14PM (#9709541)
    Novell is banking on making Windows->Linux migrations simple as a selling point for their tools. Providing a viable supported .net platform is a key. Do I think that this will become the de facto Linux dev kit? No. Too many users love their kit of choice (perl,pythong,java,etc) and in any case the open source community abhors being told how to develop. Nonetheless having one more option is a benefit. The only downside is potential bloat of distro CDs, but hey we crossed this line a long time ago and its what you have to do if you want to support N dev toolkits.
  • blech! (Score:2, Insightful)

    by shralpmeister ( 708291 ) on Thursday July 15, 2004 @02:18PM (#9709585)

    What was the reasoning behind making the first letter of the method names upper case?

    ...and .exe on my executables?

    When is Miguel going to port the windows registry?

    I'm sorry but the thought of microsoft's mangled conventions polluting the linux/unix world is making me ill. :-(

  • by metallikop ( 649953 ) on Thursday July 15, 2004 @02:23PM (#9709643)
    I dont think the goal of mono is to replace all the other dev kits. Wouldn't it make more sense to write your Windows application in C# and just compile it for Mono while you're at it? Seems to me that this is a very easy way for developers to make their application cross-compatable without any extra work.

    So no, this WON'T replace X, it will make it a better decision to use C# in the future. A plus to both Windows application devs, and Linux users alike.

  • by turgid ( 580780 ) on Thursday July 15, 2004 @02:34PM (#9709732) Journal
    The only thing that Mono/.NET has going for it, as far as I can see, is that it is designed to be targetted from multiple languages. Python and Java are both languages and run-time thingies.

    It will be a sad say indeed when developers are tied to a specific language for a specific platform just because that is what someone has mandated from on high.

    I look forward to the legal and security issues with .NET, Mono and .GNU. We live in interesting times.

  • by Anonymous Coward on Thursday July 15, 2004 @02:36PM (#9709749)
    The Mono project was conceived in the Summer of 2001 as an Open Source alternative to Microsoft's .NET development platform. Since then, it has come all the way to a 1.0 release among a flurry of controversy from mostly inside the Open Source community itself. Although we will not outline the reasons here, most of the criticism stems from the fact that .NET is Microsoft, and "we" don't like them.

    What a stupid simplification!! There are legitimate concerns over how MS exerts it monopoly power, and many of the resultant concerns with Mono and its support of MS' .Net are not satisfactorily answered. What about MS total control of the standard? What good will the standard be if the company that owns 95% of the desktop starts shipping a .Net that deviates from the standard? What about the parts of .Net that are not covered by the the standard, and in fact have intellectual property encomberances?

    Mono's main pull for developers is that it is cross-platform and makes writing applications very fast because of its extensive framework. Mono also has the concept of garbage collection. Gone are the days of using malloc() and free() and recording where you allocated memory and making sure you free() it. Java has GC as well, but Java never really caught on as an application language.

    Another biased statement; has C# caught on as an application language? Why not point out that C# is pretty close to a clone of the Java language, and that .Net is essentially the Java runtime environment, with MS additions. Why is .Net any better than Java for application development. Is its speed any better? Is Mono's speed any better than Java's?

    I don't mind a review of Mono. I was interested in reading it, and would like to know more about it. But, when the author so casually dismisses the concerns with MS and Mono, or dismisses the legitimacy of Java, I question his objectivity.
  • by Eric(b0mb)Dennis ( 629047 ) on Thursday July 15, 2004 @02:36PM (#9709754)
    This is gobily-gook! How can the Ars Technica crew POSSIBLY provide me with insight (and a possible cure, please?) to mono! These guys have been a member of the biggest sausage party since 2000! (Besides the Bush/Cheney whitehouse). I don't trust a group of hackers to my mono research, no-sir-ee
  • Comment removed (Score:3, Insightful)

    by account_deleted ( 4530225 ) on Thursday July 15, 2004 @02:37PM (#9709760)
    Comment removed based on user account deletion
  • by kollivier ( 449524 ) on Thursday July 15, 2004 @02:47PM (#9709880)
    I've already been doing this sort of cross-platform programming for years with wxWidgets/wxPython. I'm not waiting on Mac support - I'm already using it (and improving it!). What amazes me is that the authors act like Mono is breaking new ground by having a portable programming language that can do GUIs but is easier than Java. Hello? Apparently no one ever told them about Python/wxPython?

    And not only can I use it today, I get better results than I would with GTK# or Java in terms of cross-platform interfaces. If you've ever seen the GIMP on Windows, you'd know that GTK apps don't quite look like professional Windows apps. Emulated interfaces will always look out of place, particularly as themes get more common.

    I'd encourage anyone who is interested in cross-platform programming to download Python and wxPython, then run the wxPython demo on Windows, Linux or Mac OS X, and then explain to me exactly how it is that Mono is breaking new ground. (Note also that the wxPython 2.5.2 release on Mac will sport a number of nice improvements and is due out soon.)

    The only new and unique thing that I see about Mono is that it uses and is compatible with APIs designed by Microsoft. As a compatibility layer, that has some value, but they will always be two steps behind Microsoft and MS will always ensure that the best .NET experience comes from using Windows. And as the Ars Technica article shows, it's going to be a while before anyone can really write sophisticated cross-platform GUI apps using this toolkit. (And will it be GTK# on Mac? Does that mean X11 is needed there? Ugh.)

    Anyways, time to go back to making my native, cross-platform apps. ;-)
  • by caspper69 ( 548511 ) on Thursday July 15, 2004 @02:48PM (#9709889)
    I'll bite, even though you're an AC. You must understand that everything evolves in the computer world. We do not simply make new things up. The tools available at our disposal are the result of an evolutionary process that has gone on for 50+ years.

    That being said, .NET is most certainly not any of those things you presented. .NET is the new version of Win32, which we all know, as a subsystem to a pretty amazing kernel (nt/2k/xp), really drags the entire system down. You should be excited that Linux is getting in on the ground floor of a fresh, robust, and USEFUL framework so early in the game. Heck, how many Windows apps are written in .NET right now? How many will be in 5-10 years? Exactly. How many years did it take to wean people from Win16? I can tell you that I still have a couple of apps that haven't migrated, and that it took a LOT of other apps more than 3-4 years after Windows 95 was released to make the switch.

    The lesson? MS is going to win, because they have the advantage, at least on the desktop. Paradigm shifts (unix->dos->windows->linux) don't happen very often, and you need a lot of geurilla tactics to even have a fighting chance. The best thing I can see is to support .NET on both sides of the coin (hey, you'll soon even be able to throw OSX in there too), and in three or four years, when someone says: "I can't switch from Windows, because app X won't work, or is too slow through Wine," or blah, blah, blah, you'll be able to retort that all of their favorite apps will run natively on Linux or OSX, thus freeing them from any sort of platform dependence.

    As an added bonus, .NET is a great tool. C# really does allow some very neat and timesaving features for development. That's the number one reason more people don't develop for Linux/Unix. Some people are too young to remember WHY we left Unix on the big-iron all those years ago, but if we insist on repeating those mistakes, let's at least provide an evironment that can muster some developer support. Not everyone is writing a Word/Excel/Photoshop. Some people like to site down and bang out a few lines of code, and be confident that it'll work as intended, where intended. VB has gone a long way toward keeping the Mom & Pop development shops on Windows. If we can begin to get these folks to consider making cross-platform apps, then half the battle will be over. Now we just need to convince the users of those apps that there are advantages to running them on Linux. Better hurry before Longhorn comes out, too... That may set OSS back 10 years or more, but at least MS has given us an extra three years to innovate in the meantime!
  • Some silly points (Score:4, Insightful)

    by I_Love_Pocky! ( 751171 ) on Thursday July 15, 2004 @03:00PM (#9710025)
    The article mentioned that the C# makes things simple that would be complicated in C/C++ (the example was RegEX). This is kind of a screwy way of looking at things, and not much of a selling point for C# in my book. Something like RegEX is provided to C# through a library (or framework if you prefer), and isn't part of the actual language. If you want such a simple interface to a RegEX, it would be easy to get a similar thing for C or C++.

    Overall I thought the article was pretty devoid of any meaningful reason for why we should use mono. It doesn't sound better than Java (not worse either), and it isn't a replacement for C/C++.
  • by dekeji ( 784080 ) on Thursday July 15, 2004 @03:04PM (#9710062)
    Will they be concerned enough that Linux and OS X users are worthwhile supporting to make sure it is cross-platform?

    Unlike Java, Mono doesn't try to shove cross-platform development down people's throats. If developers want to use Mono to develop Windows-specific applications, that's cool. If developers want to use Mono to develope Linux-specific applications, that's cool, too. If developers want to develop cross-platform applications with Mono, that's cool, too, and Mono supports that, too.

    I suspect the biggest use of Mono will be the development of Linux desktop apps using Gnome/Gtk+. Many of those applications will be difficult to port over to Windows because they will rely on Linux-specific features. But that's no different from Gtk+ applications written in C or C++; Mono simply makes it easier to develop such applications by giving developers a choice of using C#.

    The second biggest use of Mono will likely be the deployment of applications and libraries developed for Windows on Linux machines. Those applications were not originally written with cross-platform portability in mind, but by supporting Microsoft's APIs well enough, those applications will either work out of the box, or port over easily.

    So, Mono gives the programmer the choice between writing cross-platform apps or taking advantage of platform-specific features. That's where the choice belongs, IMO.
  • by Anonymous Coward on Thursday July 15, 2004 @03:05PM (#9710070)
    I have a simple reply.

    Who is fircing you to use Microsoft's new .NET extensions? The old and still working will suite most projects anyway.

    That is just an example of a kid complaining that he does not like his new toy because he saw the neighbor kid with something he liked more. The toy can still be played with.
  • Re:The ONLY thing? (Score:3, Insightful)

    by turgid ( 580780 ) on Thursday July 15, 2004 @03:17PM (#9710191) Journal
    Also, Sun continues to strangle the life out of Java with its grip of death on all aspects of the language + vm. Sun is holding Java back.

    So people keep saying, but I don't really see much evidence. You must have heard of gcj [gnu.org] and GNU Classpath [gnu.org]? What about IBM Eclipse [eclipse.org] and SWT [sourceforge.net]?

    These all address various "issues" that people have with plain Sun Java and tools.

    I think Miguel's decision to go for a .NET clone had a lot to do with his personal admiration of Microsoft. Couple that with the fact that Microsoft is pushing .NET heavily as the new official way to develop for Windows, you get the Linux zealots and the Windows people together, hence the apparent explosion in popularity. I say apparent because the hype is bigger than the statistics.

  • by Anonymous Coward on Thursday July 15, 2004 @03:20PM (#9710221)
    > People who've only used C++,

    Actually Mono and .NET are mostly hyped and pushed either by people who used MFC before (which is a PITA to code with) or people who developed for Gnome (means they worked with C and NOT with C++).

    Mono and .NET aren't very much interesting for people who are working with Qt/C++, wxWidgets/C++, or Java as most of the advantages are there already.

    Personally I fear & feel that Mono will become Linux' biggest threat as soon as Microsoft might regard it as a true competitor (right now it's just helpful as it helps them to sell their .NET framework).

  • by David Ishee ( 6015 ) on Thursday July 15, 2004 @03:20PM (#9710225) Homepage
    There is nothing special in general about .NET that doesn't apply equally to Java. They are both VM languages that have good library support.
    The great power of Mono and .NET lies in the ONE line of code:

    bool matches = Regex.IsMatch( input, regex );

    .NET and Mono are actually a collection of libraries that form a framework which allows you, the programmer, to write the logic of your application. I can call one line of code to do input validation on a string which saves you possibly hours of time.

    The description of the power .NET here isn't .NET specific. Actually, any language with good library support will meet this criteria of "power".
    As you can clearly see, Mono brings almost limitless possibilities in breaking down the barrier between desktops: a commercial software provider would target Mono and it would "just work" on all platforms that Mono supported. How is this different from Java? In my opinion Java makes things harder than it needs to be. For starters, enforced exception handling can't auto-box/unbox primitive types and doesn't support arbitrary length parameter lists String.Format() style.
    Give me a break! Autoboxing and the String.Format() comment are very trivial things to complain about. Enforced exception handling is a little more complex and the debate will probably never end on which is better.

    I think the success of Java vs .NET will depend on how it is distributed and the "user experience" of installing and using .NET vs Java applications. Sun doesn't have the same level of control over the desktop experience that Microsoft has for desktop applications so that may be a deciding factor for most users.

    On the server, Java is already very popular and installation/launching headaches are tolerated more because admins are willing to put in a little more effort than most users.

    Other issues such as relative performance and the "look and feel" will also play a big role with users.

    In the general theoretical sense, there isn't much difference between Java and .NET. The success of each will depend on the implementation.

  • Re:The ONLY thing? (Score:3, Insightful)

    by turgid ( 580780 ) on Thursday July 15, 2004 @03:22PM (#9710235) Journal
    As for the ECMA thing, that's merely the bytecode interpreter. The standards do not cover the class libraries required to write Windows applications. Miguel is sadly mistaken if he thinks that he's going to be able to get enough of that done (without incurring Microsoft's legal wrath) to get general Windows .NET "binaries" to run on Mono.

    I suspect that what he'll end up with is a bytecode interpreter and a C# compiler that conform more or less to the standard, and not much more. The rest will be pretty Mono specific. What might be possible, though, is for the Windows people to use the Mono class library...

    How does this get people off of Windows and on to Linux/GNOME?

  • by farmerbuzz ( 460883 ) on Thursday July 15, 2004 @03:29PM (#9710325) Homepage Journal
    I've already been doing this sort of cross-platform programming for years with wxWidgets/wxPython. I'm not waiting on Mac support - I'm already using it (and improving it!). What amazes me is that the authors act like Mono is breaking new ground by having a portable programming language that can do GUIs but is easier than Java. Hello? Apparently no one ever told them about Python/wxPython?

    The advantage I see is allowing .NET developers to easily develop for linux. It may be a while (or forever) before many Windows development companies decide its valuable to go cross platform in order to support linux, but if they can immediately transfer .NET skills to linux development the barriers are definitely lowered.

    Call it a deal with the devil, but if people can use the same applications under linux that they would under windows thats one less reason not to switch.
  • by alext ( 29323 ) on Thursday July 15, 2004 @03:34PM (#9710367)
    You are operating under the assumption that the main use of Mono is going to be to allow people to write .NET software

    Strangely that assumption is quite widespread. I think I've tracked down the source [mono-project.com] though.

    Lucky that for you portability from Dotnet to Mono is an added bonus. Let's hope that other Mono users will have an equally chilled attitude!
  • by sporty ( 27564 ) on Thursday July 15, 2004 @03:36PM (#9710391) Homepage

    Unlike Java, Mono doesn't try to shove cross-platform development down people's throats.


    Yeah, that whole JNI for plugging into java, definitely cross platform. :P That whole C# compiled to byte code? Nah, no one is pushing cross platform.


    And as for porting over easy, don't forget, interpreters will inevitably have bugs which cause them to act differently.


    -s

  • by Slime-dogg ( 120473 ) on Thursday July 15, 2004 @04:16PM (#9710779) Journal

    Better hurry before Longhorn comes out, too... That may set OSS back 10 years or more, but at least MS has given us an extra three years to innovate in the meantime!

    Meh. MS has the plans for Longhorn written already, and they are busy coding / taking peices out. All the while, OSS innovates. A typical modern Linux setup will run just as fast, if not faster than an equivalent Windows XP setup. And development continues onward and upward. Now, with X.org being the *new* standard, development of that environment will take off (crosses fingers). We won't have to deal with the sluggish , non-innovating ouncil of XFree86.

    It's probable that equivalent alternative OSS workstations will be at the same level that Longhorn will be within a year and a half. When Longhorn comes out, it will be obsolete. Then again, the transition to from Win32 to Longhorn will be just as painful as a transition from Win32 to Linux/BSD w/ X.

    The only thing that I see holding Linux back is the hardware adoption / drivers. Companies aren't going to be too interested in developing Linux drivers if we have things like ndiswrapper around. I'm still pissed at Realtek, who said they would release a 2.6.* compatible wireless driver in April, but still haven't. At least Nvidia and ATI aren't delaying Linux adoption... I suppose that a little company called ID is helping in that respect.

  • by Glock27 ( 446276 ) on Thursday July 15, 2004 @04:31PM (#9710905)
    The last thing I need is for Linux to become a tech-slave to Microsoft's Win32NG department and its users to start acting like a bunch of *ssholes.

    Exactly.

    There are already several free/commercial JVMs on Linux. Sun, despite a lot of handwaving to the contrary, has been quite friendly to the free software community. C#/CLR is not much more than a slightly warmed over version of Java, without an unencumbered cross-platform GUI library. Java has two major contenders (Swing and SWT).

    Mono was a bad idea and only furthers Microsoft's market dominance.

  • by killjoe ( 766577 ) on Thursday July 15, 2004 @04:39PM (#9710978)
    "The only thing that Mono/.NET has going for it, as far as I can see, is that it is designed to be targetted from multiple languages."

    So is parrot. But what is the point anyway? Are you going to have a project where each member of the team is going to program in a different language? Are you going to have an open source project which accepts patches in 10 different languages?

    I never did understand why this was a desirable thing. It sounds like a nightmare to me.
  • by turgid ( 580780 ) on Thursday July 15, 2004 @04:41PM (#9710998) Journal
    Different projects may like to use different languages but to target the same VM.
  • by antoy ( 665494 ) <alexis@th[ ]ll.net ['enu' in gap]> on Thursday July 15, 2004 @05:35PM (#9711568)
    Then again, the transition to from Win32 to Longhorn will be just as painful as a transition from Win32 to Linux/BSD w/ X.
    How did you come up with that? Not only will existing programs work just fine, but legacy code can interop with .NET. It's quite easy, I've tried it.
    You could have a point if you are putting Mono into the picture. The new .NET APIs (WinFX, Avalon and the such), will take as much getting used to as a Mono/GTK# change. So where's the problem, why not switch to the Mono solution?

    For one, it's Visual Studio .NET. Despite some hideous bugs some of you will be quick to mention, it's a rather splendid development environment, and 2005 is even better. Mono has Monodevelop, which is fine for hacking around but lacks a UI designer/page designer, and all sorts of goodies VS.NET users are used to. So if you're hoping for a huge developer switch to Linux, consider it highly unlikely.

    Linux is being held back by more than lack of hardware drivers. It's held back by lack of commercial developers willing to explore the platform. Quality open-source office suites and desktop environments exist because companies exist to back them, for their own interests (or because the program is so good/popular it makes money from donations and support); smaller projects don't get the attention they need to prosper; They exist, but most of them they are terribly unrefined.

    That's where Mono can help: IF they so desire, developers can target both Linux and Windows, since GTK+/GTK# has been ported to Windows (i don't know how well this works, or how messy this is, but I'll give it a shot soon).

    (Dead tired, incoherence warning for the above)
  • by scrytch ( 9198 ) <chuck@myrealbox.com> on Thursday July 15, 2004 @08:21PM (#9712673)
    bool matches = Regex.IsMatch( input, regex );

    Yippie skippie. Show me the code for a RFC822 and MIME multipart parser or something actually beyond this hello world stuff. Regular expressions are library stuff, they have been trivial for more than 10 years. Show me some real work getting done.

    (no this isn't aimed at you, I just want to hang my reply off something)
  • by Anonymous Coward on Thursday July 15, 2004 @09:47PM (#9713108)
    The term 'scripting language' is FUD. Don't use it unless you're talking about sh or something. It makes the languages seem underpowered, when in fact you can do essentially everything (more, actually) in Perl and Python than you can in Java/C/C++/C#, and as the GP pointed out, have been able to do for the better part of a decade.

    You may like statically typed languages... in fact, so do I, I do much of my application coding in C... but to suggest that non-statically typed languages (note, not "scripting languages") are less powerful is patently absurd.

    Honestly, I think I know where this idea comes from. For a long time, due to limitations in hardware, virtually everything was written in C, a statically typed language. The idea that real programs must be written in C persists to this day. Even I, enlightened (heh) as I am, still feel uncomfortable writing serious apps in anything but C. It just feels wrong. It's like people who say, "Until you can write a kernel in X, X isn't a real language."

    Languages like Java were designed to feel like C but provide a lot of modern stuff, like memory management and object orientedness and the like. As a result, programmers with C-centrism (virtually everyone) are provided with a familiar environment that makes them feel like the lanugage is a real (C-like) language, not a toy language like BASIC. This attitude persists.

    Actually, though, if you allow yourself to think about this objectively, there is nothing about statically typed languages that makes them more real, useful, or productive than non-statically typed ones, except for personal programmer preference.

    You can make all sorts of arguments about how they help stop bugs before they start, but then I could make all sorts of arguments about how features in Perl prevent all sorts of typical C bugs (like taint checking, for example). And while I would be telling the truth, just as you tell the truth when you say static typing is useful, people still think of C as a "real" language.

    The point is, Perl, Java, Python, C#, and the like are all different in the features they implement. Their design choices make certain things easier within their particular frameworks; each has its strengths. So it all comes down to programmer preference, really. For example, I hate Java. I probably don't like C# either. Not because they're bad languages, but for psycological reasons: they remind me of C, but feel crippled. When I write Perl, I'm not reminded of C, and so I don't expect to be able to drop into inline assembly or instruct the compiler to use registers for these auto variables or whatever.

    But to each their own, that's my point. When you use the term 'scripting language', your either willfully spreading FUD, or lying to yourself about the state of things.
  • C# vs. Java - NOT (Score:2, Insightful)

    by gmenhorn ( 602062 ) on Thursday July 15, 2004 @10:04PM (#9713190)
    .NET is not about C# vs. Java. You can code in C++ and compile to .NET's IL (byte code) in many different languages. You can also write .NET applications in these languages as well:
    APL, AsmL, BASIC, Cw (C-omega), COBOL, Eiffel, F#, Forth, Fortran, Java (yes seriously), ML, Mercury, Mondrian, Nemerle, P#, Oberon, Pascal, Perl, Python, RPG, Ruby, Scheme, S#, VB.NET, etc... So please, quit the C# vs. Java or Perl is so much better arguments. Because, pick your language, and there is probably a compiler out there that can spit out IL.
  • by bay43270 ( 267213 ) on Thursday July 15, 2004 @10:19PM (#9713249) Homepage
    Are you going to have a project where each member of the team is going to program in a different language? Are you going to have an open source project which accepts patches in 10 different languages?

    Maybe you will, but not likely. What's more likely is VB programmers using a .net library and not having to worry about what language it was written in. The alternatives are to either write the library for every language (SVG rendering for VB, C, C++, Python, Javascript, etc), or to write your libraries in one language and try to maintain wrappers for each other language (GTK# ??).

    Personally I think the .net approach is a good one. This is why (IMO) JNI sucks. I shouldn't have to write C code to access extra keys on my keyboard. It just adds more complication to my Java program to have to maintain C code along with it. In .net, all languages have access to roughly the same features (although there are some language specific feature differences they aren't API based). If C# has access to the keyboard, then everything else in .net will too. So .net isn't encouraging you to use multiple languages... it's encouraging you to use the language of your choice.
  • by killjoe ( 766577 ) on Friday July 16, 2004 @12:09AM (#9713720)
    "Maybe you will, but not likely. What's more likely is VB programmers using a .net library and not having to worry about what language it was written in."

    You mean like using activeX controls in VB while not caring about what language they were written in. Or maybe you mean using DLLs from VB while not caring about which language they were written in.
  • by killjoe ( 766577 ) on Saturday July 17, 2004 @03:46AM (#9723907)
    You missed the point entirely.

    There was never any need for .NET. You could have already called COM objects written in one language from another language.

    There is still no need for .NET. It's just a ripoff of java. The only reason MS wrote it is because they wanted to spite SUN by building their own version of java and JVM.

    What a collasal waste of money and time.

"Spock, did you see the looks on their faces?" "Yes, Captain, a sort of vacant contentment."

Working...