If you haven't gone through the list of changes in C# 6.0,
please take a look at this MSDN post
In my opinion there is no real need for me to jump to C#
6.0. Unlike other C# releases, with this release Microsoft hasn't made any
significant changes. I believe there is a reason for this. Microsoft and C#
team really focused on the Roslyn compiler initiative and didn't have much time
for this version. I feel they should have versioned this as C# 5.1 and not C#
6.0.
Anyway of the new changes the one thing I liked very much is
the Exception-Handling improvements. This functionality currently does
not exist and would help to catch a precise exception. Apart from this rest of
features are syntactic sugar and in some cases makes the code sloppy.
Here is my take on these other new features:
Indexed Members and Element Initializers - This
feature seems interesting and will help reducing the code. But somehow I don't
like the $ keyword for wrapping my strings to objects. The good news is now we
got $ in C# code :)
Auto-Properties with Initializers - I liked this syntactic
sugar and will use from day one. This eliminates the need for a constructor to
initialize my properties
Primary Constructors - This syntactic sugar is very
confusing. I see how this reduces my code, but also adds confusion. I will be
little bit hesitant to use this feature at the onset.
Static Using Statements - Another syntactic sugar, I
am not excited about. I believe this leads to sloppy coding. On average a
typically developer productivity is 25 to 50 lines code per day. I don't mind
few additional key stokes if I can make my code more readable.
Declaration Expressions - Again I feel that this
feature also promotes sloppiness and confuses developers. I am currently happy
without this feature.
Binary Literals - Well this is an interesting feature
and may help in code readability. I didn't see much use of this in my existing
projects other than the binary flags mentioned in the MSDN blog.
As you see most of the syntactic sugars above does not add a
great value and some may even confuse you. If you read the comments in the MSDN
blog, most of the developers are not happy with these syntactic sugars. I feel
that a language should be simple without too many bells and whistles.
Hence I am not excited with the new features of C# 6.0. But
I am super excited with the Roslyn and open sourcing .NET.
Agreed
ReplyDelete