Blog Posts Blog

1

Don’t use the double-brace initialization trick

Introduction Java unfortunately does not have a convenient syntax for initializing collections. There’s a trick that developers sometimes use, the double-brace initialization trick, to make initializing for example a Map more convenient. This trick has obvious and less obvious disadvantages and you should not use it. In this post I...

2

Scala access modifiers and qualifiers in detail

Just like Java and other object-oriented programming languages, Scala has access modifiers to restrict access to members of classes, traits, objects and packages. Scala’s access modifiers are slightly different than Java’s; in this post I explain the difference. Besides modifiers, Scala also has qualifiers which allow more fine-grained access control....

0

The magic of for-yield with Scala collections

Scala has a rich and well-designed collections library. You can find a good overview of the collections library on the Scala documentation website. In this post I’ll show how using for with yield on collections works and how the collections library is designed and implemented so that it does exactly...

4

7 Scala features that surprise Java developers

When you know Java, it isn’t that hard to start programming in Scala. Everything you know about object-oriented programming in Java also applies to Scala. Ofcourse Scala is not just Java with a less verbose syntax; it also has a number of features that Java lacks, such as functional programming...

0

Scala as a better Java

This one is for the Java developers who are curious about Scala. Maybe you have briefly looked at Scala and you were deterred by what at first sight looked like ugly syntax with strange, incomprehensible operators, or you think you have to become a functional programming wizard to understand it....

0

Effective Debugging

There are different kinds of bugs. There are bugs for which the cause is hard to find, but once you find it, the problem is easy to solve. The cause of this kind of bug is most often a simple mistake in the code. The fix often consists of just...

0

Project Valhalla – Generic Specialization

Last week I wrote about value types, which are one of the new language features that are being investigated for a future version of Java. This time I’ll explain another possible new language feature being investigated in Project Valhalla: generic specialization. In Java, you can only use reference types as...

8

Project Valhalla – Value Types

In July last year, Brian Goetz announced Project Valhalla, an experimental project to explore major new language features for a future version of Java. Features to be investigated are: Value types Generic specialization Enhanced volatiles Possibly other related topics, such as reified generics The features in Project Valhalla are not...