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

  • Compiled, Typed, Ruby-Inspired Crystal Language is Ready for Production - Q&A with Beta Ziliani

    The Crystal language is ready for production, 12 years after inception. Crystal is compiled for performance, typed for safety, and Ruby-like for productivity. Due to the strong type inference, developers need only sparse type annotations. We interviewed the head of the Crystal team on the language tradeoffs, the present features and the language roadmap.

  • Java Feature Spotlight: Pattern Matching

    Java SE 14 (March 2020) introduced a limited form of pattern matching as a preview feature, which becomes a permanent feature in Java SE 16 (March 2021). The first phase of pattern matching is limited to one kind of pattern (type patterns) and one language construct (instanceof), but this is only the first installment in a longer feature arc.

  • Java Feature Spotlight: Sealed Classes

    The release of Java SE 15 in Sept 2020 will introduce "sealed classes" (JEP 360) as a preview feature. A sealed class is a class or interface which restricts which other classes or interfaces may extend it. Sealed classes, like enums, capture alternatives in domain models, allowing programmers and compilers to reason about exhaustiveness.

  • Patterns and Practices in C# 7

    C# 7 is a major update with a lot of interesting new capabilities. And while there are plenty of articles on what you can do with it, there’s not quite as many on what you should do with it. Using the principles found in the .NET Framework Design Guidelines, we’re going to take a first pass at laying down strategies for getting the most from these new features.

  • A Comprehensive Look at F# 4.1

    Semantic versioning can be misleading. While F# 4.1 is backwards compatible with F# 4.0, it is by no means a minor release. With both Microsoft and the larger community contributing, several more features were introduced since the F# 4.1 preview in the areas of performance, interoperability, and convenience.

  • Simplifying F# Type Provider Development

    Type Providers are an essential element for F#’s extensibility model, but creating new ones can be a chore. Dave Fancher shows how to take the tedium out authoring Type Providers using some simple inline factory methods.

  • Java Sleight of Hand

    The Java language has its fair share of peculiarities. “Java Sleight of Hand” presents nine original Java puzzlers; seemingly innocent code constructs that produce unlikely outcomes.

  • Java 8 Lambdas - A Peek Under the Hood

    Java 8 was released in March 2014 and introduced lambda expressions as its flagship feature. This article sheds light on how Java 8 lambda expressions and method references are implemented under the hood, and looks at the generated bytecode and performance implications.

  • Joe Duffy on Uniqueness and Reference Immutability for Safe Parallelism

    We interviewed Joe Duffy, author of Concurrent Programming on Windows, about his research into the use of type systems to ensure safe parallelism. This work was presented in the paper titled Uniqueness and Reference Immutability for Safe Parallelism. We asked for this interview because there seemed to be a lot of misconceptions about this research project.

  • The Essence of Google Dart: Building Applications, Snapshots, Isolates

    Google has previewed Dart, a new language with a VM but also a JS compiler. InfoQ looks beyond the grammar at Dart's contributions for building apps: Snapshots, Isolates, Modularity.

  • A Discussion With Neal Gafter on the Future of Java

    Microsoft's Neal Gafter, who was primary designer and implementer of the Java SE 4 and 5 language enhancements and now works for Microsoft on .NET platform languages, discusses the impact of Oracle's acquisition of Sun on Java,makes the case for adding segmented stacks and a meta-object protocol to Java,, and offers some insights into how Java and C#/.NET compare.

  • Scala.Net and Scala with Martin Odersky

    Scala.Net will be a version of Scala that supports the .NET ecosystem. We talked with Martin Odersky, Chairman and Chief Architect as well as co-founder of Typesafe, about Scala.Net, the version of Scala that support .Net as well as about Scala in general.

BT