Manage multiple .NET languages ​​in a web application

I am part of the development team creating the new ASP.NET 3.5 web application. Two of us are C # encoders, and the second is a VB.NET encoder.

I know that we can mix languages ​​based on each project, and we can build classes in one language that inherit from classes written in another language in another project (which we already do), but I can see we are in a situation, when we can get cyclic dependencies between different project DLL-projects.

Besides the simple presence of a large number of projects (a greater separation of problems into a larger number of libraries), how did you deal with this situation in your own projects?

Note. I believe that this question will differ from the only similar coincidence that I could find ( this ) on the grounds that we do not want to use different ones in order to use their specific functions as such, but to use the developer resource available to us (t .e. one of the developers is just VB.NET).

+4
source share
3 answers

I have to be honest in saying that I want the vb.net guy to move to C #.

Sooner or later you will want him to work on part of the solution, which is a C # project. Its artificial barrier that you create when you switch to the new syntax is relatively straightforward.

Most developers would welcome the opportunity to switch to C #.

I recently took part in a decision by a large corporation to switch to C # with vb.net, and we found that this increased morale made it easier to find good candidates.

+4
source

If your store is primarily C# , and this is really what you want your project to be developed, I would advise another developer to find out C# rather than compromise your project in order to take into account the ignorance of one of your Team Members. This is not to overwhelm your other team member, but if he / she understands .Net well at all, then there is no reason this person could not learn C #.

We have a combination of both in my company, however, the choice of using VB.Net always depends on whether the existing VB6 application is ported to .Net, and in this case it makes sense to use VB.Net, since it needs less code to be rewritten (in most cases).

But we never allowed the developer’s skills to determine whether to use C # or VB.Net, we would choose the best tool for the job, and this should always be the point of decision.

+3
source

I would avoid this if it was possible. Try to give a VB encoder to improve their C #. It doesn't have to be immediate, let them write VB until they are comfortable with C #, then you might want to go back and reorganize the old VB into C #. They are already used for .NET libraries and tools, basically it's just the syntax (but yes, there are some language differences).

The reason I offer this for future maintenance is that you have to maintain and debug the code in two languages. Not a problem if you all know all languages, but can you provide this forever?

+1
source

Source: https://habr.com/ru/post/1307349/


All Articles