Pull to refresh

Comments 148

Перевод, конечно так себе, а вообще статья по делу, всё верно.
Исправьте пожалуйста, «примечания». Annotations — аннотации, именно под таким имени их знают в мире java
хороший обзор, как не печально вы правы по большей части
предсказуемый расклад, учитывая что .NET и C# были изначально задуманы как конкурирующая технология Java JVM, а учитывая что этим занимаются спецы из крупнейшей софтверной компании в мире, с годовым доходом в $60 млрд и достаточными инвестициями.
Досадно то что это все заточено под ОС windows.
есть конечно проект www.mono-project.com
А у IBM $100 млрд. и что? Добавить Google, Oracle, SAP — выйдет ещё больше.
Я согласен. MS — не крупнейшая. Но ее очень видно. Они много делают, чтобы оставаться на виду. Они множество идей воруют. Но реализация все-таки часто становится не хуже, а чаще — лучше, чем оригинал.
правильнее сказать — заимствуют.

идеи не подвержены воровству согласно всем законам об авторском праве.
Нет, конечно же нет, по закону все хорошо. Законы защищают корпорации чаще, чемо отдельных людей. Вспомним ту же RIAA.
Но про данный случай мы-то знаем всю правду, %username% :) Помните ролик где сравнивали интерфейс висты с macos? Да примеров много.
патенты на рюшечки МакОС им достались вместе с покупкой 40% акций apple в свое время.

Почитайте поподробней о «том славном времени» :)
как раз таки из софтверных — мс крупнейшая компания.

И представьте теперь если они все то что MS Research делает притворяли бы в жизнь и шли впереди прогресса?
Большая часть прибыли бы уходила в антимонопольный комитет.
Оно и сейчас то постоянно засуживают, притом что МС специально держится исключительно догоняющей и развивающей позиции…
По поводу языка — Java всегда была стабильным языком, языком не для экспериментов. В текущее время появилась мода на fluent syntax, поэтому-то c# выскочил вперед.

Но блин, чувак убивается по синтаксису, но забивает на имхо гораздо более важные вещи, такие, как поддержка, комьюнити, общественные политики, текущую code-base, зрелость разработчиков. Странно все это.
Взять хотя бы рынок вакансий в настоящее время — в основном это Java, а не c#. Потому что «свободный» enterprise пока еще не готов доверять ms.

