BT

New Early adopter or innovator? InfoQ has been working on some new features for you. Learn more

C# Futures: Read-Only Local Variables

by Jonathan Allen on  Apr 24, 2017 1

Not too long ago the proposal for read-only local variables was revived. This is a much more modest feature than the read-only references proposal, but the two are complementary.

C# Futures: Read-Only References and Structs

by Jonathan Allen on  Apr 19, 2017 2

In C++ we have a feature known as “const”. This can be applied to parameters so that the caller knows that function will not modify the parameter and/or the object the parameter references. Under this proposal, C# would get something similar.

C# Futures: Nullable Reference Types

by Jonathan Allen on  Apr 17, 2017 2

No, the headline isn’t a typo. One of the new proposals for C# is to assume that all reference variables are non-nullable by default. Under the new syntax, you would need to explicitly indicate when a reference variable is nullable, just as you do for value types.

.NET Futures: Type Classes and Extensions

by Jonathan Allen on  Apr 12, 2017

Another feature being considered for future versions of .NET are type classes. Referred to as “shapes” in the Shapes and Extensions proposal, they would greatly increase the capabilities of .NET generics.

New Language Features in Visual Basic 15

by Jonathan Allen on  Apr 11, 2017

Visual Basic 15 brings with it partial implementations of two important C# features: tuples and ref returns. Neither feature is “complete”, but they do offer enough work-arounds that VB applications can consume C# libraries that make use of these features.

.NET Futures: Multiple Inheritance

by Jonathan Allen on  Apr 10, 2017 2

A controversial new proposal for .NET suggests the introduction of a limited form of multiple inheritance via abstract interfaces. This feature was inspired by Java’s default methods.

Visual Studio 2017 Brings F# 4.1

by Pierre-Luc Maheu on  Mar 28, 2017

The Visual Studio 2017 release in early March included F# 4.1 and an update of the Visual F# tools. F# 4.1 brings improvements and interoperation with C# 7 while the tools are the first version supporting the Roslyn workspaces.

Fable 1.0 Beta Brings Better Tooling Integration, New Project Format, and More

by Sergio De Simone on  Mar 27, 2017

F# to JavaScript compiler Fable has reached version 1.0 beta, bringing tooling improvements, a streamlined project format, and better code generation. InfoQ has spoken with Fable creator Alfonso García-Caro.

.NET Core Tools 1.0 Released with Full C# Support

by Jeff Martin on  Mar 13, 2017

The .NET Core Tools has produced its first 1.0 release. Focused on C#, the tools provide .NET Core developers easy-to-build applications for .NET Core and ASP.NET Core. While their release coincides with the launch of Visual Studio 2017, this is a multiplatform toolset supporting Windows, Linux, and Mac OS systems.

Visual Studio Code 1.9 Extends Tasks, Improves Markdown Support and Terminal Performance

by Sergio De Simone on  Feb 08, 2017

Following its monthly release cycle, Microsoft Visual Studio Code has reached version 1.9, which includes support for multiple-command tasks, synchronized markdown preview, faster terminal, and more.

Visual Basic: The Road Ahead

by Jeff Martin on  Feb 08, 2017

Microsoft has announced some major changes to how it will treat Visual Basic in the future. Representing the first major change in the company's approach in six years, Visual Basic will now be free to diverge from C#.

Microsoft's Plans for the Future of .NET

by Jeff Martin on  Feb 03, 2017 5

Microsoft develops C#, Visual Basic, and F# in public but doesn't always share its plans for these popular languages. Mads Torgersen has provided some new guidance on where Microsoft plans to take these languages in the future.

F# 4.1 Brings Improvements and Interoperation with C# 7

by Pierre-Luc Maheu on  Jan 23, 2017

F# 4.1 brings improvements to the language. It is distributed through the Microsoft tools for F#, which are stated to ship later this year. This version enables support for struct tuples, interoperation with C# 7 and by-ref returns.

Testimonial on Using F# by Microsoft's Project Springfield Team

by Pierre-Luc Maheu on  Jan 02, 2017

Project Springfield is a fuzz testing service for finding security critical bugs in software. William Blum, principal software engineering manager on the Springfield team at Microsoft Research, explains how adopting F# helped the team build the cloud service.

Scripting in F# Using Fake and Paket

by Pierre-Luc Maheu on  Dec 12, 2016

Scripting in F# is usually done using .fsx files and F# Interactive (Fsi). For scripts that will be reused, Paket and Fake bring several features to handle different uses cases. Fake can be used to structure complex scripts, while Paket brings dependency management.

BT