What About the Performance of Java 8 Lambdas?

Posted Posted in Concepts of programming languages, functional programming, Java 8, java 9, JIT, Performance, Uncategorized

Isn’t it funny that I start writing a series of articles about Java 8 Lambdas in 2018? Mind you: my first article dates back to April 2012, six years ago. I fell in love with functional programming even earlier. I suppose it was roughly in 2008, ten years ago. From this perspective, functional programming is […]

TypeScript and ES2016 Decorators vs. Java Annotations

Posted 1 CommentPosted in Angular, Concepts of programming languages, ECMAScript, Java 8, TypeScript

Consider this TypeScript snippet. It’s a very simple Angular2 component. It looks almost like a Java class, doesn’t it? In particular, the @Component looks like a Java annotation. In fact, it plays the some role as a Java annotation. It tells the Angular2 framework that this class is not an ordinary POJO, but something special. […]

Type Erasure Revisited

Posted 3 CommentsPosted in Concepts of programming languages, Java 8

You can’t beat type erasure, they say. Information about generic Java data types is lost during compilation, and there’s no way to get it back. While that’s absolutely true, Mahmoud Ben Hassine and I found a tiny loophole which allowed us to improve Mahmoud’s jPopulator framework tremendously. Under certain circumstances, it’s possible to find about […]

Java 8 Named Method Parameters

Posted Posted in Java 8

I was very surprised when I read Adam Bien’s blog post on named parameters in Java 8. Named parameters? Well… not quite. At least not the kind of named parameters we know from languages such as Visual Basic, Groovy and many others. But it turned out to be an interesting read nonetheless. The article is […]

Newsflash: Java Decompilers

Posted 2 CommentsPosted in Java 8

Nowadays everybody seems to pull their libraries from Maven Central, which encourages to upload both the binaries and the source code of a library. Most developers follow the guidelines, so nowadays it has become painless to read the source code of the open source libraries you use. Debugging such a library usually is pretty simple. […]

AngularFaces 2: Even Better Steroids for JSF

Posted 2 CommentsPosted in AngularFaces, AngularJS, Java 8, JSF, Performance, simpliying JSF

AngularJS and other fancy Javascript frameworks stir up the Java world. The Java world has been dominated by server side framework for more than a decade now. Times they are changing. Now everybody’s moving to the client side. The server’s reduced to a faint memory, such as a REST service. Everybody? Not quite. A lot […]

Your IDE Supports Java 8 From Day One

Posted Posted in Java 8

Yesterday the lambda revolution has been released: Java 8 is there. Java programmers can finally benefit from closures, function pointers and multiple inheritance. Or rather, limited versions of these features that are almost as useful. BeyondJava.net has a series of articles on the topics (see method references, lambda expressions, functional programming and closures vs. lambdas). […]

Java 8’s Optional Type, NullPointerExceptions and the Elvis Operator

Posted 4 CommentsPosted in Concepts of programming languages, Groovy, Java 8

Sooner or later every Java programmer is maddened by the notorious NullPointerException. Not only Java programmers, by the way. Probably every JVM programmer is suffering from the problem, and many other languages know similar problems. What makes the NullPointerException so annoying is the fact is essentially a NotImplementedYetException in disguise.

Java 8 – Catalyst for a Superior Language?

Posted Posted in Concepts of programming languages, ECMAScript, Groovy, Java 8, Javascript

These days I’ve read two language-related stories at Lavalobby. The first story I read matched my own experience on the topic. It has also an refreshingly optimistic air. Obviously, the author believes in progress. The second article also had a lot of ideas matching my experience. Thing is, both articles contradict each other. While the […]