2006-11-30
Finger Activity
We recently celebrated crossing changelist #100000! A great moment to reminisce. We introduced Perforce in 2000 and haven't regretted it once. Fast, reliable, powerful, good support.
I will now reveal my very personal electro-codeo-gram to you:
(p4 changes -u mernst | cut -d ' ' -f 4 | cut -d / -f 1-2 | uniq -c).
I've decided not to read too much into it.
2006-11-15
How Far is Fidji?
Inspired by James Snell: Fidji is deliberately Java-incompatible :-)
There's a few things that would be fun to hack into Java, now that we could actually share it with the world (Hats off to Sun!). I would
- get rid of checked exceptions. They're such a pain. As far as I understand they're purely a compile-time construct, could be easily fixed in Javac and have nothing to do with either security nor VM integrity.
- fill the void. An invocation expression of a method with return type void could be treated as if returning the receiver, enabling cascaded sends. Bean b = new Bean().setA(a).setB(b);
- add type inference for locals: todo := problems.size(); next := problems.removeFirst();
- add reliable closing of iterators in the for-each loop. for(line : File.lines("log.txt")) soutv<TAB>line (try this today without losing a file handle!). I've actually already done this one: patch
- Resource literals. Akin to X.class, a mechanism for compile-time checked references to resources.
If I needn't go to work now I could probably think of many more. The big BUT: these are all futile if no IDE recognizes them ("Das Rote ist gefährlicher Zahnbelag"). I hear NetBeans is javac-based. How much would it take?
What would you do?
2006-11-06
Wrong way
I don't understand all the whining about type erasure. Au contraire, an elaborate compile-time type system without burdening the runtime is most elegant and I wish Java would rather move further into that direction instead of getting reified generics.