Однако красивый синтаксис — это одно, но тот же m$ кладет с прибором как на альтернативные реализации CLR, так и на языки — например, старательно обходит молчанием Nemerle (синтаксис которого куда более мощен, чем c#), продвигая F#. В M$-сообществе никогда не появилось бы Scala, потому что это плохо повлияло бы на mainstream с точки зрения маркетинга.
Для Microsoft основное это бизнес, вот и происходит там все из-за маркетинга. Огромные деньги вкладываются в рекламу того же c# среди разработчиков и других их собственных технологий.
А для Sun и Oracle основным является что-то диаметрально противоположное?
Microsoft как-то более агрессивен в этом плане, возможно потому что денег больше, наверное как раз изза этого
Про $ я ответил выше. А с Java — это «региональное», в России её действительно двигают слабо, в отличие от США, Индии, Китая.
Хз. Но факт остается фактом — MS по-стахановски херачит релиз за релизом, не глядя на кастомеров.

Я еще к .net 3.5/3.6 не успел привыкнуть, тут уже 4.0 на носу и команда загорелых гребцов вовсю перепедаливает компилятор c# 5.0 на сам c# (наверное, в преддверие гигиенических макросов).

Пусть оглянется на enterprise — много где стоит net 2.0 и никто с него не собирается слезать. С 1.1 слезли только потому, что саппорт закончился. Куча интересных проектов, которые могли бы быть крайне востребованы, пускаются в «типа» опенсорс, где благополучно забываются, или душатся, или не продвигаются вообще. Где Linq2Sql? Где MS Velocity? Удивительно, что ASP.NET MVC еще движется.

Странный маркетинг. Честно.
Linq2Sql получит массу усовершенствований в .net 4.0, Velocity развивается точно так же как и MEF, оба близки к релизу
не понимаю какие претензии к этим инструментам?
К самим инструментам как инструментам никаких претензий совершенно. Вы, наверное, меня не совсем поняли.

Претензии вот какого плана: что, кластер-кеш стал нужен только с net4.0? (MS Velocity) А если нет, то где он был раньше? А msbuild? А TFS? Unit-тесты? MSUnity — много примеров крупных проектов?

По моим сведениям, Linq2Sql, например, сочиняется по остаточному принципу — основная разработка идет в направлении EF, к сожалению :(

Просто создается ощущение, что программиста на .net хотят видеть леммингом — хер тебе, а не нормальные инструменты: что дали, тем и пользуйся — сиди, притаскивай SQL DataSource на форму, расставляй галочки. Я не спорю, что студия — отличная IDE; но на ней все не заканчивается.

Вот как-то так.
Velocity можно было использовать еще год назад, я еще тогда про него писал на хабре
habrahabr.ru/blogs/net/26776/

интересно что вам мешало его использовать

ваши сведения про Linq to sql не верны, изменений хватает на новый релиз
damieng.com/blog/2009/06/01/linq-to-sql-changes-in-net-40

Entity Framework тоже развивается и это радует

каких инструментов вам не хватает? почему вы не используете NHibernate? Linq NHibernate?
пока я все еще не понимаю ваших претензий
>> Velocity можно было использовать еще год назад
Можно было использовать (CTP) и production-ready — это, согласитесь, разные вещи.

А я как раз использую как раз NHibernate и Linq2NHibernate, а в качестве кеша — SharedCache. Только что из них поощрено M$, про что было написано в официальном источнике?

Пока что все, что я видел — «такое же, но другое», особенно EF — апологеты MS еще и пытаются «опускать» NHibernate, расписывая, как он плох в сравнении с EF, не удосужившись даже им (NH) попользоваться.

Castle Monorail, например, был придушен тем, что главнй разработчик перешел в M$. А через некоторое время по странному совпадению вышел Monorail от MS — ASP.NET MVC.

Еще раз говорю — никаких претензий к инструментам :) Пользуюсь и радуюсь
>> Можно было использовать (CTP) и production-ready

статус CTP 3 еще не говорит о том, что релиз сырой, или вы сталкивались с багами? я сказать ничего не могу, разворачивал только в целях изучения и тестирования
Так не я же решаю, а заказчики, владельцы платформы/ландшафта.

Или у вас по-другому — вы ответственный за выбранный технологический стек? Если да, то финансово вы тоже ответственны за обнаруженные дефекты?
> Где Linq2Sql?
Он уже давно входит в .Net
.Net 3.5 внутри тот же .net 2.0 + пара новых библиотек.

На самом деле есть только 3 версии CLR:
.Net 1.0/1.1
.Net 2.0/3.0/3.5
.Net 4.0

Linq2Sql развивается. Но есть еще EF.
Velocity сейчас CTP3, готовится CTP4 и я думаю с релизом VS2010 Мы получим и релиз Velocity.

И кстати — где тут опенсорц? Ни MVC, ни Velocity, ни EF или Linq2Sql не является опенсорцем. Все разрабатывается внутри но под пристальным прислушиванием к коммунити.
Привет, neuro )

Это я знаю. Но мне пофиг, что там с академической точки зрения внутри.

Просто смотрите: net 3.5 SP1 уже не совместим с net 3.5 — посмотрите на список изменений. Если я юзаю 3.5 — мне нужно ставить везде 3.5. Да, я знаю, что с шутками и с матом его можно поставить на 2.0. Но для enterprise парка такое надо?

Далее, чтобы писать для .net 2.0 — нужна студия 2005. Чтобы для 3.5 — 2008. .net 4.0 — 2010.
Вы думаете, что моя главная цель при выпуске продукта — поскорее перейти на новую студию?

Опенсорс — ну, положим, MVC Contrib вам ни о чем-то говорит? )
Вы можете все используемые библиотеки в .Net 3.5 sp1 включить в вашу программу и так ее распространять.
Все будет работать под .Net 2.0

Не переходите на новую студию, никто не заставляет, подключайте библиотеки и используйте в старой.
Помимо MS Drag-n-Drop Forms есть еще куча Another Way ;-)
Или переходите но пишите под старый FW (2008, 2010 позволяет настраивать таргетинг).

MVC Contrib это экстеншены и дополнения к MVC Framework :)
«This is the contrib project for the ASP.NET MVC framework. This project adds additional functionality on top of the MVC Framework»
www.codeplex.com/MVCContrib

Типа как в свое время ASP.NET Ajax Control Toolkit.
>> под пристальным прислушиванием

Во-первых, фраза порадовала, поставаюсь запомнить :)

Во-вторых, по крайней мере по отношению к EF это не совсем так. Достаточно а) посмотреть на resolution по непринятым фичам в EF («мы этим не пользовались, потому и вам не надо») б) увидеть, что все в EF делается _не_ так, как в NHibernate, несмотря на то, что Hibernate — это дефакто стандарт на легковесную JPA.

Иногда кажется, что сделать «не так как в Hibernate» — это одна из основная целей разработчиков EF. Другая цель — сделать так, чтобы с EF нельзя было работать руками с нуля: только при помощи тулов и мастеров.
Это их way :)

а это просто холивар поклонников и противников NHibernate, встревать не буду ;-)
Что вы понимаете под «зрелыми разработчиками»? Это опыт или что-то еще? Если опыт — то .net живет с 2000 года, разработчики есть, сторонних компонент уже тоже хватает (хотя опенсорс решений значительно меньше, еще, там же не было комьюнити apache :) ).
Из-за бугра в аутсорсинговые конторы СНГ приходит достаточно много заказов, так что не сказать, опять же, это «региональное», как говорил Scala.
И, опять же, не сказать что МС полностью кладут на сторонние реализации. Они сотрудничали с mono-комьюнити как минимум для того, чтоб допилить moonlight.
А вообще да, политика интересная. Шума много, прогресс в.нет несется как Су-35; я думаю, все это направлено на привлечение все новых и новых разработчиков. Мол, смотрите какие мы шустрые! Мы вам дадим больше чем кто бы то ни было! Только купите нашу новую VS 2010 за $999.90.
А вот в среде enterprise да, пока мало кто решается использовать. Есть, конечно, sharepoint, штука сильная. Но, опять, делать для юник-систем (а в такой среде они часто используются) проект на mono мало кто решается…
>> то .net живет с 2000 года,

В каком году появилась студия, пригодная для Enterprise? В 2002. Отсчитывайте с этого момента. Да, я помню, как vc6 еще пытались прикрутить к этому делу. Полноценная среда появилась в 2002, и не раньше. И это при том, что в 1996-1997 г java уже умела JIT (java1.2, у некоторых типа IBM даже с 1.1.7), т.е. даже отмазки по поводу performance не прокатили бы.

Итого считаем — .net ~7 лет. java ~13 лет. Я даже продолжать не хочу — не в пользу .net будет :) По той причине, что java была hype, и все старались освоить, а c# — нет: ну поделие, ну java от m$, чего нового. Я не зря писал про догоняющего — такова его судьба.

Вам так скажу — пока .net на всех парах догонял java в плане технологий — это было круто, M$ реально пер как бульдозер, думал, что делает и делал это качественно: настолько качественно, что в .net 3.5 в интернировании строк откатились к решению, принятому в .net 1.1; а 2003 студия была настолько хороша и сбалансирована для своего времени, как никто другой.

Теперь что я вижу, так это непонятные попытки объять необъятное.

Субъективно? Да :(
он уже там давно) просто черезе 5-6 лет, про яву забудут окончательно)
Аналогичный вопрос. Отчего я вижу разные графики на обоих ссылках?

А вот графики на TIOBE хотя бы можно объяснить логически. Например, резкий скачок Питона, после того как на нем стал ваять Гугл.
Графики разные — динамика одна. Отличаются Job-сайтами, по которым берётся статистика.

То есть графики TIOBE вы предлагаете объяснять постами в блогосфере? Никакого скачка вакансий по Python не произошло, а если так — то какой прок от этого индекса?
Зачем далеко ходить, к буржуям; достаточно просто опросить hr-ов в своем городе. Мне (мск) говорят, что > 80% — java, < 5% — c#, остальное — остальное :)

Репрезентативно? По-моему, еще как :)
Вероятно сливает C++ & C# туда же.
хороший у вас источник, вдохновляет

Java


C#
Ну если мерить по этим трендам, и считать рост и падение линейными и актуальными (если для обоих, то это справедливо), то c# перевалит через java где-то году к 2025-2030 :)

