So I've been reading a bit about this battle between Microsoft and Sun ... I mean between C# and Java ... about something I think is called a delegate. The above URL describes them in the context, strangely, of Visual J++. From what it looks like to me, all that C# really has that Java does not is the ability to, effectively, have one method per callback interface.
My company is not really an eXtreme Programming shop, but we are somewhat inspired by it. We are currently doing a project in which some people are involved in pair programming. I recently witnessed an amusing situation involving this practice. The team that works at the other desk in my office found a bug which they could not figure out.
Don't I have anything good to say about anything? Well, yes I do. I have learned to love Python. Which means I should not be a stickler for strong typing, and therefore autoboxing should be right up my alley.
Have you noticed that I do a lot of complaining? Today I am wondering why Java has no direct support for alpha levels on windows or non-rectangular shapes. Every windowing system in the world seems to support this. Sun has done a good job moving toward support of multiple monitors, unusable screen real estate, and so forth.
Is there anything in the world Sun does not consider a "core" API? Just like everyone else in this Brave New World of broadband Internet and gigabyte hard drives, they figure nobody will mind downloading 14 Meg.
Return with me, if you will, to the early days of Java. It was hot. People started using it when it was alpha; by beta, there was at least one book out, Netscape supported it, and people were already using it on their web sites.