Другие языки программирования и технологии

Чем отличаются С# от Джава? (у обоих синтаксис как у си, оба поддерживаю ООП и веб программирование)

И оба кроссплатформенные, как ни странно.
1. В Xamarin Studio на C# можно писать приложения под GTK#. Буковки GTK ни о чём не говорят?
2. В той же Xamarin Studio на C# можно писать приложения, используя специальные плагины Xamarin.Android и Xamarin.iOS. Без комментариев.
3. А в dot42 на C# можно писать не просто приложения под андроид, а 100% нативные приложения под андроид, не отличающиеся от аналогичных приложения на Яве.

Но:
1. В микроволновку, стиральную машину, холодильник, КПК, кнопочный телефон - GTK# не впихнёшь.
2. Xamarin.Android и dot42 платные и стоят зарплаты джуниора, бесплатные версии жутко убогие, а dot42 и платная убогая. Android SDK (Java) бесплатный и не убогий.
3. Xamarin.iOS платный и стоит как макбук. Среда Xcode - бесплатная и обеспечивает разработку не только под iOS но и под Mac - но, правда, поставить её можно только на макбук.
Что целесообразнее - получить возможность писать под iOS или за те же деньги получить возможность писать под iOS и Mac?
(Впрочем, Xcode - это уже не Ява, а С++.)

Таким образом, Java более кроссплатформенная, чем C#.
Но есть у неё два больших недостатка:
1) Плохо подходит для разработки под винду. Это недостаток всех кроссплатформенных библиотек. ОС сильно отличаются друг от друга, многих плюшек винды нет на линуксах и маках, соответственно в кроссплатформенных библиотеках они не реализованы.
2) Крайне высокая ресурсоёмкость получаемых приложений, включая IDE для самой джавы (они же тоже на джаве написаны) . Это уже с кроссплатформенностью не связано. Просто в Oracle - бездельники, которые вот уже сколько лет и не думают ничего толком улучшать, в то время как C# за это время развивался и продолжает развиваться.
Алексей Ганов
Алексей Ганов
8 083
Лучший ответ
и оба кроссплатформенные?
Дмитрий Кличко
Дмитрий Кличко
71 441
В шарпе еще элементы функционального программирования есть