Я просто хочу уточнить одну вещь. Это не вопрос, по которому лучше, ту часть, которую я оставляю кому-то еще для обсуждения. Мне все равно. Мне задавали этот вопрос на собеседовании, и я подумал, что было бы полезно узнать немного больше.
Вот те, которые я мог придумать:
- Java "независима от платформы". Ну, в настоящее время можно сказать, что есть проект Mono, поэтому C # тоже можно рассмотреть, но я считаю, что это немного преувеличивает. Зачем? Что ж, когда будет выпущен новый выпуск Java, он будет одновременно доступен на всех платформах, которые он поддерживает, с другой стороны, сколько функций C # 3.0 все еще отсутствует в реализации Mono? Или это действительно CLR против JRE, что мы должны сравнить здесь?
- Java не поддерживает события и делегаты. Насколько я знаю.
- В Java все методы являются виртуальными
- Инструменты разработки: я считаю, что такого инструмента, как Visual Studio, пока нет. Особенно, если вы работали с командными изданиями, вы поймете, что я имею в виду.
Пожалуйста, добавьте другие, которые вы считаете актуальными.
Обновление: Просто всплыло у меня в голове, у Java нет чего-то вроде пользовательских атрибутов в классах, методах и т. Д. Или так?