Т.е. в обозримом будущем либо не перевалит, либо что-то с случится, что тренды не отражают
Интересно, каким образом скажется на популярности Джавы покупка Sun Ораклом? Боюсь, что не самым лучшим :(
Почему же? У Sun дела шли не самым лучшим образом последнее время, а Oracle работает на результат.
Ну что ж. Успехов им в таком случае :)
на джаве разрабатывать намного дешевле — большинство сред бесплатны и опен-сорсны, огромное количество различных библиотек и фреймворков
часто слышу, что у java много библиотек. значит ли это что в .net библиотек и фреймворков мало? вам каких библиотек в .net не хватает?
JMX, например :)
Первое недоступно в Mono :( Это не CLR instrumentation, а Windows.

Статью №2 конечно читал, она у меня в закладках; Но там опять же, хитрожелтый выверт через COM: нате вам интерфейсы, ключи реестра, переменные окружения, остальные потроха и е%итесь сами: нужна сеть — придумайте сами, нужна авторизация — придумайте сами. Кроме того, тема сисек MBean не раскрыта.

NetMX пробовал, не понравился — слишком бездумно скопирован и ужасно сыр, даже не альфа :(

Устойчивого бесплатного решения нет. О платном тоже не слышал.
Да хотя ба Hadoop, Red5, Lucene, Eclipse, Android — такие же открытые и бесплатные, пожалуйста.
Dryad, делает то же самое что и MapReduce, Hadoop
research.microsoft.com/en-us/projects/Dryad/

Hadoop-Sharp
code.google.com/p/hadoop-sharp/

MapReduce.NET
www.developerzen.com/2009/05/06/introduction-to-mapreduce-for-net-developers/

Lucene.NET
incubator.apache.org/lucene.net/

про Eclipse и Android непонятно, что вы имеете в виду. Есть Mono под Andriod и MonoDevelop.

C Red5 не знаком, зачем нужен Flash Server на .net слабо представляю, в .net есть куча инструментов для работы silverlight в любом виде
Вы «для галочки»?
Hadoop-Sharp * требует от C# разработчика знания Java при любой потребности залезть внутрь — не релевантно.
Lucene.net * без коммитов уже 2 года.
Eclipse * я имею ввиду возможность(+ используя огромное количество созданных плагинов) выпустить Flash Builder, Zend Studio, SAP NetWeaver Developer Studio, etc. Monodevelop до этого далеко.
Red5 * видео-сервер, видеоконференции(SL даже работать с веб-камерами/микрофонами не умеет вроде бы). Бесплатный. Открытый.
Android * понятно, что есть Mono. Но OHA & Google поддерживают развитие именно Java как основного средства разработки. И если вы хотите сделать Android-based phone вашим C#-разработчиками с Mono придётся учить Java.

Dryad что-то не открывается у меня, как и весь ресёрч. Видно у провайдера моего что-то. Посмотрю.
В википедии про Dryad вообще пишут что это C++.
DryadLINQ generates Dryad computations from the LINQ Language-Integrated Query extensions to C#.
Ну сам-то он на C++. То, что вы тут(+ выше и ниже) пишете — любой может найти в гугле за минуту. Дело ведь в зрелости вещей. А в .NET-мире то, что делается не в MS/Novell — конкуренцию составить не может.
какая разница на чем он? инструмент доступный в .net разработке, пусть хоть не python
речь то идет про факт наличия или отсутствия инструментов/библиотек/фреймворков
Да в том, что если вы ПО ставите не чтобы в блоге рассказать как вы Хеллоу Ворлд запустили, а по настоящему используете в работе рано или позно возникает потребность залезть внутрь: для расширения или для нахождения бага.

Python? Ну вот я как-то трахался с Trac, в итоге бросил — потому что лезть в код не смог/не захотел. Было бы на Java — думаю исход был бы другим.
Поверх Visual Studio можно делать свои решения ;)
А продавать? 100$ + лицензия на VS? Вот поэтому Adobe, IBM, Zend, SAP и прочие выпускают свои IDE на основе Eclipse.
Из FAQ
— Сколько будет стоить оболочка Visual Studio?
— Оболочка Visual Studio будет распространяться бесплатно в составе пакета SDK для Visual Studio, начиная с момента выхода пакета SDK для Visual Studio 2008. Разработка и развертывание приложений, построенных на основе оболочки Visual Studio, будут осуществляться без отчислений от продаж.

Решения на базе VS и интегрирующиеся с VS можно посмотреть здесь msdn.microsoft.com/en-us/vsx/dd632442.aspx
Еще можно поискать в галерее visualstudiogallery.msdn.microsoft.com/en-us/
Ну как бы забудем, что надо купить Windows + Visual Studioю А плагины? Могу ли я переписать часть C# профайлера VS? Или он закрыт? А фреймворк для редактора под поддержку динамических языков есть? Или может плагины для всех VCS от Git до Mercurial, которые я могу включить в свой продукт? Ну и всё это OpenSource & Free конечно?
Ну мы тут сейчас начнем «бабка за дедку, внучка за бабку, кошка за жучку»… и мешать все в одну кучу…

Я правильно понимаю, что единственный выход — пользоваться Linux и Eclipse?
Для студенческих/академических нужд, а также для стартапов Windows и VS можно получить бесплатно.

Профайлер для VS закрыт. Скажите, а Вы часто переписываете профайлеры под Java?

Что Вы понимаете под «фреймворк для редактора под поддержку динамических языков»? Возможности Visual Studio Shell можно посмотреть тут msdn.microsoft.com/en-us/vsx/bb856491.aspx.

Для систем контроля версий/исходников:
code.google.com/p/gitextensions/ — Git
sharesource.org/project/visualhg/ — Mercurial
www.visualsvn.com/ — Subversion
ankhsvn.open.collab.net/ — Subversion

Кажется, часть из этого действительно OpenSource и Free :) (Ну и как всегда «вам шашечки или ехать»?)

:)
> Я правильно понимаю, что единственный выход — пользоваться Linux и Eclipse? Для студенческих/академических нужд, а также для стартапов Windows и VS можно получить бесплатно.

Ну речь не о студентах естественно.

> Профайлер для VS закрыт. Скажите, а Вы часто переписываете профайлеры под Java?

Как раз вот сейчас пилю JDT(и компилятор, и профайлер).

> Что Вы понимаете под «фреймворк для редактора под поддержку динамических языков»?

www.eclipse.org/dltk/ — грубо = возможность создания ide(автокомплит, базовый рефакторинг) для динамических языков малой кровью(определением граматики).

> Ну и как всегда «вам шашечки или ехать»?

На Java бесплатно с шашечками =)
Для коммерческой разработки — можно бесплатно для стартапов или Express-версию.

Если говорить об использовании Visual Studio Shell, то на его базе можно делать как независимые (отдельные) проекты (например, редактор под конкретный язык), так и интегрирующиеся в уже установленную Visual Studio. Сама по себе VSS бесплатна, никаких отчислений не требуется.

Примерно так, например, сделана среда разработки под Zonnon (http://www.zonnon.ethz.ch/), Python (http://www.codeplex.com/IronPythonStudio — OpenSource), Ruby (http://www.sapphiresteel.com/Ruby-In-Steel-New-Free-Edition), PHP (http://www.jcxsoftware.com/vs.php).

Про профайлер — круто! Если не секрет, вы для себя разбираетесь или вносите изменения?

Для добавления новых языков есть т.н. Language Services (http://msdn.microsoft.com/en-us/library/bb165099.aspx). Возможности редактора, которые можно получить из IDE можно посмотреть по ссылке в предыдущем ответе.
В рамках проекта NetBeans развивается субпроект Generic Languages Framework (Project Schliemann). Благодаря ему, в NetBeans возможна разработка программ на скриптовых языках Javascript и PHP.

Параллельно развивается
GSF — Generic scripting Framework для поддержки работы NetBeans с языками PHP, Ruby, Erlang, Groovy, Python, Fortress и Scala.
Да, неплохо. Хотя не опенсорсно и не кросплатформенно (ну хоть какие-то аргументы у меня должны были остаться ;).

Изменения, чтобы использовать его с Groovy.
Да, про IBM забавно… Это все равно что сказать «вот поэтому Microsoft, Rational Rose (до поглощения IBM), ILOG (IBM), Intel, JetBrains, Electric Cloud и многие прочие выпускают свои расширения или IDE на основе VS».

:)
Ну не сказал бы что вы перечислили common-use библиотеки.
Eclipse = Visual Studio Shell
Android = Windows Mobile (не надо плеваться, я верю в WM7)

Вообще неправильный подход — выбрать Java-specific библиотеки и сказать «а вот в C# нету!». Разные платформы — разные средства, верно?
Верно.

Однако что из Hadoop, Lucene, Red5 — java-specific?

Дело не в том, что c# плох — дело в том, что он незрел. И еще лет 5 будет таким.
Но он сам виноват — он выбрал роль догоняющего, и теперь никак не может перехватить инициативу.
когда в java появится expression trees и linq позовите. как язык C# перегнал Java уже достаточно давно
бибилиотечная база может быть и отстает, хотя я недостатка в инструментах не наблюдаю и никогда не сталкивался с нехваткой чего-то.
Так а зачем это в java? В Scala и Groovy это есть, пользуйтесь — зачем тащить это в язык, где это нужно не так часто?
:) а я linq пользуюсь ежедневно
вообще, предлагаю прекратить флейм, история рассудит. надеюсь оба и java и .net будут жить и развиваться параллельно
>> :) а я linq пользуюсь ежедневно
А я на .net 2.0 :)

P.S. Есть прекратить трындеть!
а я недавно горевал, что конвариантность генериков повяится только .net 4.0 и его еще ждать надо, мне этого уже не хватает, сидеть на 2.0 вообще печально наверное :)
Nemerle и Boo реально спасают :)

Кстати, почему M$ молчит про Nemerle — потому что он куда более user-friendly, чем F#?
а что MS может сказать или сделать? есть куча языков под .net, куча институтов и энтузиастов реализуют свои, тот же Boo, Cobra… MS не создает их потому и молчит. F# — разработка MS о нем они говорят.
Сказать или сделать — примерно так же, как Apache Foundation, который берет под свое крыло интересные проекты.

