Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2013, 16:13   #1
Izobara
Форумчанин
 
Аватар для Izobara
 
Регистрация: 26.12.2012
Сообщений: 227
По умолчанию C# vs Java. Чего вам не хватает в одном, что есть в другом?

Собственно, сабж. Хотелось бы узнать мнение опытных разработчиков. Только не надо говорить о "Mono, которое тупит на Linux" и что-то в этом же духе. Чисто удобство разработки.
"I believe I can fly" - C++, "What do you want from me" - Delphi, "Yesterday" - Pascal, "Let it be" - C#... Программисты-музыканты-полиглоты поймут
Izobara вне форума Ответить с цитированием
Старый 27.02.2013, 16:27   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

По недолгому опыту общения с Java, отсутствие беззнаковых типов оказалось большим и неприятным сюрпризом. С другой стороны, в её синтаксисе есть очень хорошая фишка - ограничение множества бросаемых методом исключений средствами языка. В C# этого местами хочется.
Abstraction вне форума Ответить с цитированием
Старый 27.02.2013, 16:52   #3
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Кроссплатформенности не хватает в C#, не смотря на то, что она заявлена. (то, что он работает на разных виндусах это нихрена не кроссплатформенность).
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 28.02.2013, 14:17   #4
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
По недолгому опыту общения с Java, отсутствие беззнаковых типов оказалось большим и неприятным сюрпризом. С другой стороны, в её синтаксисе есть очень хорошая фишка - ограничение множества бросаемых методом исключений средствами языка. В C# этого местами хочется.
А поподробнее, что это за фича такая?
the_deer_one вне форума Ответить с цитированием
Старый 28.02.2013, 16:44   #5
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
А поподробнее, что это за фича такая?
Ключевое слово throws. После этого, если я правильно понимаю, компилятор будет следить, что из метода не бросают ничего лишнего. В C# это есть только на уровне тега комментариев exceptions.
Abstraction вне форума Ответить с цитированием
Старый 28.02.2013, 17:50   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
Ключевое слово throws. После этого, если я правильно понимаю, компилятор будет следить, что из метода не бросают ничего лишнего. В C# это есть только на уровне тега комментариев exceptions.
плюс он будет требовать обработки исключений.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.03.2013, 00:30   #7
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Плохо, что в яве есть эти дженерики для бедных, не хватает делегатов (правда в этом случае нельзя было бы объявлять метод и поле с одним и тем же именем), плохо, что примитивы не унаследованы от Object. Это отмело бы кучу проблем. Плохо, что всё создаётся в куче и нет подобия структур в шарпе.
В джаве мне нравится наличие checked исключений, что заставляет программиста постоянно думать об обработке исключений (о чем забывают быдлошарпеи и быдлоплюсятники). Ещё нравится наличие типов BigInteger и BigDecimal.
Ну, по поводу того, что нету беззнаковых типов. Обычно это вводит в ступор тех, кто перешёл с плюсов и шарпа. Они привыкли думать "число не должно быть со знаком, значит оно будет беззнаковым", ну это постепенно проходит. Мне лично всегда хватало знаковых типов.
Carbon вне форума Ответить с цитированием
Старый 02.03.2013, 12:51   #8
Mixim
Форумчанин
 
Регистрация: 29.10.2009
Сообщений: 259
По умолчанию

Цитата:
Сообщение от Izobara Посмотреть сообщение
Собственно, сабж. Хотелось бы узнать мнение опытных разработчиков. Только не надо говорить о "Mono, которое тупит на Linux" и что-то в этом же духе. Чисто удобство разработки.
Насчет: "Только не надо говорить о "Mono, которое тупит на Linux"" - Около года работаю с Mono (Gtk#) в Linux (GNOME), никаких особых проблем замечено не было, только маленькие оффициально опубликованные недоработки: не работают приоритеты потоков (не критично, т.к. в реальности этим всем управляет ОС, чтобы никакой зловред не мог повесить систему) и не до конца реализованы отдельные классы, для которых, однако, можно найти работоспособные аналоги.
С Java особо плотно не работал, хотя хотел прошлым летом изучить, но времени не было, однако на сколько мне известно, у людей частенько возникают проблемы с установкой виртуальной Java-машины на Windows (видел целую кучу тем по этой проблеме) - MS делает все, чтобы кроссплатформенность умерла и остался только Windows.
В свою очередь, если не применять Windows-финтифлюшки (WPF и прочее), то программа на C# запуститься под любой ОС, максимум что нужно будет сделать - это поправить зависимости и перекомпилировать.
Еще раз повторю, что с Java плотно не работал, но насколько мне известно и в нем и в C# нет такой вкусной плюшки от C++, как шаблоны (templates). Да, в C# есть Generic'и, делегаты, но это не то
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
Mixim вне форума Ответить с цитированием
Старый 04.03.2013, 11:17   #9
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Ну, по поводу того, что нету беззнаковых типов. Обычно это вводит в ступор тех, кто перешёл с плюсов и шарпа.
Ну, в общем, да. Понятно, что в математическом смысле система типов от этого не становится беднее. В моём случае просто получился очень скверный глюк с char и цветовыми каналами, так что впечатление осталось неприятное.
Цитата:
Да, в C# есть Generic'и, делегаты, но это не то
Другое, но похожее. Возможность налагать ограничение на параметр generic'а вида "поддерживает интерфейс", "наследует классу" - хороша.
Abstraction вне форума Ответить с цитированием
Старый 04.03.2013, 14:53   #10
Blondy
Участник клуба
 
Аватар для Blondy
 
Регистрация: 07.07.2009
Сообщений: 1,385
По умолчанию

Я только начала изучать Яву, так что пока в ранг воинствующих Явангелистов меня нельзя отнести.
Но уже замечено удобство (по сравнение с С#) - очень много из необходимого функционала можно сгенерировать одним нажатием кнопки "Insert Code". Грамотно прописанные поля и - вот, пожалуйста, тебе автоматически создаются конструкторы, геттеры-сеттеры, методы встроенных интерфейсов (для сравнения объектов например). Или допустим сортировка - в С# необходимо постоянно следить, что за тип коллекции ты сортируешь, и не все типы так легко поддаются функции sort. А в Яве написал Collection.sort(имя коллекции) и голова не болит и не надо конвертировать в другие типы коллеции для того, чтобы выполнить сортировку.

Недостаток - очень Java очень капризный в плане отладки, как заартачится - и что ему не нравится, не понятно...Хотя это скорее с непривычки и также зависит от среды.
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan
Blondy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
По моему чего то не хватает ? mixazavra Компоненты Delphi 9 31.10.2012 21:41
Каких возможностей вам не хватает в Дельфи? Sicorski Софт 16 25.11.2008 00:57
Чего вам не хватает в вашем языке? crazy horse Свободное общение 3 02.09.2008 17:25