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

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.

New JEP Would Simplify Java Type Variance

by Abraham Marín Pérez on  Jan 24, 2017

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

by Pierre-Luc Maheu on  Sep 13, 2016

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

by Pierre-Luc Maheu on  May 18, 2016

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#

by Pierre-Luc Maheu on  Sep 28, 2015 4

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.

C# Futures: Immutable Classes

by Jonathan Allen on  Jun 02, 2015

In the last of our C# Futures series, we look at proposal 159, which would add compiler support for immutable classes.

C# Futures: Method Contracts

by Jonathan Allen on  May 18, 2015

Continuing our look at the future of C#, we now take a look at Proposal 119. This would add first class compiler and syntax support for method-level contracts.

Updated Feature List for C# 6 and VB 12

by Jonathan Allen on  Oct 03, 2014

As the next version of C# gets closer, features that are not quite ready have to be cut. The features. Newly removed from the list are primary constructors and declaration expressions.

Pattern Matching in C# and VB

by Jonathan Allen on  Aug 14, 2014 11

Another concept from functional programming languages making its way to C# and VB is what’s known as pattern matching. At first glance pattern matching looks like a switch/select block, but it is much more powerful.

Easier Immutable Objects in C# and VB

by Jonathan Allen on  Aug 12, 2014 8

A common pain point in .NET programming is the amount of boilerplate code necessary to implement immutable objects such as explicitly defined backing stores for each property. Under a new draft specification, C# and VB will be adding what they are calling a “record class” that eliminates most of the effort.

Oracle Launches Project Valhalla for Java

by Ben Evans on  Jul 28, 2014 12

Oracle launches Project Valhalla to experiment with advanced features for the JVM and Java language, including a major revision of Java's approach to generic types.

PHP Evolved: Facebook's New Hack Programming Language

by Jeff Martin on  Mar 27, 2014 1

PHP has long filled an important role at Facebook, and over the years the company has constantly sought to improve the language's performance. First there was the Hip Hop Virtual Machine, and now there is the Hack, programming language.

Rust 0.9 Released With Revised Threading Model

by Jeff Martin on  Jan 16, 2014

The Rust team has released the latest version of its next generation programming language. New in this release is a redesigned threading system and several refinements as the language moves towards its 1.0 release.

Study: Clojure, CoffeeScript and Haskell Are the Most Expressive General-purpose Languages

by Abel Avram on  Mar 28, 2013 12

According to a study, the most expressive general-purpose languages are Clojure, CoffeeScript and Haskell. The study uses LoC/commit as the measuring unit of expressiveness.