Microsoft’s latest strategy for its .NET languages—C#, F#, and Visual Basic—emphasises attributes including performance and interoperability, with the company remaining in charge of governance.
The company posted the latest overviews of plans for the three languages on February 6. Big changes will not be found in the updated strategy, but Microsoft said it was committed to full support for all three languages and to open source, backward compatibility, and aggressive language evolution for C# and F#.
For C#, Microsoft’s object-oriented language with capabilities such as type safety and generics, the strategy calls for continuing to evolve the language while remaining “state of the art.”
Although Microsoft intends to continue empowering the broader .NET ecosystem and grow its role in the future of C#, the company affirmed it will maintain stewardship of design decisions. Innovation is planned for .NET libraries, developer tools, and workload support.
Language and performance improvements are to be pursued that would benefit all or most developers while maintaining backward compatibility.
With F#, which features a function-first approach, a lightweight syntax, and immutability, plans call for supporting .NET platform improvements and maintaining interoperability with new C# features.
“We will drive F# evolution and support the F# ecosystem with language leadership and governance,” the company said.
But Microsoft will continue to rely on the community to provide developer tools, important libraries, and workload support. Microsoft pledged to work across language, tools, and documentation to lower the barrier to entry into F# for new developers and organisations and broaden F#’s reach into new domains.
With Visual Basic (VB), a language for building type-safe .NET applications, Microsoft’s intention is to ensure the language remains straightforward and approachable with a stable design. Core libraries of .NET, such as BCL (base class library), will support Visual Basic, and many improvements to the .NET runtime and libraries will automatically benefit VB.
When C# or the .NET runtime add new features requiring language support, Visual Basic generally will adopt a consumption-only approach and avoid new syntax. A consumption-only approach means VB code can access .NET APIs and types built on new .NET runtime features, but VB will not add syntax to define types that will use those features.
Thus, new features will benefit VB users with little or no syntax changes. There are no plans to extend VB to new workloads. “We will continue to invest in the experience in Visual Studio and interop with C#, especially in core VB scenarios such as Windows Forms and libraries.”