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."

82 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 2TecTom · · Score: 1

      Nice, much better FP than my last time. As for objects, what else is there at that level of the paradigm. If code is not part of one, it should be part of another, no? Strictly on the same level, of course? Of course, I Ain't Much Of A Programmer.

      --
      Words to men, as air to birds.
    2. 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.

    3. Re:Diversity by Chester+K · · Score: 3, Informative

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

      The .NET Framework excels at interoperability, and the key to that is their OOP system; so obviously that's what they're going to point out as the killer feature. In my opinion, you're wasting your time with .NET if you're not going to take advantage of the platform to its fullest; but there's nothing stopping you from putting your procedural code into a thin object wrapper; and Microsoft Research has put together a few reference implementations of some functional languages -- but those are "fringe" languages, so they don't get top billing.

      --

      NO CARRIER
    4. 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.

    5. Re:Diversity by saden1 · · Score: 1, Funny

      The whole world is an object and it belongs to me! Me and me alone.

      This code proves it!

      Saden1 s = new Saden1();
      World myWorld = World();
      s.setWorld(myWorld);

      --

      -----
      One is born into aristocracy, but mediocrity can only be achieved through hard work.
    6. Re:Diversity by bigsteve@dstc · · Score: 4, Informative

      That is a bit unfair. While the author only deals with languages shipped by Microsoft, a number of others have been ported to the .Net platform. See here for a list.

    7. 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

    8. Re:Diversity by deKernel · · Score: 1

      You are telling only half of the story here. All of your 'solutions' are correct depending on the type of data. If you are passing the data via the stack, yes, you are correct.
      Now, if you are passing large data sets, then, you are most likely passing by reference. Now, your solutions break down. Interop does not handle refernce passing at all. You then have to do all of the dirty work. I had to do just that because I was using a web service to provide a COM server to the world.

    9. Re:Diversity by smallpaul · · Score: 2, Interesting

      Which of these languages do you think is dynamically typed? VB has become more and more statically typed with every generation and Microsoft's answer to any problem with it (especially the problem of porting VB code to VB.NET) is "add type declarations".

    10. Re:Diversity by MrData · · Score: 1

      MicroSoft now gives you 4 flavors of crap to choose from instead of just one.

      'Nuff Said !

    11. Re:Diversity by lacrymology.com · · Score: 1

      Well, there's always F# which was not mentioned in this 'review'. This is the red-headed functional stepchild of the .NET family.

      -m

      --

      #
      # Modus Ponens
      #
    12. Re:Diversity by Kirruth · · Score: 1
      Sadly, it looks like F# was a research project: a proof-of-concept port of ML (OCaml) to .Net. Alas, functional programming is still waiting for its Larry Wall.

      --
      "Well, put a stake in my heart and drag me into sunlight."
    13. Re:Diversity by aled · · Score: 1

      Nop.

      --

      "I think this line is mostly filler"
    14. 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.
    15. Re:Diversity by arkanes · · Score: 1

      If you're passing large data sets, then you're probably passing a POINTER. Interop handles pointers just fine.

  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.

    1. Re:Why is this worth anybody's attention? by Randolpho · · Score: 2, Interesting

      I'm a slashdotter, and I find the article quite interesting. As a programmer, it helps to keep abreast of *all* options out there, politics/personal opinions aside. Yes, you're right, the article is there to expound the benefits of .NET, but is that a bad thing? No, it's a valid platform for the development and deployment of software, and that's news to slashdot developers.

      In fact, I'm somewhat disappointed at the severe *lack* of articles such as this one for the developers section. Developers section articles, indeed articles on programming and languages in general, are unfortunately rare on slashdot anymore.

      Personally, I'd like to see more exposure of newer languages, like D, on slashdot.

      --
      "Times have not become more violent. They have just become more televised."
      -Marilyn Manson
    2. Re:Why is this worth anybody's attention? by fm6 · · Score: 1

      But this doesn't expose new languages. All of these have been around for a while, even C#.

  3. This is like ... Gulags Compared! by ArmorFiend · · Score: 4, Funny
    I can just see some highschool newb coming across this article and choosing which language to learn based on it. Poor soul, so locked in for the rest of his life...

    Probably the guy that does that shouldn't use their follow up article in choosing a nice place to live:

    Compare and contrast Soviet Gulags!
    1. Western Siberia!
    2. Cuba!
    3. Wherever in China!
    4. Eastern Siberia!

    1. Re:This is like ... Gulags Compared! by borkus · · Score: 4, Funny
      That's easy-
      • Eastern Siberia if you enjoy winter sports.
      • Cuba if you enjoy summer sports.
      • China if you enjoy meeting new people.
      • Western Siberia to stay close to friends and family
      Isn't it great to have a choice?
    2. Re:This is like ... Gulags Compared! by smallpaul · · Score: 1

      Offtopic: was Cuba a Gulag? Why would the Soviet Union pay to fly dissidents to a tropical eco-paradise: even one run by a dictatorial maniac?

    3. Re:This is like ... Gulags Compared! by ArmorFiend · · Score: 2, Funny

      Well, I was more assuming that Cuba imprisoned its own dissidents within its own borders. But the great part about trolling is ... you don't have to worry with all that pesky "research".

    4. Re:This is like ... Gulags Compared! by MoP030 · · Score: 1

      I think he means the US enclave Guantanamo Bay, where all those evil turbans are being held under human-right-defying conditions.
      oops... oh well, flame on

      Wanna be a PIMP?

      --
      the most sexp i get is my paren-mode.
  4. "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.
  5. Four? by AJWM · · Score: 4, Funny

    I count two: an odd C++/Java-ish hybrid (spoken with three different accents) and something almost but not completely unlike BASIC.

    --
    -- Alastair
  6. Compared to what? by trouser · · Score: 3, Funny

    C# is really good compared to ahhh.....J# which is really good compared to being eaten by a crocodile which is really good compared to Micro$haft C++

    --
    Now wash your hands.
  7. Crap, that's the best marketspeak in a while by abulafia · · Score: 3, Interesting
    Christ, VB as a productivity language? J++ as a migration language? c# and a real development language may make some sense sometimes, if you're trapped. Sure, I guess VB works out, if you have to. There are languages that actually make string parsing sensible, but I'm not one to tell people what to use.

    But damn, they don't care at all about the most important languages they compete with, sh and perl. All the admin languages they've tried really quite blow. I fix problems every day with sh, and as far as I can tell, That Creepy Virus Vector is the response. That's not competition, that's pathetic. And I build applications in perl (and sometimes other languages) that pull people away from MS. I'm done ranting, back to coding for me (mostly perl, sometimes Java when I have to, C when it is useful, and various pgplsql/plsql/etc. DB languages when it makes sense.)

    --
    I forget what 8 was for.
    1. Re:Crap, that's the best marketspeak in a while by AJWM · · Score: 1

      All the admin languages they've tried really quite blow.

      That's what happens when you design the system around a GUI rather than a command line. It's a lot easier to put a GUI on top of a command line base than the other way around.

      On the other hand, Apple's scripting language for MacOS wasn't bad. Guess it's just a Microsoft thing.

      --
      -- Alastair
    2. Re:Crap, that's the best marketspeak in a while by Juanvaldes · · Score: 2, Informative
      On the other hand, Apple's scripting language for MacOS wasn't bad. Guess it's just a Microsoft thing.

      Hell, now you can control the GUI itself with applescript! *note* I do not use AS so I can not comment on how well it works, I'll keep my perl thanks ;-)
    3. Re:Crap, that's the best marketspeak in a while by Haeleth · · Score: 1

      Er, surely Windows *is* (historically) a GUI on top of a command line base?

      As for Applescript, I've only glanced at it, but what I saw looked hideously like a dialect of COBOL. (Yes, I'm prejudiced.)

    4. Re:Crap, that's the best marketspeak in a while by AJWM · · Score: 1

      What Windows was 8+ years ago is irrelevant; the NT series was always GUI-based and even the Win9x series pretty much so (quick, how do you edit the registry without a GUI?).

      Applescript may be verbose, but the point is that it gives you access to everything, as any decent systems scripting language should. The closest thing Windows has to an equivalent scripting language would be Dismal, er, Visual Basic.

      --
      -- Alastair
    5. Re:Crap, that's the best marketspeak in a while by holy+zarquon's+singi · · Score: 1

      I'm learning java at the moment (nightmare darling). Somebody pays me money to program in VBA (absolutely horrible, like fingernails down a blackboard), Sometimes I need to write shell scripts, but when I need to do something quickly, and easily, if it needs to be do something to my shell, I use backticks and perl. Perl is just the best. Terse, as elegant as you want, and not too many keypresses required (particularly for emacs users). Perl is the dog's bollocks.

      --
      "...we should just trust our president in every decision that he makes and we should just support that." B.Spears 2003
    6. Re:Crap, that's the best marketspeak in a while by abulafia · · Score: 1
      I'm with you. I can't stand Java. If I were a sadist, Java is the language I'd make my submissives code in. Nice and restrictive, with horrific little tricks like the Date object.

      OTOH, I really like Perl's permissive notion of objects. We've built a niftly little framework and our own database libs that self configure against a database and let us crank out ungodly amounts of functionality quickly.

      But of course, didn't you know that every time you use emacs, God kills a kitten?... Vim is the path to enlightenment.

      --
      I forget what 8 was for.
  8. Major .NET feature: by Futurepower(R) · · Score: 4, Funny

    To me the most significant feature of .NET is that the languages are more easily de-compiled.

    1. Re:Major .NET feature: by sw155kn1f3 · · Score: 1

      The whole new meaning of Microsoft Shared Source initiative ;)

      --
      - Arwen, I'm your father, Agent Smith.
      - Well, you're just Smith, but my father is Aerosmith!
  9. .Net is also free and (a little) portable by berntbert · · Score: 3, Informative

    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).

  10. MASM? by Viol8 · · Score: 1

    Why isn't there MASM for .NET?? Oh , hold on....

    Seriously though , it would be interesting if MS (or Sun for Java) released an assembler for the
    intermediate language used in these VMs.

    1. Re:MASM? by REBloomfield · · Score: 1

      There was a story on here a while back about an ASM interpreter for ASP.NET...

      http://developers.slashdot.org/article.pl?sid=03 /0 4/28/2021204&mode=thread&tid=109

    2. Re:MASM? by Viol8 · · Score: 1

      Somehow I get the feeling that an interpreter for assembler rather defeats the whole point of writing
      in assembler in the first place :)

    3. Re:MASM? by edwdig · · Score: 1

      There's a Java assembler out there, called Jazmin. I might be wrong on the spelling of it though. I worked with it a bit in my compilers class. We wrote a Java compiler that outputted code for Jazmin to assemble into .class files.

      Coding Java in assembly isn't very interesting. Calling functions is a bitch, and since it's just a simple stack machine, you aren't going to get any better performance than you would by using a compiler unless your compiler really blows.

    4. Re:MASM? by edwdig · · Score: 1

      Nope, was CS494 at Stevens Institute of Technology, spring 2002.

  11. why was this even posted? by Anonymous Coward · · Score: 1
    with the number of .NET articles posted on /., this one is totally useless. It's so superficial as to be worthless. The only people the article would be useful for is some idiot IT manager with no clue.

    On another side, anyone happen to know if .NET 1.1 supports CPU affinity, ie, set a process to a specific CPU? I've been searching and googling for answers and haven't found any. SQL 64 apparently has the option, but that is SQL Server. I'm hoping someone knowledgable knows the answer to this, since all indications tell me .NET 1.1 doesn't offer that ability. Then again, AFAIK it's probably a windows API limitation. In this particular area, Java and .NET need more work.

    1. Re:why was this even posted? by Gaijin42 · · Score: 1

      hrm, not absolutely sure, but look at cpu gardening in asp.net (as opposed to cpu farming). That may have some features that do what you want.

    2. Re:why was this even posted? by Gaijin42 · · Score: 1

      Another thing that you would have some issues with for what you are looking for, is that the CLR is essentially one process spawning threads to handle each request. If you set the CLR to have affinity, all web requests would be running on the same cpu.

      There might be a way (theoretically, not that it is implemented) to have threads for a certain app go to a certain CPU, but what if that CPU is already loaded up etc. Also, handling multiple requests could be a bitch if that CPU is tied up by a bad thread.

  12. Re:MASM? ILASM.... by thing12 · · Score: 2, Informative
    Seriously though , it would be interesting if MS (or Sun for Java) released an assembler for the intermediate language used in these VMs.

    ILAsm comes with the .net framework along with csc (C#), vbc (VB.Net), jsc (J#). That's what you're asking for, right?

    C:\WINNT\Microsoft.NET\Framework\v1.1.4322>ilasm

    Microsoft (R) .NET Framework IL Assembler. Version 1.1.4322.573
    Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.

    Usage: ilasm [Options] <sourcefile> [Options]

    blah blah... usage options

  13. Re:Great by zero_offset · · Score: 1

    You can download the .NET framework for free. This includes a command-line compiler. Sure it isn't the Visual Studio IDE, but it does work. (And I've written quite a few useful little utilities that way.)

    --

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

  14. Re:MASM? ILASM.... by Viol8 · · Score: 1

    Ah ok , didn't know about that. So why don't they ever advertise it?

  15. Re:MASM? ILASM.... by kzeddy · · Score: 1

    they did indirectly through some of the msdn magazine articles as part of tutorials on the emit api and the overview of the VS.NET 2003
    too lazy to find them for you. checkout msdn

  16. .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
    1. Re:.NET Borg Monkeys by drxenos · · Score: 1

      .NET borg monkey? Ha ha ha! Can I use that?

      --


      Anonymous Cowards suck.
    2. Re:.NET Borg Monkeys by tedgyz · · Score: 1

      Feel free. It is not protected by any DRM. :-|

      --
      "No matter where you go, there you are." -- Buckaroo Banzai
  17. .NET languages by Latent+Heat · · Score: 5, Interesting
    Let us assume for the moment that the requirement is to program for Windows -- there are pros and cons that we don't need to get into because they have been hashed over, so lets move on here.

    Visual Basic is Microsoft's flagship project for Windows application software development while Visual C++ has been a poor stepchild. Windows has two major features that are hard to do cleanly without some kind of support hard wired into the computer language. One is the one-size fits all WndProc() interface to the Windows API with its zillion messages. The other is the different-shoe-for-every-foot of the zillions of interfaces that make up COM along with the support for QueryInterface to interrogate objects for supported interfaces at run time.

    VB has message dispatch and COM support built in as language extensions to Basic. C++ is not supposed to need language extensions because of macros, classes and templates, and Microsoft uses a mishmosh of macros, classes, and templates to support message dispatch (the infamous message map macros) and COM with QueryInterface(). We can have flame wars about languages all we want, but I think that Windows support in VB is pretty transparent because they adapted the language while the Windows support in VC++ is pretty clunky because they have stuck to C++ without extensions, and there may be a cleaner way to use C++ to support message dispatch and QueryInterface(), but Microsoft has not figured it out but come up with a hodge podge (actually several hodge podges: MFC, ATL, and perhaps something else).

    Also, VB is truly visual with the Form Designer while I could never figure out how VC++ is visual -- you need to create Windows forms as dialog resources that you have to wizard your way into code somehow. In the Microsoft world, VB is the solution they offer for the cook who wants to develop a recipe program, for the race car team that wants to develop and engine analyser program, for the accountant who wants to develop a financial program. VC++ is the solution they offer for the hard-core programmer who wants to squeeze out efficiency that you can never get in VB, but is willing and able to put in the extra time required for a program that perhaps will have a large shrink-wrap market. VC++ is not meant for the rapid development of the application-specific one-of program.

    While Visual Basic is Microsoft's favored child for application software development, its syntax is not modern (i.e. C-like: I am a Pascal person myself, but I admit that C-style syntax has won out), its object model is restricted (lacks class inheritance), and it is slow. A VB program is actually pretty responsive to loading (a dig at Java) and to menu clicks, but it can bog down big time if you have heavy numeric stuff.

    To understand where .NET came from, you need to look at Visual J++, a product they developed by hiring Anders "Delphi" Hejlsberg away from Borland. Visual J++ had a C-style syntax (it was Java), but in terms of drag-and-drop form layout, WndProc() handling, and COM/QueryInterface() support, it was everything Visual Basic was and Visual C++ wasn't. It wasn't up to VC++ execution speed, but it was much faster than VB, and it was one of the fasted-executing Java's out there.

    J++ was also a marketing failure and the focus of the infamous SUN/Microsoft Java lawsuit. It wasn't proper Java, so it didn't get any Java people to cross over, and it wasn't of interest to the great unwashed masses of VB programmers either. The lawsuit and associated bad publicity about J++ didn't help either.

    Microsoft is not one to give up, and .NET is really J++ Version 2.0. Part of .NET and C# is Microsoft taking their football and going home over the Java lawsuit, part is trying a second time with J++. If you have tried Visual C# .NET, you really need to install a copy of Visual J++ 6.0, play with it, and experience the powerful sense of deja vu.

    Lets face it, the .NET langu

  18. Donald Knuth by Latent+Heat · · Score: 1

    Knuth seemed to believe in writing in an interpreted "machine language" (which also had an assembler). He seemed to think his algorithms were more clear if they were expressed in atomistic operations.

  19. quick summary by Anonymous Coward · · Score: 4, Funny

    C++ - awful language, but at least it has high performance .. no wait this is the .NET version!

    J# - like Java, only different!

    VB.NET - Aw, isn't it cute! It's Microsoft My First Language! With real working arrays and everything!

    C# - Like Java, only different!

    My recommendation? Use C#, it's at least standardized and when you use it on Mono it will be the same. Of course the Mono runtime will have to be removed for the inevitable patent lawsuit, but the C# compiler will still be there for you!

    Thanks microsoft, for your rich palette of non-standard languages!

    1. 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.

  20. 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
  21. It depends on the meaning of "ported"... by alispguru · · Score: 2, Informative

    If by "ported" you mean "a thin layer over .NET semantics", yeah, a lot of languages have that.

    If by "ported" you mean "language X's objects are completely visible to .NET, and efficiently so", then the numbers will drop off quite a bit.

    See this thread from comp.lang.lisp on why Franz Inc (the longest-surviving Common Lisp vendor) looked into porting their stuff to .NET, and declined.

    --

    To a Lisp hacker, XML is S-expressions in drag.
  22. MS thinks the same by Nicolay77 · · Score: 1

    I guess that a not-unimportant feature of .NET is that they can decompile and assimilate competitors software if any of it turns useful.

    And the number of commercial software made by microsoft with .NET will be the same made with MFC. (hint: none at all)

    --
    We are Turing O-Machines. The Oracle is out there.
  23. From MS for MS by lethalwp · · Score: 1

    i've read some parts of the article written by a Microsoft employee hosted on the Microsoft website.

    My point of view?
    This is MS trying to "sell" their products again

    "look it can do this, it can do that"
    "fast" ?

    i don't know if we can trust their objectivity.
    At least, i don't.

  24. Compare them to REAL languages by gooru · · Score: 1

    Now, let's do the comparison to what I think of as real programming languages such as ANSI C, C++, Java, and Perl and see how much M$'s languages SUCK.

    1. Re:Compare them to REAL languages by teknologikl · · Score: 2, Informative

      OK, troll, let's. So why not begin by explaining how ANSI C, C++, etc. are "real" languages, and how VB.NET, C#, are not.

      <SideNote>Grow up -- M$ is like so 90's... dude.</SideNote>

    2. Re:Compare them to REAL languages by jan.kristiansen · · Score: 1

      Java? Perl? Out of curiosity, where did you get your "real" programming experience? how about you post some of your real code here. so that we get a chance to laugh. or cry.

    3. Re:Compare them to REAL languages by Haeleth · · Score: 1

      C# is not a real language because C# does not exist. It is a myth put about by people such as yourself who wish to tempt programmers from the True Path of GNU. There is no such language as VB.NET, either. If you claim to use them you are obviously lying.

      Next you'll be trying to tell us that Idaho exists, which is another dangerous lie.

  25. Does Microsoft know something you don't? by Futurepower(R) · · Score: 1


    Exactly. ALL you need to know about .NET: Microsoft doesn't use it for their products. Does Microsoft know something you don't?

    1. Re:Does Microsoft know something you don't? by sw155kn1f3 · · Score: 1

      They don't use Visual C++ either
      Neither Sun uses Java for internal projects.
      I don't know why, actually.

      --
      - Arwen, I'm your father, Agent Smith.
      - Well, you're just Smith, but my father is Aerosmith!
    2. Re:Does Microsoft know something you don't? by Juanvaldes · · Score: 1

      as I recall it was because the JVM for sloaris blew and they knew it. I would imagine that the OS/Java group has been told to fix this problem so they can use java for internal projects.

  26. 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"
  27. Funny by batkins · · Score: 1

    Haha. Microsoft Programming languages - get it?

    Boy, I tell you, the Slashdot editors have quite a sense of humor.

  28. 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
    1. Re:It's FCL that's the problem. by Mostly+a+lurker · · Score: 1
      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.

      I suspect MS is relying on this. While the appearance of work to make .NET cross platform is important to MS's marketing, a real working Linux .NET implementation would be MS's worst nightmare.

    2. Re:It's FCL that's the problem. by Nurgled · · Score: 1

      The Windows.Forms bit will be tricky to handle even with the help of Wine, since there are a lot of assumptions in there very specific to Windows.

      I suspect what is more likely is that developers will make the guts of their software in some kind of library using the more general parts of the class library and language features and then bolt on a different UI for different systems. This has the advantage that the UI will better follow the "local" UI style, plus it means that the functionality of the program is a library which can be called from other apps.

      It shouldn't be too hard to port, for example, the socket-related parts of the class library, as the socket libraries on Windows are essentially identical to elsewhere in terms of capabilities and "paradigm".

  29. Spot on. by killermal · · Score: 1
    There are no usual "pro and con" lists...

    Cons? In a Microsoft product? NEVER!

  30. New Assembley language by Loonacy · · Score: 1, Troll

    I want to see a more organized asm language. But rather than call it asm.net or something silly like that, let's just break the words down.
    It's ORGanized ASM, so we can call it ORGASM.
    I bet we get a LOT of college students who want to try it out. ;)

    1. Re:New Assembley language by daveoj · · Score: 1

      Reminds me of an assembler on the Commodore Amiga called 'Argasm' release by (I think) Argonaut Software. Not as "standardized" as HiSoft's Devpac, but blindingly fast :-)

  31. Mixed DLL Loading Problem by nondeterminism · · Score: 1
    Thought I'd post this because quite a few people I've talked to recently aren't aware of the "Mixed DLL Loading Problem" that affects anyone mixing native and .NET code in the same DLL (ie. linking objects compiled with and without -clr). This MSDN article describes a problem where:
    "...due to the way the loader works in version 1.0 and 1.1 of the common language runtime, deadlock situations are always possible with mixed DLLs..."
    The problem exists in versions 1.0 and 1.1 of the .NET runtime (1.1 being the current production release).
  32. wow major insight! by dBLiSS · · Score: 1

    Summary
    Programming languages may be used to build a variety of solutions.


    That's amazing! Glad he told us!

    --

    The Good Life
  33. Re:MASM? ILASM.... by arkanes · · Score: 1

    When .NET was in Beta test, before Visual Studio 2002 was realeased, this was how everyone used it - you used the command line tools & your favorite make utility. Theres tons of tutorials and FAQs and what have you on MSDN and all the .NET sites. It's not in the marketing literature because they're pushing VS .NET and it's RAD features - CIOs don't care about command line assemblers.

  34. Re:Standing Up for VB.Net by Glock27 · · Score: 1
    The less time invested in a project, the better.

    You forgot the most important part:

    ..provided it works satisfactorily.

    --
    Galileo: "The Earth revolves around the Sun!"
    Score: -1 100% Flamebait
  35. Re:Any car you want, so long as it's a shade of bl by Latent+Heat · · Score: 1
    Is J# a joke? J# is a joke inasmuch as it is not really Java because for something to be really Java you have to have the whole class library. But as far as being a successful "skin" for Java syntax on the CLR, I can't see what is wrong with it. For people with Java syntax under their fingers and who find the minor changes to it in C# to be annoyances, I don't see what the deficiencies are in J# -- what does C# allow you to do that you can't in J#? What about J# would be foreign to a Java programmer?

    As for VB# vs VB, I have only done "toy" programs in each and find each equally bizarre, only VB# seems to me less bizarre because it lacks the half-an-OO language restrictions of straight VB.

    Perhaps a good analogy is Borland's Delphi and C++ Builder. They both share the same class library and GUI framework underneath, which is written in Object Pascal. The automatically-generated C++ code is a kind of line-by-line translation of Object Pascal. Not only that, C++ Builder can mix source code modules written in C++ or in Object Pascal.

  36. J#? by Anonymous Coward · · Score: 1, Informative

    There's already a skin for Java on the CLR. It's called C#. The biggest headache moving from Java to C# or vice versa is the library, although for all intents and purposes they overlap almost everywhere. Take my opinion with a grain of salt, but I'm the network engineer at my company and I can code better C# based on my Java experience than most of our developers who have taken "classes" in C#.

    I think I'll AC on this one...

  37. Inspired... by Anonymous+Brave+Guy · · Score: 1
    u want genue new ideas perfectly glued together ? Perl6 is coming go read Lary Wall - Apocalypses on perl.com. Then u feel your head will blow up...ok go read Damian Conway - Exgesises...

    Thanks for the tip. I had a read of both articles, and noticed this inspired piece of refinement in the conclusion of Damian's column:

    What we used to write as:

    sub feed {
    my ($who, $how_much, @what) = @_;
    ...
    }


    we now write as:

    sub feed ($who, $how_much, *@what) {
    ...
    }

    I'm sure we'll all rest easier knowing that radical new techniques such as this are still being developed. Perhaps in time, they will even become popular in more mainstream languages like C or Java.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.