BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Language Design Content on InfoQ

  • C# 7.2 and 8.0 Roadmap

    Features are already being lined up for C# 7.2 and 8.0 including nullable reference types and limited multiple inheritance.

  • An Early Look at C# 7.1: Part 2

    Yesterday we looked at Async Main and Default Expressions. Our tour of C# 7.1 continues with the proposals titled Infer Tuple Names and Pattern-matching with Generics.

  • An Early Look at C# 7.1: Part 1

    For the first time since 2003, Microsoft is considering a point release for C#. Currently marked as C# 7.1, the next version of the language is expected to include Async Main, Default Expressions, Infer Tuple Names, and Pattern-matching with Generics.

  • .NET Futures: Asynchronous Streams

    Since async/await was announced for VB/C#, developers have been asking about an asynchronous version of IEnumerable. But until C# 7 and ValueTask, that was potentially challenging from a performance standpoint.

  • C# Futures: Relaxed Overrides

    A commonly requested feature in .NET is the ability to use covariant return types. An example of this would be overriding “virtual object Clone()” with “override Widget Clone()”. From a type safety perspective, this is perfectly acceptable, but C# doesn’t currently allow it.

  • C# Futures: Read-Only Local Variables

    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

    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

    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

    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

    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

    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.

  • New JEP Would Simplify Java Type Variance

    A new JEP Candidate proposes to facilitate the handling of type variance in Java. The new proposal, potentially targeting Java 10, would add a means for specifying the default variance in the definition of generic types, different to the current style of indicating it through wildcards at instantiation. This proposal is not a replacement for wildcards, but rather a way to reduce the need for them.

  • Don Syme Presents F# Design Principles at .Net Fringe

    Don Syme, creator of F#, presented at .Net Fringe 2016 an assessment of the current status of F#. He also commented on the duality that exists in F#, a functional language created on a runtime built for object oriented languages.

  • Anders Hejlsberg Explains Modern Compiler Construction

    The main reference in compiler construction, Compiler: Principles, Techniques, and Tools, also know as the Dragon Book, was first published in 1986. Anders Hejlsberg, known for his work on Turbo Pascal, Delphi, C# and TypeScript, explains in a Channel 9 interview how compiler construction today is different from how it was done 30 years ago.

  • Debate: Adding Non-nullable References to C#

    The recent proposal to add non-nullable references to C# by Microsoft’s Mads Togersen sparked quite a debate in the .NET community. The reactions were diverse, ranging from praise to preferring status quo.

BT