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

16 of 499 comments (clear)

  1. Ads... by Dannybolabo · · Score: 3, Informative

    Why must they make me trawl through 8 pages of ads?

    --
    Give a man a fire and he's warm for a day. Light a man on fire and he's warm for the rest of his life. - Terry Pratchett
    1. Re:Ads... by Anon+E.+Muss · · Score: 4, Informative

      Just click the "Print this story" button and you can read the whole thing on one page, without ads. This trick works on many sites.

      --
      The key sequence to access my Slashdot bookmark in Firefox is Alt-B-S. I don't believe this is a coincidence.
  2. The Printer Friendly version ... by neonprimetime · · Score: 5, Informative

    I beg you to use this link instead of flipping thru all 8 pages

  3. Re:oh goody. by ByOhTek · · Score: 3, Informative

    It's closer to Java than C++. Much closer. Would you call Java a 'slightly altered and nonstandard and proprietary' version of C++?

    --
    Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
  4. Re:Foctothorpe FTW by netpixie · · Score: 5, Informative

    That'll be because music uses sharps (i.e. unicode symbol 266F) rather than octothorpes (unicode 0023)

    E followed by unicode 266F is indeed E sharp
    E followed by unicode 0023 is E-octothorpe.

  5. Re:a bunch of questions by nschubach · · Score: 5, Informative
    --
    Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
  6. Re:a bunch of questions by Nursie · · Score: 5, Informative

    8th most widely used.

    After Java, C, C++, Visual Basic, Python, Perl and PHP. It just beats out javascript, below that you get into the obscure languages.

  7. C# Usage by O('_')O_Bush · · Score: 5, Informative

    According to this: http://www.langpop.com/ , C# is only the 9th most popular language, only competing with scripting languages.

    It comes nowhere close to the more popular programming languages in terms of usage.

    --
    while(1) attack(People.Sandy);
  8. Re:One of the most widely used languages? by jlechem · · Score: 4, Informative

    I can feel my Karma burning here but in my office we run into this issue with a lot of MS products. SQL Server 2000 ........ Upgrading is not an option since the DoD just approved SQL Server 2005 for classified use. Apparently 2008 is the bees knees but come on 8 years to get your shit straight? And we've also run into massive problems getting asp.net applications to scale. We've found MS best practices while certainly easy are not very efficient behind the scenes and cause massive slowdown when used on a large scale. And after using their ajax toolkit I wouldn't touch that thing with a ten foot pole.

    Now I might sounds like I'm bashing .net a bit. But .net products do have their time and place. I code in C# almost everyday. But for anything Enterprise I would think twice about it.

    --
    Hold up, wait a minute, let me put some pimpin in it
  9. Re:oh goody. by i+kan+reed · · Score: 4, Informative

    Your reply indicates you have new clue what C# is. C# is not a direct descendant in design from c++. C# is a child language of Java more than anything. You could probably convert 90% of C# code directly to java with a simple find/replace regex for keywords.

    C# is also not non-standard. The C# language has a published standard, which, while not open source, is not the same as non-standard. A number of other implementations exist for both the virtual machine level(e.g. mono, boo) and the compiler/ide level(e.g. sharpdevelop)
    C# more tolerable than java in terms of ease of design and naturalness of the language, and good for a similar scope of projects.

    I like the ability to release windows binaries without having a headache about version compatibility, the irrationality of the underlying windows API, or memory leaks in trivial portions of code.

    C# is not the best language for all sorts of problems, but when it comes to banging out a GUI .exe for windows users to use quickly, I don't think there are better choices.

  10. Re:oh goody. by morgan_greywolf · · Score: 3, Informative
  11. Re:oh goody. by JasterBobaMereel · · Score: 3, Informative

    "C# is not the best language for all sorts of problems, but when it comes to banging out a GUI .exe for windows users to use quickly, I don't think there are better choices."

    Delphi - Simpler, Faster, less overhead, By the same author!

    --
    Puteulanus fenestra mortis
  12. Re:oh goody. by bigstrat2003 · · Score: 3, Informative

    Simple, encapsulation of private variable. Java:

    class foo {
      private int dontTouch;
     
      public void setDontTouch(int newVal) {
    //Determine if we want to allow newVal
        dontTouch = newVal;
      }
     
      public int getDontTouch() { return dontTouch; }
    }
     
    class bar {
     
      public void someMethod() {
        foo ourFoo = new foo();
        ourFoo.setDontTouch(5);
        ourFoo.getDontTouch();
      }
     
    }

    C#:

    class foo {
      private int _dontTouch;
      public int dontTouch {
        get {
          return _dontTouch;
        }
        set {
    //Decide if we want to allow the value
          _dontTouch = value;
        }
      }
    }
     
    class bar {
      public void someMethod() {
        foo ourFoo = new foo();
        ourFoo.dontTouch = 5;
        int asdf = ourFoo.dontTouch;
      }
    }

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

    --
    "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
  13. Re:Foctothorpe FTW by IIRCAFAIKIANAL · · Score: 4, Informative

    C# is indeed C followed by a musical sharp. But everyone uses the octothorpe for convenience.

    --
    Robots are everywhere, and they eat old people's medicine for fuel.
  14. That's what *# does, dumb down languages by SuperKendall · · Score: 3, Informative

    Incidentally, this has long been a burning question for me: why is a language like Ocaml ignored to such an extent within the mainstream open-source community? It already has a small but vibrant community, excellent coverage in terms of libraries, performance comparable to C++, and the safety and cleanness that comes with functional programming. I even see Linux people excited with F#, seemingly oblivious to the fact that we *already* have a language better than F# that runs natively under Linux!

    (Note: I consider Ocaml to be superior to F# because in the process of transforming Ocaml into F#, Microsoft removed two of the most interesting and powerful features of Ocaml: functors and polymorphic variants)

    I can't exactly answer why other languages don't get more play - but I can lament that the .Net platform has been responsible for draining some of the life out of every language they touch. I still remember a very excited Eiffel proponent being very excited about Eiffel# when it first came out - not realizing it was a gateway for Eiffel users to flow to pure C# programming.

    Perhaps F# is a true move by Microsoft to switch everyone to functional programming, but it could just as easily be a trick to get people using the .Net platform and then through convenience get them to move naturally to C# from there...

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  15. Re:Foctothorpe FTW by cjh79 · · Score: 3, Informative

    Actually, E# is pronounced "eeh sharp", and is a distinct note (and in many cases pitch) from F.

    For example, in an F# major scale, E# is the leading tone and should sound slightly higher than F natural (which would be the lowered tonic) would, due to the tendency to want to resolve to the F#. Of course if you are playing on an even tempered instrument such as a piano, the pitch will always be identical to that of F natural, but pianos are always out of tune for this reason.

    I fully expect to be modded down for this embarrassing display of band geekery.