java — тормозит, да и скучная она
ms — эээ а как же линукс и макось? а еще и телефоны. Сегодня выбор одной платформы — вообще не решение
другое — ога, скажем python+wxwidgets, или c++ и qt, или c++ и boost или что угодно другое что работает быстро и доставляет удовольствие при написании на нем кода
из мелкого: все методы для задания свойств имеют префикс set-, для получения get-.
из крупного: в C# я абсолютно не заметил стройной архитектуры классов. она максимально нелогична для меня.
из примеров: удалить выделенную строку из DataGridView в C# и удалить то же самое из QTableView в qt. никаких DataSource и т.п. не подключено. просто две таблички. поверьте, это не легко в первом случае.
опять же, моё мнение — не истина в последней инстанции, так как могу и ошибаться ;)
из мелкого: у C# есть спец тип для этого «свойство», то есть методов писать просто не нужно
насчет крупного: не могу тут сказать, не работал с этим жлементом
Да просто… Люблю .net.
За синтаксис c#, за весь тот сахар, который в нём есть, за структуру системных неймспейсов, за возможности, за Visual Studio, за Reshaper…
где-то выше, я писал, что моё мнение, не есть истина в последней инстанции.
я вам верю, кому-то нравится msvs, и я ничего против этого не имею. но мне эта ide и в целом платформа от ms не нравится.
а на счет коленей — скорее всего они просто в другую сторону. как у страусов, например.
Выбор должен зависить от задачи. Писать скрипт для озвучивания прогноза погоды через Festival и писать энтерпрайз систему в сотни тысяч строк — разные вещи.
Если же выбор стоит между Java и .NET, то из двух зол выбираю кросспатформенное.
Microsoft только что выпустила Visual Studio
Это будет успешный продукт
Microsoft вообще много успешных продуктов выпустила за последнее время.
Так что результаты очень предсказуемы.
Неполенился — поставил… удивился) Спасибо за совет, действительно много возможностей и + бесплатность. Так что теперь я знаю среду разработки наравне с MSVS
Я безумно люблю Jetbrains и людей там работающих за все что они делают, но вынужден заметить что IDEA как бы тоже не бесплатна, даже для общеобразовательных нужд (хотя и очень дешева), бесплатна она только для работы над опенсорцными проектами, но вы же вряд ли будете участвовать исключительно в таких.
VisualStudio бесспорно очень хорошая IDE. Для C#. И, возможно, для нативного программироания под винду. Но выбирать C# «за MSVS» как-то странно — для любого другого языка есть такие же клёвые среды, а местами и лучше. Для java IDEA или eclipse ничуть не хуже.
Исключительно Java. Кроссплатформенность, open-source развитие проекта, хорошая документация, что еще нужно для счастья?
ps. WPF и Silverlight это далеко не то ради чего стоит смотреть в сторону .NET.
Кроссплатформенность в Java — миф, работает только на проектах типо Hello World… Кроме того, Windows есть у любого платежеспособного клиента. Маргинальные оси — удел жмотов.
Исходники .NET подключаются одним кликом в студии. Документация явно на голову выше.
Продуктивность C# на порядок выше. Java как язык уже лет на 5 отстает. Ни properties, ни event, ни closures, не говоря уже об extensions methods, LINQ, и т.д.
Silverlight — это то, куда нужно сейчас всем смотреть. Это HTML10 уже сегодня.
Пф. Я и сам фанат .NET, но вот то, что Silverlight = HTML10 — это ерунда.
Стилизация в WPF/Silverlight чуть больше может, но сама структура задания стилей — это аццкая чушь по сравнению с CSS.
В Silverlight интересны статические языки, и видео/игровые функции, но для обычной web разработки я его не выберу.
Маргинальные оси — удел жмотов.
Т.е. Mac тоже удел жмотов?
В том-то и дело, что нет больше обычной web разработки на Silverlight… Есть четкий rich verctor presentation layer и контролируемый трафик данных, прозрачным web-deployment, топовая производительность, серьезные тулзы разработки с нормальными отладчиками, языками программирования, кроссплатформенностью (за вычетом маргинальных осей).
Вот еще бы MS уломал Apple на Silverlight, стало бы вообще хорошо.
Это красиво звучит, но у меня и в обычном HTML+JS есть контролируемый трафик данных, прозрачный deployment, нормальные отладчики (в той же студии, например) и поддержка таких маргинальных систем, как iPad и iPhone.
Статических языков нет, это да. Производительность может быть средней, поэтому для игр и rich media Silverlight лучше.
Плюс SL в последней версии поддерживает OOB, но это не пример конкуренции с web приложениями.
По поводу кросплатформенности вы сильно заблуждаетесь. Вот сейчас пишем проект — там уже около 5 Мб чистого исх.кода, не считая интерфейса на HTML, только Java — тестируем на Виндовом сервере, продакшн на Линуксе — за 2 года разработки не было ниодного случая, чтобы что-то работало не так. Кроме того мало кто будет использовать Винды для высоконагруженных систем.
Исходники в Eclipse тоже не сильно сложно подключаются, а уж на документации Spring, Hibernate и прочие вещи грех жаловаться — она очень даже подробна, а если что можно и исходнички посмотреть.
По поводу отставания языка — согласен, но думаю седьмая Java несколько исправит это.
Silverlight — спорная вещь. Большинство людей, которые кричат, что HTML мертв потому что есть Флэши и Сильверлайты на 99% уверенности просто не умеет верстать. Я за HTML потому что он легковеснее, для него не надо никаких плагинов и он более нативен для браузеров.
1) Вы пробовали запустить ваш проект на другом AppServer-е? Сколько человеко-лет понадобится, чтобы добиться того же качества, производительности?
2) Зачем программистам уметь верстать? На то есть дизайнеры…
А дизайнерам наоборот в кайф не заморачиваться над причудами каждого браузера.
HTML — не легковеснее. Попользуйтесь своей web-почтой пару минут, посчитайте трафик. Вы будете удивлены, сколько мусора гоняется туда-сюда, сразу станет ясно, почему придумали AJAX.
3) Т.е. SVG или JS подсистема браузера, которая БЕЗ браузера обновлятся не может, это хорошо. А отдельный плагин, который можно апгрейдить, без калечения браузера и появления новых багов — это по-вашему плохо?
А то, что спецификация CLR это ECMA стандарт, что есть open-source реализации SL для любых платформ — это плохо? Лучше, когда каждый кулик изобретает свой велосипедное болото и его хвалит? (gecko, webkit, v8, presto и т.д.)
Сделать SL нативным для браузеров — это просто происталлить недостающую подсистему. Все.
Пишу на стеке MS, пришлось написать один сайт на Java, взял Struts2, NetBeans,Hibernate впечатление: ужасно неудобно.
Джавистов считают высшим классом и много платят, наверное потому что бы писать эквивалентные(с M$) приложения надо действительно много «перекопать» и много чего делать руками. В то время когда MS много чего делает за тебя, то что в мире Java надо делать мануально.
В мире Java много разных продуктов, многие скажу что это хорошо. Но им никогда не добится той заточенности продуктов одного под другой как у MS.
Опять же, выучил .NET пиши для чего угодно: Windows,Web,Mobile,Embedded, любое устройство. Одинаковые подходы.
C# — Круто
C++ — Стихи на санскрите азбукой Морзе
VB — Просто, но многословно
Java — Неплохо, но не C#
Fortran — ДРВНСТ
Cobol — Еще более многословно, чем VB
вообще все это уже столько раз обсуждалось, что надоело немного.
и опять же, вы сравниваете Java и .NET как платформы или Java и C# как языки программирования?
обе неплохи, а главное переход между ними осуществить куда проще, чем между многими другими технологиями, так что не заморачивайтесь особо.
Все субъективно пытаются доказать, что лучше тот язык и платформа, на которых пишут они.
Я за C#. Популярный для .NET, кроссплатформенный (благодаря ребятам из Mono), набирает обороты, развивается.
Но это не значит, что нужно кидаться какашками в тех, кто не хуже пишет на Java и прочих.
Начинал, кстати, с С++ — наилучшим образом создаст в голове картину устройства компьютера и ОС. (если речь о высокоуровневых языках)
Java или C# и .NET и почему?