Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: C# vs Java  (Прочитано 19880 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Asker
Гость
« : 09-09-2004 08:08 » 

Приветствую. Кто-нибуть может привести хотя бы несколько достоинств что-бы переходить с Java на C#. На первый взгляд технология та же, а все носятся с .Net как с писанной торбой, или это рекламный отдел microsoft так постарался. Абсолютно сырая технология, нет никакой кроссплатформенности. В чем основное преимущество?
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #1 : 09-09-2004 08:10 » 

Asker, а почему C# ? Для программистов на Яве есть в дот нете J#  Ага
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Alf
Гость
« Ответ #2 : 09-09-2004 08:13 » 

Независимость от языка разработки в первую очередь.

Ну и всякие приятные мелочи, вроде свойств и т.п., без которых прожить в общем-то можно, но с ними комфортнее.

А переходить IMHO лучше не следуя моде, а когда есть серьезные претензии к старой платформе. Если все задуманное удается достаточно легко делать на Java- какой смысл переходит на что-то еще?
Записан
Asker
Гость
« Ответ #3 : 09-09-2004 08:20 » 

Дело в том, что C# и .Net вообще продвигают как новую технологию, которой не было и велий MS ее придумал. Но явных отличий от Java, не как языка программирования как такового, а как технологии (J2EE, JavaBeans и т.п.) нет. Вот это и особенно напрягает. Да и сам С# если присмотреться полная калька с языка Java. Я так понимаю, что .NET это просто заимствонная у Sun технология привязанная к программированию под Windows. И основная идеология - это перетянуть Java разработчиков под свои знамена.
Записан
Serega
Гость
« Ответ #4 : 09-09-2004 08:44 » 

Думаю что перетянуть разработчиков не выдет уж слишком кривой .Net что бы тягаться с Java
Лишь одна возможность не декларивовать исключения чего стоит, лично я зачастую понятия не имею какие исключения могут возникнуть в моей програме и даже не пытаюсь этого выяснить, просто в ключевых местах ловлю все и выдаю пользователю
Реально большинство исключений не декрарированно даже в MSDN (типа SEHException), и вылезать они могут в зависимости от положения звезд (порой это настолько веселит, что в ход идут ноги Улыбаюсь )
Записан
Alf
Гость
« Ответ #5 : 09-09-2004 08:51 » 

Цитата: Asker
Дело в том, что C# и .Net вообще продвигают как новую технологию, которой не было и велий MS ее придумал. Но явных отличий от Java, не как языка программирования как такового, а как технологии (J2EE, JavaBeans и т.п.) нет.

Есть. Как я уже говорил, в первую очередь это единая языковая среда: общая для всех языков исполняющая система, общая система типов и библиотека классов.
Для одиночки большой выгоды от этого может и не быть, а вот мне по работе приходится частенько взаимодействовать с приверженцем Visual Basic'а. Раньше, когда нам нужно было сделать что-то совместно, я должен был подлаживаться под него. Теперь нет: наши объекты свободно взаимозаменяемы. Если бы я выбрал Java, пропасть между нами только выросла бы.
Цитата: Asker
Вот это и особенно напрягает. Да и сам С# если присмотреться полная калька с языка Java.

Это если плохо присматриваться. В той же степени не калька, что и сама Java - не калька с С++.
Цитата: Asker
Я так понимаю, что .NET это просто заимствонная у Sun технология привязанная к программированию под Windows. И основная идеология - это перетянуть Java разработчиков под свои знамена.

Это было бы слишком просто. Прежде всего, у технологии Sun нет никаких проблем с работой под Windows, и потому просто заимствовать ее бессмысленно. Кроме того, известна история появления C#: затеянная Sun'ом тяжба вокруг Java привела к тому, что MS оказался вынужден отказаться от ее использования и создать конкурирующую систему. За что боролись...
Записан
Lars
Гость
« Ответ #6 : 09-09-2004 08:52 » 

Пока единственный плюс, который явно виден, это возможность писать на разных языках программирования, код при этом компилируется в IL (тоже самое что и байт-код Java). На этом на мой взгляд все преимущества и заканчиваются. На днях протестирую производительность по сравнению с Java, опишу впечатления Улыбаюсь  P.S. asker это я, пароль на вход не мог вспомнить   Улыбаюсь
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 09-09-2004 10:59 » 

