The company I work for has all of its legacy ("legacy" being used rather liberally in this context) code in VB.NET. They have about 6000+ lines of VB.NET code, so all of the developers are comfortable with it.
We have started to develop a new product, and are finding that some modules are easier to complete in C# than in VB.NET, such as Interprocess Communication via WCF.
The things our product will eventually need to do are as follows:
- Communicate via IPC between Windows Services, Silverlight, and WinForms
- Handle parallization, and all the complexity that comes along with it
- Windows Service and WinForms development
- ASP.NET, AJAX, and Silverlight development
- Database (SQL) access
- Lots of event handling (Sync and Async events)
My question is: Given the type of work we will be doing to complete our product, are there features of one language that will make life easier that the other does not have? And if so, it is worth asking the developers to switch to a language they are less comfortable with?
I was hoping to keep this as objective as possible, by listing exactly what type of work we will be doing with the product. Please don't turn this into a VB/C# holy war.