Тем не менее, MS знают о Nemerle настолько, чтобы утащить Камила (бывший гл. разработчика Nemerle) к себе в MS Research, «обезглавив» проект :)
ну судя по wiki над проектом трудился чуть ли не целый институт с кучей людей
неужели так много зависило от одного человека? :)
А к кому претензии? К Microsoft (ай-яй-яй, как она плохо поступила, пригласив Камила в MSR) или к Камилу (ой-ой-ой, какой он негодяй, что перешел в MSR)? Или к обоим? Или у Камила не было выбора? Или он не имеет права сам решать, чем ему заниматься?
Поищите, к чему претензии — я уже писал.

Apache way — найти годный проект и развить; заодно пройдет обкатку энтузиастами и не только.

Microsoft way — найти годный проект и, «выкупив» главного разработчика, выпустить свое «такое же», но другое. Monorail, Nemerle — самые свежие примеры.

В случает с NHibernate — другое: всячески пытаются противопоставлять свою разработку. Посмотрим, как будет с Velocity — NCache так просто не сдастся :)
Когда в C# появится хотя бы близкое подобие переносимым кросс-платформенных драйверов для баз данных и инфраструктура наподобие JDBC, встроенной в JRE, то позовите.
Как там с производительностью? Пишут, что вместо ADO.NET для нескольких сотен одновременно подключающихся к СУБД клиентоов лучше использовать нативную ADO.
Факт плохого масштабирования приложений с постоянным соединением известен давно. Соединение с парой клиентов обслуживается приложением хорошо, 10 клиентов обслуживаются хуже, 100 – много хуже…
ADO.NET пропагандирует как раз работу с не постоянным подключением, подключились, получили что нужно, отключились, работаем с данными. В нужный момент подключились и внесли изменения.
JDBC уже сколько лет имеет различные доморощенные (и не только) пулы соединений и отсоединённые наборы данных. Тем не менее, изначально не страдало нехваткой ресурсов даже при множественных прямых соединениях.
Ну как сказать выбрал — C# появился когда рынок был прочно занят Java, так что кроме как догонять — выбора не было. Но согласитесь, как шустро догоняет — если дает повод сравнивать себя с Java? )

Только вот не зрел не C# (как язык — он гораздо красивее, удобнее и технологичее Java) — не зрела скорее отрасль и community. Но им палки в колеса ставят как могут — за Моно бы радоваться и поддерживать, так нет — всякие параноики призывают отказаться — дескать, МС всех засудит.

PS А в двух словах — какова роль Hadoop и как он мне как разработчику может помочь? На сайте настолько абстрактные и безликие слова — что МС позавидует
Не знаю насчет абстрактности: wiki.apache.org/hadoop/
Hadoop = MapReduce + DFS. Позволяет раздавать кластеризуемые задачи на множество узлов, а потом собирать результат (компонент MapReduce). Благодаря DFS позволяет хранить аццкие количества данных без заморочек с реальной FS и прозрачно обращаться к ним из всех узлов сети Hadoop.

Разработчики выбрали Java, несмотря на то, что их склоняли к c++ (java кагбе медленно работает)
Знаем мы, откуда пошёл C# — его разработчик ушёл из Delphi, не доделав версию 3.0.

Опять же, отстутствие checked exceptions — больная пята ObjectPascal, на которую вот уже скоро пятнадцать лет нарываются разработчики производных продуктов, вынужденно использующих библиотеки небезопасным способом.
Visual Studio Shell — я выше уже написал про плагины к VS. Я говорю о White Label Product.
WM стоит денег вроде бы? И про лицензию я не в курсе.
Не библиотека, но все равно не хватает: maven. Вообще не представляю как без maven можно большие многомодульные проекты создавать.
NMaven это плагин для Maven(Java). Byldan статус Alpha с последним релизом в прошлом году.
byldan — последняя альфа версия от 16 декабря 2008. Последний коммит имеет ту же дату. В тракере зарегистрировано целых 17(9 открыто) багов. Репозитариев я не нашел. Дополнительных плагинов тоже не обнаружил. Документации практически нету. Проект мертвый.

nmaven — последний коммит 10 месяцев назад. Проект находтся в инкубаторе. Последняя активность судя по джире 19 ноября 2008 года.

Вы сами то этим пользуетесь или хотя бы верите, что этим можно пользоваться?

ну, есть еще uppercut.pbworks.com/
вообще речь не про точные копии, а вообще про наличие или отсутствие библиотек. я работаю на .net и не вижу нехватки в инструментах, все что надо есть, инструментов — масса
Речь про популярные продукты. Uppercut — разрабатывается с мая и имеет 13 сообщений в форуме.

Maven — стандарт в Java мире. Есть компания, которая оказывает по нему консалтинг. Adobe имеет плагины для Flex, которые позволаяют собирать Flex-проекты вместе с Java.
А Вы чем пользуетесь для компиляции, сборки проектов, запусков тестов, если не секрет?
Так вариантов много
CruiseControl.NET + Nant / MSBuild
или — TFS
у меня проект не такой большой, чтобы использовта специальные средства
хватает Visual Studio и nUnit для всех задач
да что вы все со своими аналогами! Запорожец аналог BMW. И что?
Есть известные real-world проекты?
Я был бы безмерно рад, если бы появилась возможность проекты .net 4.0 писать в VS2008.

VS2010 совсем другой весовой категории — жуткий монстр :(
мне VS2010 нравится, правда beta 1 стабильна не на столько чтобы я на нее перешел, но саму по себе студию и ее изменения — одобряю
Запуска Silverlight-апплетов в Firefox 3.5 под FreeBSD [amd64].
Нет?
А почему?

Для сравнения: Java-апплеты на этой платформе запускаются и работают. Демки издают звуковые файлы и воспроизводят Java3D-сцены.

Что-либо близкое к SweetHome3D на .NET есть? Это довольно простой редактор 3D-сцен.
>Запуска Silverlight-апплетов в Firefox 3.5 под FreeBSD [amd64].
это как забраться на Эверест и кричать: «Где здесь общественный туалет?»

>Что-либо близкое к SweetHome3D на .NET есть?
А зачем ему быть? Это какой-то особый показатель?
>это как забраться на Эверест и кричать: «Где здесь общественный туалет?»
Почему это?

>А зачем ему быть? Это какой-то особый показатель?
Ну я знаю пять-с-половиной настольных приложений на .NET (и сотни приложений на Java), так пусть ещё одно будет. Почему нет?
>Почему это?
Ну как минимум то, что у пользователя не будет стоять FreeBSD.

В жизни, если бы не Eclipse, я не пользуюсь никаким Java приложением, почему то под руку даже не попадались. Вы просто так же хорошо осведомлены в .net приложениях, как я в java =)
>Ну как минимум то, что у пользователя не будет стоять FreeBSD.
Откуда такой вывод? PC-BSD набирает популярность довольно быстро.
Я не хочу выразить неуважение или недолюбливание в фре/bsd, но я это слышу уже не первый год.Вы вообще реально представляете себе пользователя на фре, пользователя? не админа.
Не первый год пеарится Linux.
PC-BSD довольно молодая система, созданная для пользователей, а не админов.
Я не считаю себя просветленных в linux, но где же это продвижение? Если комьюнити толкает вперед ubuntu, то это заметно.
Поймите, Linux — это абстрактное ядро, в каждом дистрибутиве оно своё, пересобранное с теми или иными фичами от разработчика дистрибутива. Линуксы несовместимы между собой, независимо от того, что они пиарятся как и Windows. А значит нет пути у Linux кроме как к ~3% барьеру на десктопах.

PC-BSD — это FreeBSD, с одним и тем же ядром и системным окружением, которое работает в том числе и на серверах. В PC-BSD поверх системы всего лишь user-friendly-окружение из удобных GUI-инструментов и знакомых приложений. Всё. Обеспечивается максимальная совместимость (унификация) не то что в внутри линейки FreeBSD, но даже с бинарным кодом Linux (linuxulator в ядре ОС, /usr/compat/linux — системное окружение Linux на основе Fedora 8 или 10). Это значит, что сама система готова для массового внедрения. Да та же iXsystems внедряет её у себя в регионе продаж.
как минимум Properties появятся семерке. и еще всякие вкусности.
Какой то детское сравнение. Да, в с# можно писать код, которым можно будет поразить(озадачить/напугать) коллегу. Но как это влияет на скорость разработки/качество продукта? Никак, все эти лишние «некрасивые» строки кода любая нормальная IDE подставит за долю секунды, а читаться они будут на порядок лучше.
С# как язык на текущий момент явно нестабилен, это его достоинство и недостаток одновременно. В серьезных проектах надежней написать(сгенерить иде) пару лишних строк, чем понаделать багов/проблем саппорту, используя очередной новомодный оператор. А уже в несущественных частях(юнит-тестах, например), можно и развлечься, но в этом случае хватает и в мире java возможностей, тот же groovy просто великолепен для такого рода задач.

IMHO, Java комьюнити идет в правильном направлении, нужно развивать технологии, а синтаксис и так позволяет сделать всё что нужно.

Согласен полностью, что в серьезных проектах хорошо использовать «ограниченную» java, а в тестах использовать groovy или clojure.

А вообще «ограниченность» java считаю только преимещуством, потому что это своего рода, если хотите, философия этого языка. А для всего остального есть куча других языков под JVM на любой вкус.
Ну… Никто ведь не говорит, про языки платформы JVM в целом, речь именно о Java, как о главном стержне всего в том мире.

