История изменений
Исправление
Legioner,
(текущая версия)
:
какие неудачные решения в джаве?
Generics type erasure, bloated JDK, java.util.Date, кривая XML-библиотека, нет ко(нтра)вариантности шаблонов, нет иммутабельных интерфейсов в стандартной библиотеке коллекций, checked exceptions, nullable типы, мутабельность по умолчанию. Это только то, что сходу в голову пришло. Что-то пытаются исправлять, но получаются половинчатые решения: то же API для работы со временем в Java 8 — переизобрели хорошо, но теперь в стандартной библиотеке два API. Причём JDBC, JSTL и куча сторонних библиотек поддерживают старый, так что от него никуда не деться, придётся на ровном месте рожать кучу конвертаций туда-сюда-обратно.
Исправление
Legioner,
:
какие неудачные решения в джаве?
Generics type erasure, bloated JDK, java.util.Date, кривая XML-библиотека, нет ко(нтра)вариантности шаблонов, нет иммутабельных интерфейсов в стандартной библиотеке коллекций, checked exceptions, nullable типы. Это только то, что сходу в голову пришло. Что-то пытаются исправлять, но получаются половинчатые решения: то же API для работы со временем в Java 8 — переизобрели хорошо, но теперь в стандартной библиотеке два API. Причём JDBC, JSTL и куча сторонних библиотек поддерживают старый, так что от него никуда не деться, придётся на ровном месте рожать кучу конвертаций туда-сюда-обратно.
Исходная версия
Legioner,
:
какие неудачные решения в джаве?
Generics type erasure, bloated JDK, java.util.Date, кривая XML-библиотека, нет ко(нтра)вариантности шаблонов, нет иммутабельных интерфейсов в стандартной библиотеке коллекций, checked exceptions. Это только то, что сходу в голову пришло. Что-то пытаются исправлять, но получаются половинчатые решения: то же API для работы со временем в Java 8 — переизобрели хорошо, но теперь в стандартной библиотеке два API. Причём JDBC, JSTL и куча сторонних библиотек поддерживают старый, так что от него никуда не деться, придётся на ровном месте рожать кучу конвертаций туда-сюда-обратно.