Picture of admin

What's new in C#, or who do you trust most?

  • Posted By admin on October 04, 2005

Ted Neward has written a nice summary of the language innovations that we can expect be in C# 3.0. Obviously the success of various dynamic languages is having an impact—all five of the features that Ted highlights have obvious (and simpler) analogs in dynamic languages.

The argument that I infer from Ted’s piece is “Look! now we can have (some of) the expressiveness of dynamic languages with (most of) the safety of a statically typed language.” Let me be clear that this is a good thing—I am always looking for ways to be more expressive in statically typed languages.

But just because C# now looks a little more like some dynamic languages, don’t make the mistake of assuming that two worlds are converging. In the most important ways, they are as different as ever. Here’s why: Languages like C# “bake in” specific and detailed rules for inheritance, encapsulation, delegation, how symbols are interpreted, etc. In dynamic languages, similar rules exist, but they are not part of the language core. Instead, they are idiomatic extensions built within the language itself. Development teams can follow these idiomatic rules. Or, they can build (and enforce!) their own rules, specifically tailored to their needs. This has huge implications for productivity. In dynamic languages, you get to build the language up toward your domain, while you build the solution down.

So why has the static/dynamic debate staggered on for so long? I think we could get closer to some answers with better choice of terms. “Static” vs. “dynamic” is highly misleading. I propose we use a new set of names: vendor-oriented vs. developer-oriented programming, or VOP vs. DOP.

So who do you trust most: vendors or developers?

Comments
  1. Nice postOctober 05, 2005 @ 01:02 PM
    Damn commie!
  2. HiteshOctober 06, 2005 @ 03:52 AM
    One could argue that vendors do a good job in narrowing the dizzying array of options available to the small set or one path that gets you to an implementation. How do you know that the developers won't spend so much time researching the different paths that you end up cutting functionality to make up the lost time? I've got a longer post on my blog and if I were smarter, I would have figured out how to get Typo to send you a ping when I posted to it.
  3. [...] Relevance News from the land of the relevant « What’s new in C#, or who do you trust most? Developer oriented languages [...]
  4. Delhi EscortApril 30, 2006 @ 03:30 AM
    But I'm not sure why.
  5. Clock Thermometer BarometerApril 30, 2006 @ 03:58 PM
    Not really new!
  6. Sparing Parking SeatacMay 04, 2006 @ 01:50 PM
    Thanks. Updated appropriately!
  7. World Series Of Poker Main EventMay 10, 2006 @ 09:36 PM
    Not really new :(
  8. Chance Blend Europe South AmericaMay 12, 2006 @ 10:54 PM
    Thanks. Updated appropriately.
  9. Rasmus TabMay 17, 2006 @ 09:38 PM
    The content of your show is great, I really enjoy it :(