DarioSantarelli.Blog(this);

C# Language Specifications 3.0

Posted by dariosantarelli on September 10, 2007

I’d like to advice this page (MSDN) where you can find the unified C# Language Specification which covers all the features of the C# language through version 3.0 (just 500 pages!!!)… In this document there are a lot of interesting and not so broadly known features (e.g. atomic operations on integral types like ulong). I think just a quick look will be fine in order to discover some curiosities ;).

P.S.: To people thinking C# as a not standard language, please read the Introduction:

… C# is standardized by ECMA International as the ECMA-334 standard and by ISO/IEC as the ISO/IEC 23270 standard. Microsoft’s C# compiler for the .NET Framework is a conforming implementation of both of these standards…

Advertisements

One Response to “C# Language Specifications 3.0”

  1. Dan said

    I have an interesting idea on exception handling, I have no idea where to post it but this was the first reply-able language specification article I googled, so here goes.

    I read an interesting article from Anders about Checked Exceptions on:
    http://www.artima.com/intv/handcuffs.html

    I was thinking that a compromise could be introducing a new keyword – call it “karma”:

    basically if you have a method like:

    public karma void someMethod(){
    throw new NastyException(“really really bad”);
    }

    then the compiler would complain and force you to rewrite it as:

    public karma void someMethod() throws NastyException{
    throw new NastyException(“really really bad”);
    }

    (or of course you could also catch the exception inside the method)
    and then if you said:

    public void someMethod(){
    throw new NastyException(“really really bad”);
    }

    the compiler wouldn’t complain, it would leave you alone. Problem solved no?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: