Он отлично работает оракул
merge into table1 t1
using (select * from table2) t2
on (t1.empid = t2.empid)
when matched then update set t1.salary = t2.salary
Я не знаю о хорошей, четкой диаграмме, но я буду рисковать некоторыми ответами на Ваши вопросы. (Предупреждение - я - разработчик J2EE, и в прошлый раз, когда я сделал Microsoft, программируя его, был с классическим ASP и VB 6. Я не смогу оценить технологии MS, но у меня действительно есть хорошее чувство большого количества эквивалентов Java.)
существует другая область, где я чувствую, что Microsoft вползает перед сообществом Java: они делают некоторые умные инвестиции в функциональное программирование, в то время как люди Java препираются бессмысленно о лучшем способе добавить закрытия к Java. Существуют аналогично некоторые появляющиеся технологии - OSGi, а именно, - для обработки подавляющей сложности, вовлеченной в чистое количество платформ Java там. Так как MS имеет более трудный контроль над их доменом, для них легче иметь дело с их различными компонентами.
И затем существуют человеческие соображения: кого можно найти для работы, какие технологии и какого количества найм для X будет стоить по сравнению с наймом за Y. Но это правда независимо от того, что Вы выбираете.
Hope это помогает!
ItВґs, действительно трудный найти хорошую информацию об этом, еще более трудную актуальную информацию открытия. Большая часть из него о.NET 1.1 или 2.0.
Так или иначе, я предоставлю здесь некоторые ссылки, которые могли бы представлять Ваш интерес:
Hope это помогает! Я буду продолжать обновлять это каждый раз, когда я захожу в некоторую полезную информацию
IMO там являются слишком многими платформами для Java. Та же проблема с десятками дистрибутивов Linux...
Уверенный может сказать то же для.NET, но это просто более ясно. это мой.02
На сообщении rtperson:
.NET имеет NHibernate и iBatis.NET. Не столь хороший как их дубликаты Java, кажется, но достаточно хороший.
На самом деле, существует много проектов с открытым исходным кодом на стороне.NET: Проект Замка (MVC, МОК), NUnit, Spring.NET... И давайте не забывать Моно как реализация с открытым исходным кодом базовой платформы.NET.
Я программист, который занимался разработкой на C++, Java и теперь на C#.
Вот мой ответ на первоначальный вопрос:
WCF = EJBS/J2EE сервер (например, JBoss)
WPF = Swing (JavaFX)
JBoss = Я не думаю, что WCF нужен сервер, просто запускается в .net runtime. Хотя я не уверен в этом, все еще учусь. JVM против CLR: CLR может делать все, что может JVM, но CLR также может: выполнять неуправляемый код, разделять один процесс на несколько логических (AppDomains). Имеет очень хорошую интеграцию с C++ по сравнению с java, CLR просто лучше. Язык c# также лучше, чем java (лямбды, делегирование, деревья выражений, ссылки, структуры, методы расширения, частичные классы, дженерики без боксирования. Они проделали очень хорошую работу!), но работает только на windows.
WF = не знаю, существует ли он, может быть
Linq = в настоящее время не может быть реализован в Java, потому что вам нужны: Лямбды, деревья выражений и методы расширения
ADO.net dataservices: Я не знаю ничего похожего в java, но это может быть легко реализовано. Возможно, это существует в каком-нибудь opensourse проекте.
Проработав оба варианта, вот мой вывод о том, как они соотносятся:
.net проще в изучении, очень даже, но при этом не менее мощный. Причина этого в том, что именование методов в api's более последовательное, решения лучше интегрированы, а некоторые api's разработаны намного лучше (WPF - пример этого, не могу сказать о других api's, все еще учусь). Из-за этого .net-программисты будут стоить дешевле.
Разработка приложения на c# будет в 1,5-2 раза быстрее, чем на Java. IDE (visual studio) лучше. Вы можете расширить ее за 20 минут, без всякого дерьма! Пытаться понять механизмы расширения eclypse - задача не из легких! Функциональность рефакторинга кода Eclipse выигрывает на одной ноге. Visual studio выигрывает на многих других. (Возможно, доступны коммерческие плагины?)
При использовании .Net вам, возможно, придется платить за лицензии, за операционную систему и за IIS. Для базы данных вы можете обойтись MySQL.
Для java вам не придется платить за лицензии. Однако в реальности вам, возможно, все равно придется. Серьезные приложения работают на Redhad или другой несвободной ОС. Веб-сервер может быть полностью бесплатным. Кроме того, этими системами сложнее управлять, поэтому ваш администратор, вероятно, будет стоить дороже.
Я сертифицированный разработчик java (92%), также сертифицированный разработчик веб-сервисов (JSP, сервлеты, 87%) и сертифицированный разработчик веб-компонентов (EJB's, 82%). Я также являюсь сертифицированным разработчиком microsoft (90%) и сертифицированным разработчиком WPF (90%). Экзамены по Java сложнее, чем экзамены по microsoft. Это связано с тем, что на экзаменах по java задается много детских вопросов, не относящихся к делу. Например, как правильно называется метод для сохранения объекта: SaveChanges(), PersistChanges(), EmitChanges() или SendChangesToDatabase(). Любой знает, что знание имени метода не приносит пользы. IDE сама подскажет вам правильное имя. И если у вас действительно есть имена методов, настолько похожие друг на друга, то у вас очень плохой и запутанный api! Важно то, что вы знаете, почему вы так называете! На экзаменах Microsoft больше внимания уделяется тому, почему, а не тому, как. По моему мнению, экзамены microsoft действительно помогают стать лучшим программистом. Экзамены по Java также полезны, но больше похожи на изучение телефонного справочника: это очень трудно, но бесполезно.
В итоге я считаю, что C# технически лучше (это логично, так как они многому научились у java и купили самых умных людей в мире для ее написания). Вы заплатите больше за лицензии, но, вероятно, меньше за людей.
Уже поздно, я устал и не хочу перечитывать. Я должен, я знаю. Но не буду. У меня здесь нет проверки орфографии, так что может быть много опечаток. Мой первый язык - голландский, второй - французский, а третий - английский (я живу в Бельгии, у нас все сложно), так что, думаю, опечатки допускаются, да? :)
Надеюсь, это внесет некоторую ясность для вас.