но ведь и языки под .NET пришлось переделать - языковые проблемы странны. Какая разница на чём писать программисту? Я на всём, на чём придётся, пишу без особых затруднений. Единственный плюс: что разные части большой программы бывает удобнее на разных языках писать: интерфейс и COM-клиентов на VB, чтобы много не возиться, глубоко влезающее в недра ОС лучше на C/C++ и т.д. Потом в .NET это безболезненно собрать можно.

Но если глубоко системных вещей в приложении нет, то преимуществ перед Java я не вижу. Даже недостаток - отсутствие такой же кросс-платформенности. Нужно, чтобы Framework под все платформы был - тогда будет удобнее. Но на Java уже столько наработок, что не совсем понятно, зачем Microsoft пошла на конфронтацию, вместо того, чтобы сотрудничать с Sun. Денег мало - это понятно, но здравый смысл всё же...
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Lars
Гость
« Ответ #8 : 10-09-2004 10:51 » 

Интересно, а кто-нибуть писал достаточно серьезные проекты на C#? Как насчет производительности Framework, поскольку для Java произвотельность до сих попр остается узким местом.
Записан
DM
Гость
« Ответ #9 : 10-09-2004 11:40 » 

Lars, есть ли какие результаты по сравнению производительности дот нет и java ? Хоть в литературе и писалось немало на этот счет, но интересно узнать непредвзятое мнение   Вот такой я вот
Записан
Lars
Гость
« Ответ #10 : 10-09-2004 11:52 » 

Есть текие данные, например тут http://www.osrc.info/print.php?news.69 и довольно спорно тут http://www.relcom.ru/Right?id=20021030181600
Записан
Alex White
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #11 : 10-09-2004 11:56 » 

Цитата: Lars
Интересно, а кто-нибуть писал достаточно серьезные проекты на C#? Как насчет производительности Framework, поскольку для Java произвотельность до сих попр остается узким местом.

Конечно. И продолжаем это делать. Вот для сравнения есть у меня пример: юзаем The CSharp (C#) Formatter от Semantic Designs, Inc. , так вот по производительности вроде не намного тормознее аналогичного софта под .Net, а что касается GUI - так явно на порядок ниже.
К тому же для .Net потеря производительности  - это не самое страшное. Саме страшное, что за все удобства приходится платить огромными (по сравнению с C++ кодом) объёмами памяти, занимаемыми приложением.
Записан
Lars
Гость
« Ответ #12 : 10-09-2004 12:01 » 

Что касается самостоятельной проверки, я еще не писал серьезный проект на дот нет, поэтому непредвзято сказать трудно. Что касается Java то опыт разработки показывает, что приложение связанное с web работает очень быстро, но как только приходиться с конкретной ОС, то есть использовать локальные ресурсы машины здесь возникают серьезные проблемы. Приходиться использовать JIT компляторы или даже компилировать под конкретную платформу, соответственно вся кроссплатформенность сводиться к нулю.
Хотя разрабатывать крупную распределенную систему на Java одно удовольствие  Улыбаюсь , особенно на концептуальном уровне
Записан
Lars
Гость
« Ответ #13 : 10-09-2004 12:54 » 

Цитата: Alex White
Цитата: Lars
Саме страшное, что за все удобства приходится платить огромными (по сравнению с C++ кодом) объёмами памяти, занимаемыми приложением.


Программы написанные на Java также требуют немало ресурсов, однако потери производительности компенсируются их переносимостью для различных платфом, в этом основное преимущество. У дот нет такого достоинство отсутствует, поэтому остается только удобство разработки - не более того.
Записан
Alex White
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #14 : 10-09-2004 13:42 » 

Цитата: Lars
Программы написанные на Java также требуют немало ресурсов, однако потери производительности компенсируются их переносимостью для различных платфом, в этом основное преимущество. У дот нет такого достоинство отсутствует, поэтому остается только удобство разработки - не более того.

Пусть меня больно пинают если я не прав, но сама платформа .Net изначально задумывалась как средство для написания приложений независимо от ОС (если я правильно понимаю ход мыслей Lars'a). И сам разработчик может либо остаться в рамках .Net, обеспечив таким образом независимость от ОС, либо завалить все на корню (например, вызвав чтонить из user32.dll). К тому же проблема переносимости кода между различными ОС - это отсутствие .Net Framework для этих осей, а не ограничение полатформы.
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #15 : 10-09-2004 16:35 » new

Alex White, пинать не будут, но вроде бы она задумывалась в первую очередь как кросс-языковость, а уж потом кросс-платформенность. Кстати, Frameworkи потихоньку на другие платформы создаются, только не скажу о качестве - сам не видел, не пробовал Улыбаюсь
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines