"Ez a pattern matching hasznos valamire?"
Mi napi szinten használjuk éles projekten, szóval valamire biztos jó. :)
"Más: az ilyen interface nélküli nyelvekben hogy oldasz meg egy pluginszerű architektúrát?"
Ha típusos a nyelv, akkor továbbra is elég egyértelmű. Van típusa a tuple-öknek, függvényeknek, stb. Ez a probléma fennáll egyébként javascript esetén is.
"Egyébként most hogy ez a lambda téma bejött a java-ba, szerintem a kód éppen hogy kezd kevésbé olvashatóbb lenni."
A java8-as lambda kifejezések lényegében olyan anonim osztályok, amik egy metódussal rendelkeznek. Innentől kezdve csak a felesleges sallangot dobták ki. Példa (ami áthúzott, az nem kell, ami aláhúzott, az eddig nem kellett):
Runnable r = new Runnable() {() -> {
@Override
public void run
System.out.println("Hello, World!");
}
};