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.

Posted by Matthias at 23:24.22. Comment: blog@mernst.org

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?

Posted by Matthias at 9:42.06. Comment: blog@mernst.org
Edited on: 2006-11-15 9:43.50

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.

Posted by Matthias at 8:20.22. Comment: blog@mernst.org