| 
			| 
					
						| Asker 
								Гость
 | 
								|  | «  : 09-09-2004 08:08 »  |  | 
 
 Приветствую. Кто-нибуть может привести хотя бы несколько достоинств что-бы переходить с Java на C#. На первый взгляд технология та же, а все носятся с .Net как с писанной торбой, или это рекламный отдел microsoft так постарался. Абсолютно сырая технология, нет никакой кроссплатформенности. В чем основное преимущество? |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| MOPO3 
								Ай да дэдушка! Вах...Команда клуба    Offline 
								Пол:   
								Холадна аднака!
								
								
								
								
								
								   | 
								|  | « Ответ #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 »  |  | 
 
 Дело в том, что C# и .Net вообще продвигают как новую технологию, которой не было и велий MS ее придумал. Но явных отличий от Java, не как языка программирования как такового, а как технологии (J2EE, JavaBeans и т.п.) нет. Есть. Как я уже говорил, в первую очередь это единая языковая среда: общая для всех языков исполняющая система, общая система типов и библиотека классов. Для одиночки большой выгоды от этого может и не быть, а вот мне по работе приходится частенько взаимодействовать с приверженцем Visual Basic'а. Раньше, когда нам нужно было сделать что-то совместно, я должен был подлаживаться под него. Теперь нет: наши объекты свободно взаимозаменяемы. Если бы я выбрал Java, пропасть между нами только выросла бы. Вот это и особенно напрягает. Да и сам С# если присмотреться полная калька с языка Java. Это если плохо присматриваться. В той же степени не калька, что и сама Java - не калька с С++. Я так понимаю, что .NET это просто заимствонная у Sun технология привязанная к программированию под Windows. И основная идеология - это перетянуть Java разработчиков под свои знамена. Это было бы слишком просто. Прежде всего, у технологии Sun нет никаких проблем с работой под Windows, и потому просто заимствовать ее бессмысленно. Кроме того, известна история появления C#: затеянная Sun'ом тяжба вокруг Java привела к тому, что MS оказался вынужден отказаться от ее использования и создать конкурирующую систему. За что боролись... |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Lars 
								Гость
 | 
								|  | « Ответ #6 : 09-09-2004 08:52 »  |  | 
 
 Пока единственный плюс, который явно виден, это возможность писать на разных языках программирования, код при этом компилируется в IL (тоже самое что и байт-код Java). На этом на мой взгляд все преимущества и заканчиваются. На днях протестирую производительность по сравнению с Java, опишу впечатления     P.S. asker это я, пароль на вход не мог вспомнить     |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Dimka 
								ДеятельКоманда клуба    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 »  |  | 
 
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Alex White | 
								|  | « Ответ #11 : 10-09-2004 11:56 »  |  | 
 
 Интересно, а кто-нибуть писал достаточно серьезные проекты на 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 »  |  | 
 
  Саме страшное, что за все удобства приходится платить огромными (по сравнению с C++ кодом) объёмами памяти, занимаемыми приложением. Программы написанные на Java также требуют немало ресурсов, однако потери производительности компенсируются их переносимостью для различных платфом, в этом основное преимущество. У дот нет такого достоинство отсутствует, поэтому остается только удобство разработки - не более того. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Alex White | 
								|  | « Ответ #14 : 10-09-2004 13:42 »  |  | 
 
 Программы написанные на Java также требуют немало ресурсов, однако потери производительности компенсируются их переносимостью для различных платфом, в этом основное преимущество. У дот нет такого достоинство отсутствует, поэтому остается только удобство разработки - не более того. Пусть меня больно пинают если я не прав, но сама платформа .Net изначально задумывалась как средство для написания приложений независимо от ОС (если я правильно понимаю ход мыслей Lars'a ). И сам разработчик может либо остаться в рамках .Net, обеспечив таким образом независимость от ОС, либо завалить все на корню (например, вызвав чтонить из user32.dll). К тому же проблема переносимости кода между различными ОС - это отсутствие .Net Framework для этих осей, а не ограничение полатформы. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Dimka 
								ДеятельКоманда клуба    Offline 
								Пол:    | 
								|  | « Ответ #15 : 10-09-2004 16:35 »  |  | 
 
 Alex White, пинать не будут, но вроде бы она задумывалась в первую очередь как кросс-языковость, а уж потом кросс-платформенность. Кстати, Frameworkи потихоньку на другие платформы создаются, только не скажу о качестве - сам не видел, не пробовал   |  
						| 
								|  |  
								|  |  Записан | 
 
 Программировать - значит понимать (К. Нюгард)Невывернутое лучше, чем вправленное (М. Аврелий)
 Многие готовы скорее умереть, чем подумать (Б. Рассел)
 |  |  | 
	|  |