HTML5 Canvas
Written by: Simon Sarris
Featured Refcardz: Top Refcardz:
  1. Apache Hadoop
  2. Web Driver
  3. MVVM
  4. REST
  5. ADO.NET
  1. HTML5
  2. Ajax
  3. jQuery Selectors
  4. CSS Part 1
  5. Git

Link Details

Link 129584 thumbnail
User 111696 avatar

By bloid
via brian.genisio.org
Published: Oct 28 2008 / 04:33

I just got back from the “Future of C#” talk at PDC by Anders Hejlsberg. This was a truly inspiring talk for a geek like me. C# is evolving into a much more dynamic language. I have always been a believer of strong typing… except when I’m not… and I have been wishing for something more dynamic (such as Duck Typing). In C# 4.0, we will be seeing some significant dynamic features.
  • 21
  • 6
  • 2194
  • 0

Comments

Add your comment
User 338269 avatar

Miloskov replied ago:

0 votes Vote down Vote up Reply

Damn with that features, C# will be the more complicate(even more than C++) and bloated language. I'm not so exciting to listen to that features. If I want those features I will use a proper language for that as OCaml, Haskell or F#.

C# 4 is smelling bad. I hope VB gets more easy to use.

User 326209 avatar

jkirstein replied ago:

0 votes Vote down Vote up Reply

C# is starting to look like (C++)++. All the added complexity will just make it harder and harder to write maintainable code and eventually it will collapse under its own weight.

User 206943 avatar

mvonballmo replied ago:

0 votes Vote down Vote up Reply

Covariants and Contravariants

+10

User 281050 avatar

cbang replied ago:

0 votes Vote down Vote up Reply

OtengiM and jkirstein, no offence but Ted Neward would only have one answer to you guys: There's always a need for people flipping burgers.

You can always stay on a 3.0 code base. Really, what is the alternative, to do like Java and wait 10 years for an Enum and 20 for closures?

User 338269 avatar

Miloskov replied ago:

0 votes Vote down Vote up Reply

cbang, it means, only rocket science folks will use C# 4, do you know why C++ lost the hype because the complexity and the born or more easy to use languages but also powerful as Java and C#. I think C# 3 it is enough, if go beyond that it will get so confused for the average programmer.

Thats why my comment about VB, I hope it doesn't get all that complexity and it is more easy to use. C# 4 will be good for Computer Science folks as F# or Ocaml, C# 3 or VB or Java it is for the practical/engineer or business folks the average programmer.

User 281050 avatar

cbang replied ago:

0 votes Vote down Vote up Reply

OtengiM: I understand your point. However, having to battle countless libraries, frameworks, build systems and various embedded DSL's in Java each and every day, I think the benefits of having the power in the language outweighs the drawbacks.

It allows the smart people to create the tools, concepts and abstractions for the average people. One could also argue C# is simply and finally distancing itself a little from VB (which I never understood why people would want to use in the first place).

User 283269 avatar

vidalsasoon replied ago:

0 votes Vote down Vote up Reply

This is the reason some programmers burn out and become managers :) Too much to learn!

User 326209 avatar

jkirstein replied ago:

0 votes Vote down Vote up Reply

Same argument the C++ people have been using for years: Ignore the features you don't like, use the ones you like. This works fine for a one-person project. But in a team environment, each person has their own favorite subset.
Ever try to read Boost code? This sort of thing is coming to the C# world.

User 187417 avatar

sproketboy replied ago:

0 votes Vote down Vote up Reply

Sorry I thought I read excrement.

User 249531 avatar

Kaveh Shahbazian replied ago:

1 votes Vote down Vote up Reply

I do not like the feature being so nakedly incorporated into the language. Yet I do not agree with those that oppose to growing the language. You think a feature-full language will fall the way C++ does? C++ syntax was (is) a composition of none-well-aliened features that make it so easy to write meaningless code. Just look that unsafe-unstructured-untraceable-nonedebugable-mistakeprone macro system. Was LINQ bad to your taste? A little but fine-grained, well-thought feature incorporated into the language!

And you think for example for Java if you do not know Tomcat, Straus, Log4j, Spring, Hibernate, ... well you will get a job? Technology IS already complicated and bolted (yet to remember a "Toolbox" of necessary skills as HTML, CSS, JavaScript, Ant, JUnit, Eclipse, ...)!

So have a higher-order type system will make managers from programmers as much as it is happening by now! So if it does not help those that faith is elsewhere anyway; It will help us and that's important to me!

User 330778 avatar

horza replied ago:

0 votes Vote down Vote up Reply

cbang, C# is only used by Microsoft junkies and attempting to turn C# (a Java clone) into Python is hardly Excitement. It's trying to shoe-horn in something for the sake of it and will just lead to more bloat. The rest of the world is using Java for strongly typed language projects, and Python (or PHP in the web world) for dynamically typed projects. Rather than looking more like C++ as OtengiM and jkirstein suggest, it sounds like it is heading towards Perl where it tries to do everything and you have multiple ways of doing it. BrianGenisio, the reason you want less features is to enforce consistency hence improve maintainability. As jkirstein says, if just one programmer uses a feature then every single member of the team and every subsequent programmer that must maintain that code needs to be proficient in that feature. Even in the ultra-simple C there followed a decade of debate as to the best way to indent code, and whether the { should be on the same line as the function declaration or on its own on the next line. As for ksh2dzone, yes you will get a Java job without Tomcat, etc. Java is big in the mobile sector. For everything but C# a language is just that and you pick the appropriate infrastructure. Only with C# are you hogtied to one proprietary infrastructure.

Phillip.

User 281050 avatar

cbang replied ago:

0 votes Vote down Vote up Reply

horza, by calling C# a Java clone you already send a clear message that you care more about software- politics and religion than actual engineering. The rest of the world is using Java but if you haven't noticed, all the latest Java frameworks are using dynamic proxies and DSL's buried in type-unsafe annotations to express "dynamic intension" the language itself can't carry. It took Java 10 years to realize the Enum would probably be a good idea, meanwhile people have been inventing all kind of workarounds in the lack of one true way. If you find that trend appealing, then I can only feel sorry for you and the next 10-20 years you have to spend understanding and maintaining legacy code.

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.