Внесу свої 5 копійок в холівар Java vs. C #
Одним з принципових відмінностей C # від Java є ключове слово virtual - необхідність ручного декларації віртуальних функцій, тобто функцій пов'язують runtime. У Java всі функції (за вирахуванням природно статичних) віртуальні. А в C # це треба декларувати і ще стежити за тим в якому класі вони перекриваються (override).
Кому як, а Java саме через це мені здається більш чистою і зрозумілою. Звичайно, можна і посперечатися :)
відповідь дан 24 Січня '12 о 14:27
Якщо ви добре знаєте C # і не з чуток знайомі з так званим language-agnostic programming, то має сенс відразу прочитати кілька книг по Java серії in-depth.
Я свого часу зачитувався Effective Java.
Ну а далі все вже на ваш розсуд, одного більш-менш адекватного open-source проекту цілком повинно вистачити, щоб остаточно закріпити отримані знання.
Також рекомендую уважно вивчити ті чи інші приклади хороших проектів. мені наприклад дуже подобається, як написаний Google Guice.
відповідь дан 23 Жовтня '11 о 12:34
Складність переходу буде полягати не в освоєнні мови а в вивченні технологій, фреймворків. У .Net все в єдиному екземплярі, в світі JAVA багато фреймворків, документації російською майже немає. Заходиш в книжковий магазин і бачиш, що по C # .Net є ВСЕ російською! а по Java тільки конструкції мови. = Так, що я б не радив. Пливіть за тим течією по якому вже пливете;)
відповідь дан 24 Квітня '12 о 9:21