Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 21.10.2010
Сообщений: 5

C# глазами Java

21.10.2010, 17:49. Показов 1664. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Оригинал с красивыми заголовками и работающими ссылками можно посмотреть на http://telamon.ru/articles/csharpfromjava.html
======================================== =============================
Есть два подхода к сравнению языков программирования: религиозная война и «a нам всё равно». Я постараюсь втиснутся между ними и начну с общего. Ключевой особенностью и Java, и C# является автоматическое управление памятью. Конечно, оба языка из-за этого совершенно не подходят для написания ядра операционной системы, но зато существенно упрощают разработку прикладных программ, потому что:

остаётся меньше возможностей для memory leak;
не надо писать код для освобождения памяти;
можно написать f(g(x)) и не думать об освобождении памяти от результата g(x).

Итак, мы имеем две массовых платформы для разработки программного обеспечения, на каждой из которых работают миллионы программистов; за каждой стоят мировые софтверные гиганты, но ни одна не имеет революционных преимуществ.

Влияние Microsoft
Исторически Java появилась раньше .NET и потихоньку захватывала рынок не только серверного ПО, но и GUI-приложений для корпоративных клиентов, потому что C++ сложноват для рисования формочек, Visual Basic не похож на язык для крутых девелоперов, а Borland инвестировал в Java больше, чем в Delphi.

Но чем больше приложений на Java, тем меньше потребность в Windows, поэтому Microsoft решил не поддерживать Java, а создать .NET, чтобы стимулировать разработку программ для Windows. Кончено, какая-то кроссплатформенность у .NET есть, но, с точки зрения Windows, .NET стремится стать частью операционной системы, как Internet Explorer. Карьера .NET-разработчика предполагает тесные партнёрские отношения с Microsoft, включая использование среды разработки Visual Studio, базы данных MS SQL и системы контроля версий Visual SourceSafe.

Нужно отдать должное маркетингу Microsoft, многие компании предпочитают думать о программном обеспечении не выходя за рамки видения Microsoft. Иногда из-за этого приходится откладывать в сторону любимую Java и брать в руки C#. Хорошая новость в том, что накопленный в Java опыт помогает и в .NET, а развитие .NET стимулирует прогресс Java.

CVS vs. VSS
Большинство Java-разработчиков привыкли к CVS, после этого переход на Visual SourceSafe в сочетании с реализацией интеграции с ним в Visual Studio и концепцией solutions-projects воспринимается весьма болезненно. Справедливости ради стоит отметить, что переход на CVS в большом проекте теоретически возможен, но вызовет крайне негативную реакцию людей, привыкших к VSS.

В этом месте можно было бы немного помахать кулаками на тему «почему CVS лучше VSS», но я этого делать не буду, потому что CVS тоже не идеален, и есть такой проект как Subversion, который открыто позиционируется в качестве замены CVS. Microsoft тоже не считает VSS своим флагманским продуктом и готовит ему замену в виде Visual Studio 2005 Team System.

Влияние VB.NET
Программы на многих языках могут быть скомпилированы в байт-код для JVM, но практически абсолютно всё программное обеспечение для платформы Java написано именно на Java. Для .NET примерно с равной вероятностью проект может разрабатываться как на C#, так и на VB.NET, причём очень часто используются сразу оба языка.

Понятно, что C# и VB.NET практически не имеют между собой отличий, кроме синтаксиса, но вносят раздробленность в сообщество разработчиков. Даже если использовать только на C#, то в результатах поиска по документации всегда будут путаться материалы, относящиеся к VB.NET. В десктоп-версии MSDN можно настроить фильтр по языку программирования, но всё равно, на мой вкус, документация по Java значительно удобней и понятней.

Разработка GUI
Разработка GUI на C# являет типичным примером RAD, как Delphi. На Java GU e for Java Developers
http://msdn.microsoft.com/vstudio/java/gettingstarted/csharpforjava/

2. J2EE fundamentals for .NET developers
http://www-106.ibm.com/developerworks/java/library/j-roadmap1/
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.10.2010, 17:49
Ответы с готовыми решениями:

Сайт глазами робота
Наткнулся на такой сервис как сайт глазами робота ввел свой сайт и получил такую лабуду ...

robots.tx глазами Я и хостер
Решил проверить правильно ли Я понимает мой robots.txt через свою форму. Не случайно. После нового года было падение сервера и из индекса...

PHP глазами хакера
Где ошибка кто может подсказать ? <form action="index.php" method="get"> Имя: <input name="username" > Пароль: <input...

