Slashdot Mirror


Four Microsoft Programming Languages Compared

prostoalex writes "Prashant Sridharan, senior product manager for Microsoft's Visual Studio product, compares four Microsoft languages for .NET development. C++ (.NET version), C#, J# and VB.NET are explored with features of each language outlined. There are no usual "pro and con" lists, so the ever-popular "default public access" made into the "features of VB."

12 of 112 comments (clear)

  1. Diversity by rmull · · Score: 4, Insightful

    A "rich palette of languages"? Let's see, three statically typed object-oriented languages and one dynamically typed object-oriented half language. I seem to remember there being MORE to programming than objects.

    But that's just me.

    --
    See you, space cowboy...
    1. Re:Diversity by Anonymous Coward · · Score: 4, Insightful

      I seem to remember there being MORE to programming than objects.

      Sure there is...in academia.

      In the corporate world, people use languages with a track record of being able to meet the balance between performance and the ability to meet deadlines. Enter the M$ product line.

    2. Re:Diversity by farnsworth · · Score: 4, Insightful
      "Informative"? oh, please. All .net is is an i18n'ed compiler with an extensive class library. Don't get me wrong, I used it for some time writing a tcp server app, and it's pretty cool and all, but it doesn't matter what language you use, it takes serious training to use the platform to any degree of real usefulness outside of the simplest, example-style apps.

      The .NET Framework excels at interoperability

      ... with itself only*. Have you ever tried to get nmake and make to coexist? It's a nightmare. Generate .net wrappers to export standard c++ code to a c# app? 'Easy' doesn't come to mind.

      My gut feeling is that .net should be applauded for what it is: a comprehesnive (finally!) win32 class library with compilers that work "pretty much the same" for each supported language. This was, no doubt, no trivial accomplishment, but "interoperability" is a far, far cry from what .net really provides.

      * - True enough, there is good support for wsdl, and web services in general, but this should be not be rocket science for any platform.

      --

      There aint no pancake so thin it doesn't have two sides.

    3. Re:Diversity by zero_offset · · Score: 4, Insightful
      You have an interesting definition of interoperability. The correct way to export standard C++ code to a C# app would be to expose the C++ code through an existing mechanism -- not munge together .NET-specific wrappers of some kind. Hell, make them a DLL and Visual Studio will do all the hard work for you. Expose them through CORBA and buy one of the off-the-shelf .NET CORBA interop packages. Expose them through COM and Visual Studio will do most of the hard work for you on both ends of the project.

      I'm starting to notice the only non-trolls who complain about .NET being hard to use are the die-hard C++ guys who refuse to simply use the tools that are being given to them. I am reminded of the situation about 15 years ago when I used to scoff that nobody could do any serious programming without resorting to assembly, but these days most of the C++ guys I work with don't know the first thing about assembly...

      --

      Slashdot quality declines as the number of hot grits posts decreases. - Provolt's Law, Apr-09-2005

    4. Re:Diversity by Anonymous+Brave+Guy · · Score: 3, Insightful
      Sure there is [more to programming than objects]...in academia.

      But academics and R&D departments are where the new ideas come from. We already have several OO languages, each of which changes everything and yet somehow stays the same. None of these is really a radical departure from status quo, none of them is going to make a dramatic improvement to productivity.

      What we need today are genuine new ideas finding their way into the industry, so that the ones that work in practice can establish themselves and the ones that only work in theory can be set aside. We don't need C#JavaInteropVB++.NET.

      In the corporate world, people use languages with a track record of being able to meet the balance between performance and the ability to meet deadlines.

      VB.NET has no track record. It's nothing like old VB, as any VB6 developer suffering the pain of moving can tell you.

      C# has no track record, except for its uncanny resemblance to Java.

      C++ with managed extensions has no track record, aside from the C++ part.

      Visual J#? After the "track record" of Visual J++, I'd be amazed if anyone serious goes near it.

      If you want to talk about track records in a commercial setting, let's talk about C, C++, Perl, Java and VB6. The new Microsoft languages and the .NET architecture beneath them aren't even on the scale.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  2. Why is this worth anybody's attention? by fm6 · · Score: 5, Insightful
    This "comparison" is just your basic dog and pony show. Its purpose isn't to help you compare languages. They just want to fill your head with the "there's a .net language for everybody" party line.

    Which is pretty normal for any technology company. So Microsoft bashing is, for once, inappropriate. What's stupid is that anybody would think that Slashdotters would be interested in it. Even if we were all rabid .net fans, this kind of thing would have no interest for us.

  3. "languages"? by SHEENmaster · · Score: 5, Insightful

    Non-portable C++,Psuedo Java with all the crap of and the portabiltiy of neither(C#), Wannabe Java(J#), and Beginner's Anal Soviet Interogation Code (VB.NET).

    Thank goodness I'm in Linux with gcc, gcj, and Java. All of which are free, and all of which are portable. I don't have to pay Microsoft, I can keep my code compatible, and I can compile to hundreds of platforms. When was the last time Visual anything supported compiling to the TI-89, Mac OS X, and Solaris platforms from a single codebase on a single computer?

    --
    You can't judge a book by the way it wears its hair.
  4. .NET Borg Monkeys by tedgyz · · Score: 5, Insightful

    I had to sit through 3 days of meetings listening to a .NET borg monkey feed his PHB the .NET mantra. Every problem we discussed could be solved by .NET.

    It got really bad when we were debating whether to go with a Web interface or a traditional windows interface. Monkey-boy says, "No problem. The windows forms can be cut and pasted to ASP forms. It will _only_ take us 3 months to convert the GUI." ONLY 3 months! I told my boss later that I could write the GUI from SCRATCH in JSP in 3 months! My blood pressure is rising just typing this. It took all my energy to stop myself from strangling the guy.

    This isn't an article. It's a marketing page.

    --
    "No matter where you go, there you are." -- Buckaroo Banzai
  5. J# by beggarstune · · Score: 2, Insightful

    Class library support. Independently developed class libraries designed to provide the functionality of most Java Development Kit (JDK) level 1.1.4 class libraries and many of the classes in the JDK 1.2 java.util package specified in College Board's Advanced Placement curriculum for Computer Science.

    JDK 1.1.4 is at least 5 years old. How do they expect anybody to port their Java app to Microsoft J# if their Java is 3 versions behind? A lot has happened to Java inbetween their supposrted version and the current release from Sun.

    --
    (S+C) x (B+F)/T = V
  6. Re:quick summary by Anonymous Coward · · Score: 1, Insightful

    WTF is everyones problem with VB.Net. It's fantastically easy to use and it offers the same access to the framework and API's that C# and all of the other >Net Languages do. Do you feel threatened that it is easy to read and understand and that formerly arcane functions that could only be harnessed with C++ are easily available to lowly VB developers? You people are pathetic. Use the tools that work. C# works. C++.Net works. VB.Net works, and works quickly.

  7. How many do you see? by aled · · Score: 3, Insightful

    Funny, I can see just one semantic, in four syntaxis flavors.
    Something must be wrong with my eyes.

    --

    "I think this line is mostly filler"
  8. It's FCL that's the problem. by Kunta+Kinte · · Score: 2, Insightful
    The .Net framework and development tools are also free, and can be downloaded. And efforts are being made for making .Net portable. Examples include Microsoft's own Rotor (Windows, FreeBSD and Mac OSX), Mono (Linux) and DotGNU (Linux).

    Language is nothing. The dependabilty and completeness of the libraries is really what's important.

    These projects may one day produces a sturdy C# compiler or CIL interpreter. But how complete will their libraries be?

    The Microsoft FCL library is huge. Before we can say that linux supports .NET we're going to have to have a complete and dependable FCL implementation.

    That FCL implemenation will also have to behave very closely to the Microsoft's library for compatibility. I don't think Mono, or DotGNU is going to be able to pull that off and I suspect MS realizes this as well.

    My 2cents.

    --
    Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW