Language style - are all .NET languages the same?
Thycotic has recently engaged on a consulting project that is completely VB.NET. This is not our usual (C#) stomping ground so there are plenty of opportunities for us to learn new things and make sure that we steer clear of the religious arguments! I have been developing primarily in C-style languages for most of my career so the transition has been interesting.
While consulting at the BBC a number of years back, I was fortunate to cross paths with Karen Bearkley - an accomplished Perl developer who had come to Perl from C. She often commented how important it is to not write Perl in a C style but rather to take advantage of the diversity of the language and its unique constructs. If you don't write in the flavor of the language you will be forcing your pen rather than letting it flow ...
This got me thinking about our C# to VB.NET transition ...
- Will our VB.NET code look like a C# developer wrote it?
- Does the framework really level all .NET languages?
- Is there still enough diversity to make each unique?
There must be some truth to this idea even in .NET since we have adopted some new standards which feel somewhat C#-ish to me:
- Never use the root namespace - always declare your namespace in each type
- Adding overridable to all methods (or was this our Java hold over?)
- Option Strict On and Option Explicit On
- Never use the Microsoft.VisualBasic namespace
- Still be picky about exact case
- Use a refactoring tool (CodeRush/Refactor Pro! supports VB.NET)
What do find when you move between .NET languages?