9
3 / 3 / 7
Регистрация: 19.10.2009
Сообщений: 225
25.10.2010, 12:17
По-моему, хорошо написано. Я уже три года на Java программирую и около года - на C#. С#, на мой взгляд, отличный язык, но я не стал бы утверждать, что он круче Java. Большинство его наворотов относятся к удобству программирования (индексирование, свойства и т.п.), некоторые совершенно, на мой взгляд, излишни (virtual, override и т.п.), многие при неправильном употреблении могут затруднить понимание кода (написание собственных операций приведения, перегрузка методов и т.п.). На мой взгляд люди, утверждающие, что C# лучше Java не правы. Просто он предоставляет больше свободы (повышая этим степень энтропии, то бишь беспорядка).
А вот что касается платформы - Java в этом смысле намного превосходит .NET по возможностям. Кроме того, многоязыковая поддержка в .NET ни к чему, кроме путаницы, не приводит - в этом я с автором статьи абсолютно согласен.
Лично я убежден, что .NET Java не соперник, хотя многие со мной будут несогласны. Автор статьи абсолютно точно подметил, что .NET задумывался как часть Windows. Именно в таком ключе ее и надо воспринимать.
0
0 / 0 / 0
Регистрация: 11.02.2010
Сообщений: 111
25.10.2010, 12:44
Для людей, переходящих с билдеров и вижуалов на дотнет, .NET канешь покажется супер бест. В джаве ведь тоже есть указатели на методы, поюзать их каждый может, но надо ли это? Спорный вопрос.....

Кстати, Coresh DRAW! , а что тебя заставило перейти на дотнет? - твоя компания направила тебя туда либо ты самостоятельно изучил и работу поменял?
0
0 / 0 / 0
Регистрация: 27.10.2010
Сообщений: 12
28.10.2010, 13:36
По теме:
http://xpoint.ru/forums/thread/26825.xhtml#261261
0
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
28.10.2010, 13:57
2Даниил Алиевский:
По терминологии... Не отвечая на поставленный там вопрос. На всякий случай, если вдруг не знаешь, то функции, что ты описал -- currentTimeMillis() и System.identityHashCode() -- это т.н. недетерминированные функции (non-deterministic). Из названия становится понятно, почему у них такое поведение. К константности слова в памяти отношения не имеет.
0
0 / 0 / 0
Регистрация: 27.10.2010
Сообщений: 12
28.10.2010, 14:06
Собственно, можно определение понятия 'недетерминированный'? И пояснение, почему identityHashCode - недетерминированная функция?

Хотя вроде бы это оффтопик...
0
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
28.10.2010, 14:50
Пожалуй, да, identityHashCode() -- детерминированная, а вот new -- нет. Определения не дам, боюсь быть неточным. Думаю, интуитивно определение этого понятия ясно.
0
0 / 0 / 0
Регистрация: 27.10.2010
Сообщений: 12
28.10.2010, 14:54
Не очень-то ясно. Функция { return new String('a'); } детерминированная или нет? Что интересно, когда я пытался аксиоматически определить понятие неизменяемости, мне потребовалось одновременно ввести понятие детерминированности метода. Но это все офф...
0
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
28.10.2010, 15:05
Строго говоря, нет, недетерминированная. Хотя состояние возвращаемого объекта детеминировано и неизменяемо. У меня вопрос: в связи с чем возникла потребность 'разложить по полочкам' такие вещи? Думаю, придется вводить понятие презентации сущности. Напрмер, упомянутый на xpoint'е объект File -- representation файла. Эта representation неизменяема, хотя сама представляемая сущность изменяема. То, что возвращает new, тоже является презентацией. Она может быть неизменяемой, когда сам объект нет.
0
0 / 0 / 0
Регистрация: 27.10.2010
Сообщений: 12
30.10.2010, 20:03
Не очень хочется 'распыляться' по двум форумам. Давайте в xpoint.ru продолжим :-)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.10.2010, 20:03
Помогаю со студенческими работами здесь

Robots.txt глазами Яндекса
Вот ввожу http://www.yandex.ru/cgi-bin/test-robots?host=bis-n.ru и что я вижу? Объясните, плс, а то что-то мне кажется, что это...

Бэк линки глазами Гугла....
Сорри, если вдруг эта тема уже поднималась.....обещаю перечитать все тут...однако сейчас очень мучает вопрос: почему Гугл не видит бэклинки...

Уникальный дизайн глазами Яндекса
На сколько я знаю, не рекомендуется использовать одинаковые шаблоны дизайнов для сайтов. За это можно получить санкции от Яндекса....

index.php - глазами поисковика!!! ?
1. Сделал сайт на пхп. в индекс.пхп всего 7 строчек с вызовом разных функций которые "собирают" страничку. Вопрос как на...

Посмотрим на Yandex глазами пользователя
Вот давно меня мучает такой вопрос, почему так сложно найти полезную информацию в серпе Яши, как Сеошник я вроде понимаю как все работает и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru