| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Религиозные войны > Что выбрать .NET или Java |
| Автор: bezNika 28.3.2009, 15:52 |
| Добрый, ....! Коротко о проекте: Комплекс для математических вычислений (статистическое моделирование, графы). В будущем предполагается кластерная вычислительная система. Интерфейс пользователя - WEB. Планируется база данных пользователей, результатов вычислений. Ожидания: Хочется услышать предложения по технологии реализации такого проекта - "около Java" или "около .NET". Имеется ввиду оценка комплекса систем: language, database, WEB-services, WEB-nterface. http://forum.vingrad.ru/forum/topic-253232/kw-net-java.html Заранее всем благодарен! |
| Автор: Partizan 28.3.2009, 16:14 | ||
С/С++ Добавлено через 2 минуты и 3 секунды И на будущее: Java - не тормозит |
| Автор: bezNika 28.3.2009, 16:48 | ||||||
Да, согласен для этой части проекта - вариант хороший. А что со второй? Удобно ли использовать С/С++ для реализации WEB систем? Что на счет WEB-services?
исходя из http://www.developers.org.ua/forum/topic/463 это не совсем так. Затраты времени на вызов виртуальных методов (таковые все методы Java) несколько больше, чем на вызов статических (такое возможно в C#). Верно ли это утверждение или нет? |
| Автор: Partizan 28.3.2009, 17:22 |
| bezNika, "Java - не тормозит" - это иронично-саркастическое крылатое выражение =) |
| Автор: NightmareZ 28.3.2009, 19:20 |
| Это вопрос религии. |
| Автор: Partizan 28.3.2009, 19:31 | ||
bezNika, затраты времени на вызов виртуальных методов всегда больше затрат на вызов невиртуальных... |
| Автор: Skynin 28.3.2009, 19:44 | ||
http://www.ibm.com/developerworks/ru/library/j-jtp1029/index.html Медленнее и вызов метода по интерфейсу. НО! Оптимизация быстродействия осуществляется совсем другими способами, потому что (проигрыш)выигрыш от этих факторов суммарно, в реальном приложении - мизерный. В случае же больших мат. вычислений (перемножений каких-нить матриц, и т.п.) прибегают вообще к древнему структурном стилю - библиотеки из статик классов с статик методами, и методы эти, не как принятно в ООП - чем поменьше, а наоборот, с множеством условных переходов, вложенных циклов, потому что даже обычный ассемблерный call - становится затратным. Так что не по тому критерию Вы пытаетесь сравнить. Исходя из "Коротко о проекте" я бы так поставил вопрос: 1. Критична ли привязка к технологиям Microsoft - или не критична? Например: нужна ли лицензионная чистота используемого ПО, есть ли деньги на это. Кластерные системы - на чем дешевле строить, на инструментарии Microsoft или ином? и т.д. 1а. Расширение проекта возможно до какой степени: есть ли в планах собирать кластера на специализированных блэйд серверах, или из Sony Playstation (например как http://rptaha.blogspot.com/2008/09/sony-playstation-3.html) 2. Коллективы программистов пишущих на чем - более доступны, дешевы. Какие уже есть программисты? P.S. А "Java - тормозит" потому что: 4. "Дурная слава" держится дольше, и хоть давно уже 6ая версия джавы и JITкомпиляция в нативный код - "слава" Java 1.0 не забывается 4а "Java - интерпретатор" - а про ключики запуска подобные -Xcomp, -XX:CompileThreshold=ххх и не знают (см. выше п.4 о молве) 5. Судят не по замерам нужных алгоритмов в сравнении, а глядя на приложение с GUI на Swing'е (который действительно вальяжен в перерисовке, кроссплатформность даром не дается) |
| Автор: Vasay 28.3.2009, 20:10 | ||
| language - ИМХО небольшой перевес в сторону C#. database - Впринципе, тут особой разницы нет, оптимальным решением считаю PostgreSQL - мощная и бесплатная БД. WEB-services, WEB-nterface - по разнообразию и мощности фреймфорков j2EE вне конкуренции. Библиотека математического кода - западные университеты любят Java. Не раз натыкался на реализации весьма редких вещей именно на java. Стоимость ПО - Среды разработки Java бесплатны, апликейшен сервера тоже и работают на бесплатном linux Но в итоге
Будет решающим фактором. |
| Автор: Idsa 28.3.2009, 21:57 | ||
| bezNika, прежде чем создавать подобную тему, стоило крепко погуглить. Вот, например, неплохая холиварная подборочка: http://www.veridicus.com/tummy/programming/java_vs_csharp.asp Назвать ее актуальной не возьмусь. Так, например, там нахваливается Swing по сравнению с WinForms (и в этом я с авторами полностью согласен). Но ведь .NET'чики уже используют 3-й релиз WPF, с которым Swing и рядом не стоял. Кстати, в Java есть какой-нибудь графический фреймворк, сопоставимый с WPF? Еще говорится:
Видимо, в Java с этим делом все совсем плохо, ибо я бы не решился назвать "advanced and well designed". WCF - другое дело. Да и про LINQ ни слова... Как .NET'чик, работавший одно время с Java, могу сказать, что, имея за пазухой WCF, WPF, C# 3.0, LINQ и т. д. буду писать на Java только под дулом пистолета при необходимости кроссплатформенности. Кстати, радуют interoperability-средства между .NET и Java. Так, понадобилось недавно использовать Java-проект под .NET - ikvm переварил его и выдал мне .NET-сборку без лишних вопросов. |
| Автор: Partizan 28.3.2009, 22:10 | ||
Idsa, Есть. JavaFX |
| Автор: Unlocker 28.3.2009, 22:12 |
| Skynin, Vasay, по существу с вами согласен. Для того, чтобы решить какие решения принимать, нужно составить смету требований и затрат. 1) Если охота связываться с мелкомягкими, то ASP.NET, ADO.NET, MS Windows, MS SQL Server но это довольно дорого, тяжелые расчеты на винде я бы проводить не стал (ИМХО) 2) если решено делать под Linux, то J2EE, PostgreSQL быстро (работает) и бесплатно, если все нормально настроить 3) Oracle + PL\SQL + Oracle Forms & Reports платформа мощная и не привязанная к оси, позволяет создавать распределенные сервера и поддерживает J2EE минус только в том, что бесплатно только некоммерческое использование основных релизов (Enterprise, Standard, Standard One). если придет идея все это продавать, по-хорошему, надо покупать лицензию на СУБД. Возможно повторюсь, но все здесь решает смета требований и расходов. |
| Автор: Idsa 28.3.2009, 22:38 |
Я так понимаю, JavaFX - это попытка догнать .NET с их WPF? Слышал (на Хабре по-моему) о сырости JavaFX. Интересно, можно ли считать JavaFX на данный момент полноценным конкурентом WPF (все-таки WPF - уже достаточно зрелый продукт)? |
| Автор: Vasay 28.3.2009, 23:56 |
| Idsa, В данной теме было четко сказано про веб интерфейс. А вы про WPF. По моему скромному мнению, вряд ли что будет удобней и прозрачней чем Spring+Velocity. Spring под .net существует, но это только порт Java-вского. Есть ли что-то подобное Velocity под .net - не знаю. LINQ удобная вещь. Но появилась она недавно. Не думаю что ответ на Java заставит себя долго ждать. К тому же есть беты. С другой сторон как там с Entity Framework-ом? Он уже достаточно стабилен чтоб его применять в коммерческих приложениях? А то, насколько я знаю, даже после релиза багов там хватало (в то время, как Java-овские Hibernate и TopLink давно успешно применяются). Но опять - все это холливар. Исходить надо из экономических соображений. К которым относится не только (в скорее, не столько) стоимость ПО но и стоимость содержания программистов и админов. оффтопик Unlocker (глядя на вашу подпись) - если бы Шекспир был программистом, он не задавал бы таких глупых вопросов, так как превосходно бы знал, что 2b | ! 2b = ee |
| Автор: Vasay 29.3.2009, 18:27 | ||
Idsa,
Не надо так шутить Да и вообще, я считаю, что большинство веб фреймворков жутко неудобны для пользователя. п.с. Кстати, написав "language - ИМХО небольшой перевес в сторону C#." - я имел ввиду именно LINQ. |
| Автор: Unlocker 29.3.2009, 22:55 |
| На мой взгляд, человеку, создавшему тему, нужно только разложить в порядке важности те или иные свойства будущего приложения. Например, так: 1) стоимость (например, упор, по возможности, делать на OpenSource) 2) железо (параметры будущих кластеров, их количество, мощность, ОС) 3) нужна ли переносимость кода 4) как будет работать БД: распределенно или на одном сервере 5) ну и т.д. Идеальных, т.е. подходящих под все случаи, решений не существует, а, значит, надо выбирать оптимальный вариант. При этом надо будет чем-то поступиться - только пытающиеся помочь наверняка не знают чем. Предлагать варианты - это хорошо, но для окончательного выбора, считаю, надо определяться с критериями первостепенной и второстепенной важности. И тогда наше уважаемое сообщество уже сможет рассуждать в наиболее конструктивном ключе. |
| Автор: TechProg 8.4.2009, 21:38 |
| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!С-Р-О-Ч-Н-О!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ООО «ТехноКонсал-ИС» приглашает на работу начинающих специалистов в технологиях .NET (ASP.NET); MS SQL Server. Испытательный срок 2 месяца. З/п в испытательный срок 30 000р. Полный раб.день, пн-пт. Готовы обучать начинающих программистов. Тел.8-903-7794958 (Василий). С 9 до 22. Офис фирмы м.Электрозаводская |
| Автор: Vasay 8.4.2009, 22:32 |
| TechProg, Во первых - для найма специалистов на этом форуме отдельный раздел. Во вторых - на планете Земля, кроме Москвы есть и другие города, там тоже живут люди и они тоже посещают этот сайт. |