Нет, ну Перл-то я люблю :-) Это только Джава с Питоном корявые.
У Джавы мне корявость видится в-основном в следующем:
1. Очень кривые и уродливые API от Сана (тут порадоваться можно только тому, что Апаче постепенно создает более человеческих).
2. Отстуствие нормального множественного наследования, отчего постоянно пишут Interface и InterfaceImpl.
3. Кривая сборка мусора. Сжирает всю память сколько дали (не запускает сборку мусора пока не сожрет всю память), а если дать недостаточно - дохнет. Явный вызов gc.collect() - это не вызов сборки, а так себе, совет, который она обычно ингорирует. Поэтому получается невозможно очистить висячие ссылки. .NET на аналогичный запрос всегда честно чистит память.
4. Кривой формат библиотек, jar в сжатом формате, отчего они даже теоретически не могут быть разделяемыми. И отчего программы очень медленно запускаются.
5. Кривой подход к коллбекам (в отличие от delegate в .NET).
6. Прочие дебильные выдумки, начиная от ant и maven и заканчивая dependency injection, за которые надо сразу больно по голове бить.
no subject
У Джавы мне корявость видится в-основном в следующем:
1. Очень кривые и уродливые API от Сана (тут порадоваться можно только тому, что Апаче постепенно создает более человеческих).
2. Отстуствие нормального множественного наследования, отчего постоянно пишут Interface и InterfaceImpl.
3. Кривая сборка мусора. Сжирает всю память сколько дали (не запускает сборку мусора пока не сожрет всю память), а если дать недостаточно - дохнет. Явный вызов gc.collect() - это не вызов сборки, а так себе, совет, который она обычно ингорирует. Поэтому получается невозможно очистить висячие ссылки. .NET на аналогичный запрос всегда честно чистит память.
4. Кривой формат библиотек, jar в сжатом формате, отчего они даже теоретически не могут быть разделяемыми. И отчего программы очень медленно запускаются.
5. Кривой подход к коллбекам (в отличие от delegate в .NET).
6. Прочие дебильные выдумки, начиная от ant и maven и заканчивая dependency injection, за которые надо сразу больно по голове бить.