Каждый выпуск Swing с 1.3 по 1.6 что-то ломал для нас.
Проблема JDBC уже упоминалась, но существующий код работал.
С 1.5 до 1.6 было изменение в поведении Socket, которое нарушало работу клиента Cisco.
Конечно, были введены новые зарезервированные ключевые слова.
Самым большим, что я считаю непростительным для Sun, был System.getenv (). Он работал в версии 1.0, а затем был объявлен устаревшим и изменен, чтобы выдавать ошибку на всех платформах под довольно сомнительным оправданием, что у Mac не было системных переменных среды. Затем Mac получил системные переменные среды, поэтому в 1.5 он не был рекомендован и работает. Для этого нет разумного оправдания. Верните пустой набор на Mac (у Swing гораздо большие проблемы с кроссплатформенностью, если вы хотите позаботиться об этом уровне согласованности между платформами) или даже на всех платформах.
Я никогда не соглашался с тем, чтобы они отключили эту функцию, но изменить ее так, чтобы она выдавала ошибку, было просто критическим изменением, которое, если бы они собирались это сделать, им следовало бы просто полностью удалить метод.
Но на самом деле с 1.0 до 1.1 их меньше беспокоила обратная совместимость. Например, они отказались от модификатора «частный защищенный».
Итак, в результате каждая версия меняется настолько, что требует тщательной оценки, поэтому вы все еще видите много вопросов о 1.4 здесь, о SO.
person
Yishai
schedule
01.11.2009