I hate Java it has the following reasons:
- it turns programming into a typefest
- it assumes that a project has an architect and that architect can plan everything right from the start
- it's slow
- it's highly inconsistent, int v.s. Integer
- it pretends to be strongly typed, still you get a bundle of runtime errors, that it can't protect you from, also you have the Object....
I hate C# because, it's: Java + bloat.