Visual Basic from Microsoft has been one of the most widely used languages globally which has taken Microsoft right at the center of the enterprise stage. It has been the chosen language for enterprise application development. However, it was reborn from its initial stage to being part of the .Net platform. It features a huge library of user interface elements along with connectors to common database. It also offers a component model that facilitates third parties to develop their businesses on providing additional functionality. However, the wide use of .Net as the basis of Microsoft’s development plan had contributed to new languages like C# but on the other hand the codes could not migrate from the old Visual Basic .Net.
Microsoft has promised to merge new version of Visual Basic and C# because these are used in sync by developers to achieve the desired result. Also, they share some features in common like being object-oriented languages functioning with the identical tools.
The Anticipated Discrepancy between Visual Basic and C#
The coexistence and co-evolution of these languages will be stopped by their creator as announced last week. With Visual Basic 15 being launched, both the languages will follow different streams from now on. This does not come as a surprise because C# was growing taking long strides while VB took a downward turn by being conspicuous with its absence from query sites like Stack Overflow. Moreover, VB has stuck to its basic client-server paradigm while C# has kept on improving and extending its impact on cloud premises.
The development process for the languages have also changed wherein C# has shifted to open design model facilitating the users with new features by means of an active mailing list and public GitHub inventory. Microsoft has also moved away from its traditional way of producing products developed by internal management teams and research groups. Visual Basic has an pen design model as well but it functions on different priorities from C#. Having said that, developers will be using the 2 languages almost together by using the same .Net APIs and they will also be components of the Visual Studio tools.
What are the Implications of this Divergence?
At present there is nothing much to do about this situation. However, a lot more will happen as the scope for cross-platform work increases in the future. Though not all codes will be portable but some could jump libraries. The existing codes will remain on Windows and strictly in on-premise applications. As a developer, you will have to select whether you wish to use the existing codes on standard .Net or get new codes on the same platform. In fact, using C# will always remain another option.
Visual Basic or VB will need Standard .Net platforms while C# can work on other platforms like .Net Core accessing the APIs. C# along with the support from .Net Framework on Windows is the primary choice for cloud and for mobile applications. The F# functional programming model will be perfect for financial services and applications that depend on machine learning. Microsoft requires a cross-platform set of tooling to promote a bigger range mobile devices. To target the all- pervading mobile platforms Microsoft developers desiring to build mobile front ends for the apps will use Xamarin which is an effective tool.
Managing the Enterprise Language Strategy
This is not like bidding good-bye to Visual Basic, but it definitely demands careful attention to where you stand and where you expect to be. Visual Basic developers will only have a subset of .Net APIs because new stuff will not be available for them. They can work on the existing applications while .Net platform evolves. Developers are being advised to migrate to the C# and F# in future for better cross-platform mobile applications.
From whatever has been said above, it is clear that gradually the developers have to shift to using C# for new development. It has first-class support and user-driven design model. It also happens to be the core of Microsoft’s cross-platform development and its Universal Windows Platform. This means that you can develop business logic only once and make it accessible for various mobile platforms. There is adequate language commonality which will enable developers to make easy transition while also picking up new features after initial training.
Javier Quincoces on 02-Mar-2018