Slashdot Mirror


C# In-Depth

Bergkamp10 from ComputerWorld writes "Microsoft's leader of C# development, writer of the Turbo Pascal system, and lead architect on the Delphi language, Anders Hejlsberg, reveals all there is to know on the history, inspiration, uses and future direction of one of computer programming's most widely used languages — C#. Hejlsberg also offers some insight into the upcoming version of C# (C#4) and the new language F#, as well as what lies ahead in the world of functional programming."

6 of 499 comments (clear)

  1. a bunch of questions by yanyan · · Score: 5, Insightful

    Could it be that C# is one of the most widely used simply because of the installed base of windoze machines all over the world and not because of any technical merit? Most current languages have compilers and interpreters that run on windoze; what makes people choose C# over the others? Just how much impact has C# had on computing sciences as a whole, anyway?

    1. Re:a bunch of questions by GeckoX · · Score: 4, Insightful

      ehh? You do realize that VB.Net is not VB6. When you choose to not use the Microsoft.VisualBasic namespace, which merely contains an abstraction layer to allow VB6 programmers to be more comfortable in .Net, it actually hardly merits the name VB.

      For the most part, the only differences between c# and vb.net are syntax. Begin...End, For...Next control structures rather than brackets is the biggest difference.

      I wrote c# at my last job for a couple of years. At my current shop, they're a vb shop and brought me in to bring things up to .Net. Since all the current devs were vb6 devs, they wanted the easiest path for them to migrate into .Net, thus I had to start working in VB.Net. At first, I dreaded it..but very quickly realized that it's all just .Net, and the VB.Net and C# languages are very comparable, both being just as easy to work in.

      Bottom line, you like curly braces? Use c#. Don't care? Then use whichever you like.

      --
      No Comment.
  2. C# is not the most widely used comp language by frith01 · · Score: 4, Insightful

    >>one of computer programming's most widely used languages.

    I highly doubt that a language that has only been around for a few years is the most "widely" used computer language. Cobol, fortran, or standard C , maybe.

  3. Re:amazing what doesnt get asked by Abcd1234 · · Score: 4, Insightful

    Well there is fragmentation produces as they introduce YET another language.

    So? That's a problem for Windows developers. Why should a Java programmer care? In the realms where Java is popular, C# has had basically no influence. So MS has, at worst, fragmented the Windows development ecosystem... big deal. :)

    You currently cannot say C# replaces C++ on Windows platform as using any DirectX components for example is nightmare through C#.

    ...

    More on the major downside of writing .NET applications is that you cannot guarantee that the stuff I work on my Vista workstation works on my co-workers XP workstation.

    But none of this has anything to do with fragmentation to begin with. You're getting off-point. And that's ignoring the fact that, once again, this is a problem for MS... the rest of the programming world doesn't care one whit how hard DirectX is to integrate with C#.

    Can it be a success when it cannot be used to produce major parts of their own operating system.

    Last I checked Java wasn't being used to write operating system components, yet no one claims it's a failure. Now, that's not to say C# and .NET are unbridled successes, but that's a pretty crappy metric for making the call.

  4. Re:oh goody. by tjwhaynes · · Score: 4, Insightful

    The implementation is about the same in both languages, but using it is much nicer and cleaner in C# than in Java.

    That really is a matter of opinion. In Java, it's pretty clear that you are requesting or modifying a property of the object. In C#, you are using assignment to represent that mechanism so you might be accessing a public member variable directly or calling a method to achieve that end. To me, the Java method is more explicit and therefore less prone to error.

    Cheers,
    Toby Haynes

    --
    Anything I post is strictly my own thoughts and doesn't necessarily have anything to do with the opinions of IBM.
  5. Re:oh goody. by maestroX · · Score: 4, Insightful
    I like neither way.

    Java: Properties are private variables/methods exposed through a public method. Seems unnatural and tedious when accessing a guarded variable, e.g.

    Line.GetWidth(); Line.SetWidth(10);

    Two different calls for accessing a single property.

    C#: Properties are private variables/methods exposed through a public variable. May be cause for surprise e.g. when

    Line.Width++

    increases width and executes statements outside the scope of width increase.

    For exposing a (guarded) private variable I prefer the C# way, but it's too easy to mix data with flow.

    I don't feel a property can be accessed as either a variable or a method, because it isn't and adds to confusion.