Язык ОЧЕНЬ консервативен, людям становится неудобно работать с базовыми его фишками.
>людям становится неудобно работать с базовыми его фишками
Говорите за себя, а людям удобно :)
Да я не за себя, на Яве давно не писал уже. Кроме того, мне откровенно не нравится C# и все, что с ним связанно.

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

Вся беда в том, что им не «не удобно», им просто не интересно.
Блин, симпатии мои однозначно на стороне Java-community, как гораздо более открытого и изначально не зашитого на единственной группе ОС.

Однако, не могу не признать, C# развивается с невероятной скоростью, не запариваясь на чистоту парадигмы и прочие мелочи, впитывая лучшее отовсюду.

Может быть, Комитет действительно перебирает с консервативностью? Может быть, действительно облегчить язык, внести в него удобные мелочи, которые не касаются архитекторов, но так радуют программистов?
Развитие C# решается единолично компанией Microsoft.

Развитие Java решается JCP: Sun + Oracle, SAP, IBM, SpringSource, RedHat, Google, Apache, Eclipse… — для всех них Java является основой бизнес-модели, поэтому её развитие как языка протекает медленнее. Но я не думаю, что это плохо: сколько было последнее время шума про Ruby, Erlang помните? И где они теперь? Да где и были…

Java это не только язык, это сообщество, это платформа, это куча компаний с огромными вложениями, куча открытого ПО, курсы в университетах. Для тех, кто хочет попробовать другие языки есть Groovy, Scala, Clojure. Можно конечно и в Java напихать возможности ФП, динамических языков — но надо ли это? Я лично против.
Я бы не стал позиционировать приведенный вами довод как достоинство — по нынешним временам это, пожалуй, даже недостаток. Согласитесь — чтобы куче крупных контор договорится о стратегии довольно сложно, а уж сделать это быстро и оперативно — куда там. С другой стороны, Microsoft, хоть и монстр по сути, в последнее время удивляет гибкостью.
~150 JSR уже приняли за всё время. До сих пор как-то договариваются и всё работает. Есть и альтернативные решения(Spring, Hibernate — новые стандарты пишутся сейчас с них). Просто в стандарт попадает только то, что действительно надо, не вызывает вопросов у других членов JCP и уже обкатано.
Собстно, это основное преимущество JCP — решение принимает не кто-то один командирским голосом, а целая куча клиентов технологии, и уже после того, как опробуют и отладят.
UFO just landed and posted this here
Ну да, сидеть как все в сторонке и ждать, когда надеться избранный, который переведет. Пожалуйста, переведите одну статью для хабра, а потом посмотрите на то, что напишут про качество вашего перевода ;)
Проблема не в переводах, а в том, что вы недостоачно изучили русский.
Если вы заметили, я отлично общаюсь на русском языке, чаще всего соблюдая грамматику.
UFO just landed and posted this here
Получается, что человек пишет о языках программирования, а при этом не владеет грамматикой своего родного языка. Что же он напрограммирует? В очередной раз убеждаюсь в том, что важны не столько языки, сколько те люди, что на них пишут.
Если вы заметили, то редакторов и переводчиков у книг несколько, так как переводя текст приедается, и можно легко не заметить своих же ошибок. Я скажу проще, меня не интересует ваше мнение о моих переводах.
UFO just landed and posted this here
Ребята, я не собираюсь с вами вести перепалку, я буду и дальше переводить, принимая во внимание допущенные ошибки.
UFO just landed and posted this here
Спасибо! Целью моего комментария было именно это. Успеха вам с переводами, и вообще.

Кстати, я извиняюсь за опечатку в моем предыдущем комменте — сегодня купил новую клавиатуру, привыкаю :)
И воцарил мир в ихней социальной сети ;)
ихней — ведь такого слова нет ;)
правильно — «ихенной»
Исправьте, пожалуйста, название книги.
«C# in Nutshell» значит «C# вкратце», а «Nutshell in C#» — глаза режет.
«in Nutshell» — в скорлупе, изнутри.
Ну как можно назвать «кратким» справочник «Java in а Nutshell» Дэвида Фланагана… :)
Может быть, в данном случае Вы правы.
Однако в тексте эта фраза как правило значит «в кратце». Вот, например, у Троэлсена:
In a nutshell, an interface is a collection of abstract members a class or structure may support.
Java и С# языки для разработки корпоративных приложений. Эти приложения просто напросто работают с СУБД. И все. Больше от них ничего и не надо и разницы между ними толком нету. (Имею реальный опыт работы с обоими языками)
Sign up to leave a comment.

Articles