Troy Taft's Blog

For Software Development Practitioners


              

Recent posts

Recent comments

Categories






    © Copyright 2009 Troy Taft. All Rights Reserved.

    Why I Like Microsoft’s New Ideas for C# 4.0

    C# may very well turn into the most popular general purpose language after all.  It isn’t a big surprise to me because years of very hard work have gone into what we have today and it is clear that the hard work continues.  I have been traditionally very hard on C#, mostly because if it’s lack of dynamic typing and meta-programming support and the difficulties that it causes agile developers.  It is a language that has attempted to stay “Explicit Typing Only” at my expense, it seemed.  It seemed to me that JavaScript, with all if its warts, was running circles around C# and laughing.  JavaScript already had closures, lambda functions, and dynamic typing many years ago.

    It has long been my opinion that a good general purpose language needs to give the programmer the choice.  If the programmer wants to use only explicit typing, then they should have that choice.  If the programmer wants to use dynamic typing only, the programmer should also have that choice.  If the programmer wants to find a good mix of the two, that sounds great too.  C# seems to be the one that will reach this great place if things continue as they appear to be.

    I hope to talk a little bit more about what I think is so great about what’s going on with C# in the days to come and how it can help a real software development practitioner.

    Currently rated 2.0 by 1 people

    • Currently 2/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5

    Posted by troytaft on Tuesday, November 04, 2008 12:40 AM
    Permalink | Comments (4) | Post RSSRSS comment feed

    Related posts

    Comments

    Greg M us

    Tuesday, November 04, 2008 3:37 AM

    Gravatar

    Now go look up what those words you used (dynamic, explicit) really mean.

    (as to your main point, I think you forget that code is for reading, not writing. That's why a general purpose language quite often shouldn't give the programmer all the choices they want.)

    dennis us

    Tuesday, November 04, 2008 3:00 PM

    Gravatar

    I profoundly disagree. It seems more and more C# is starting to suffer from feature bloat. There are lots of good dynamic programming languages, so if that is what you need, use one. I think C# is becoming more and more complex and harder and harder to read and understand, especially for new developers.

    I have a simple rule for programming... "use the whole language". Developers should not have to pick and choose the features they want to use. They must know how to use all of them, because eventually all the language features will creep in.

    At first blush, I think the C# 4 extensions are a step in the wrong direction.

    Roy us

    Tuesday, November 04, 2008 4:46 PM

    Gravatar

    At the end of the day, the developers that don't like the evolution of C# should probably start taking a look at Java.

    Troy Taft

    Tuesday, November 04, 2008 10:18 PM

    Gravatar

    I do understand the issue about choosing the best tool. Don't you think that it might be easier to pick and choose within a single, well constructed syntax rather than having to choose different languages?

    A single language shares the elements that turn out to do the same thing; not so when you have to switch between two. I know that code is for reading... I don't go around town with a tag that say's "Human" on me. Why should my code have to wear a name tag? If I write my code well, wouldn't you be able to pretty much tell what it is?

    C# isn't taking typing away, it's adding dynamics. Don't you want the choice? I do.

    Add comment


    (Will show your Gravatar icon)  

      Country flag




    Live preview

    Tuesday, January 06, 2009 12:40 PM

    Gravatar