Re[22]: Сишарпкапец наступает
От: mrTwister Россия  
Дата: 10.03.09 20:31
Оценка: +3
Здравствуйте, Cyberax, Вы писали:

C>LINQ, конечно, более мощный. Но тут случай, что IDEA — это good enough для большинства целей.


LINQ — это не только запросы к произвольным источникам данных (достаточно лишь реализации интерфейса IEnumerable, и никаких провайдеров). LINQ — это лямбда-функции, анонимные типы, in-line инициализаторы, extension методы. После шарпа очень трудно заставлять себя писать на яве, ибо оно выглядит как УГ. Там совершенно нет фана.
лэт ми спик фром май харт
Re[20]: Сишарпкапец наступает
От: mrTwister Россия  
Дата: 10.03.09 20:36
Оценка:
Здравствуйте, Cyberax, Вы писали:

G>>Можно ли такой же запрос написать для коллекции объектов?

C>Нет (ну если свой провайдер не напишешь). Для XML — можно.

Провайдер будет работать через рефлекшен?
лэт ми спик фром май харт
Re[22]: Сишарпкапец наступает
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 10.03.09 20:39
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, gandjustas, Вы писали:


G>>>>Примеры в студию.

C>>>Встраиваемый LDAP сервер — из недавнего.
G>>Учитывая что .NET в полном варианте работает под Windows, то встраивавемый LDAP не сильно нужен так как есть AD.
C>Только вот нужен был LDAP для специального сервера, который должен работать параллельно с AD, предоставляя некоторую очень специфическую функциональность.
Для этого можно и реляционную базу прикрутить.

G>>Это как раз пример слишком специфичного компонента, который .NET не очень нужен.

C>Да-да. Как видишь, мне вот оказалось нужно.
А вот мне нужно Linq, extension methods, anonymous types итп, а также GUI типа WPF, ничего этого мнету в java.
Причем все эти страшные слова используются во много раз чаще, чем встраиваемый LDAP.
Re[24]: Сишарпкапец наступает
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 10.03.09 20:42
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, gandjustas, Вы писали:


G>>>>Не надо мне такого счастья.

C>>>Ну вот просто пока никому не нужно было.
G>>Почему на C# всем нужно?
C>Потому что в C# не умеют пользоваться Hibernate. Вон, даже целый Entity Framework из-за этого начали писать, и забросили LINQ2SQL.



C>>>LINQ, конечно, более мощный. Но тут случай, что IDEA — это good enough для большинства целей.

G>>Это вам так кажется потому что Linq полноценно не пользовали.
C>Я его использовал.
Наверное "смотрел" а не "использовал".

C>Ещё раз повторяю — в Java для большинства случаев Hibernate вполне хватает.

В java конечно хибернейта хватает, язык то не позволяет сделать что-то типа Linq при всем желании.
Re[25]: Сишарпкапец наступает
От: Cyberax Марс  
Дата: 10.03.09 21:07
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>>>Почему на C# всем нужно?

C>>Потому что в C# не умеют пользоваться Hibernate. Вон, даже целый Entity Framework из-за этого начали писать, и забросили LINQ2SQL.
G>
Ну так что сделать...

C>>Я его использовал.

G>Наверное "смотрел" а не "использовал".
Использовал.

C>>Ещё раз повторяю — в Java для большинства случаев Hibernate вполне хватает.

G>В java конечно хибернейта хватает, язык то не позволяет сделать что-то типа Linq при всем желании.
При всём желании есть Scala, где сейчас аналог LINQ вроде уже соорудили.
Sapienti sat!
Re[19]: Сишарпкапец наступает
От: Cyberax Марс  
Дата: 10.03.09 21:09
Оценка:
Здравствуйте, mrTwister, Вы писали:

C>>Hibernate с поддержкой IDE — http://files.rsdn.ru/37054/HQLBug.png

T>Прелесть LInq — это не ORM, а возможность писать статически типизированные запросы с единым стандартным синтаксисом к любым источникам данных и не надо никаких ИДЕ, провайдеров и пр.
Так я же говорю — LINQ лучше, но в Java и того что есть хватает.

C>>Тормозной, особенно при работе с памятью (консервативный GC, однако).

T>Зато, в отличии от .Net Framework, поддерживает расширенные инструкции процессоров (SSE, например). Да и проигрыш в производительности по памяти имхо не фатальный.
Абсолютно фатальный — в СОТНИ раз медленнее на вырожденных случаях. Да и оптимизатор в Mono не блещет красотой. А SSE и автовекторизация помогают очень уж редко.
Sapienti sat!
Re[21]: Сишарпкапец наступает
От: Cyberax Марс  
Дата: 10.03.09 21:10
Оценка:
Здравствуйте, mrTwister, Вы писали:

G>>>Можно ли такой же запрос написать для коллекции объектов?

C>>Нет (ну если свой провайдер не напишешь). Для XML — можно.
T>Провайдер будет работать через рефлекшен?
Можешь написать ускорить с компиляцией байт-кода. Как в том же OGNL...
Sapienti sat!
Re[23]: Сишарпкапец наступает
От: Cyberax Марс  
Дата: 10.03.09 21:12
Оценка:
Здравствуйте, gandjustas, Вы писали:

C>>Только вот нужен был LDAP для специального сервера, который должен работать параллельно с AD, предоставляя некоторую очень специфическую функциональность.

G>Для этого можно и реляционную базу прикрутить.
Нельзя. Можно было бы — прикрутил.

G>>>Это как раз пример слишком специфичного компонента, который .NET не очень нужен.

C>>Да-да. Как видишь, мне вот оказалось нужно.
G>А вот мне нужно Linq, extension methods, anonymous types итп, а также GUI типа WPF, ничего этого мнету в java.
GUI типа WPF — это SWING. Анонимные типы в Java есть уже лет 12, extension methods — кривы.

G>Причем все эти страшные слова используются во много раз чаще, чем встраиваемый LDAP.

Тем не менее, под Java нашёлся LDAP, а под .NET — нет. И так много раз уже было.
Sapienti sat!
Re[24]: Сишарпкапец наступает
От: mrTwister Россия  
Дата: 10.03.09 21:39
Оценка: +1
Здравствуйте, Cyberax, Вы писали:

C>GUI типа WPF — это SWING. Анонимные типы в Java есть уже лет 12, extension methods — кривы.

Это совсем не тоже самое, что анонимные типы в шарпе. Причем я не говорю, что шарповские анонимные типы хуже явовских анонимных классов — это просто разные вещи.
лэт ми спик фром май харт
Re[20]: Сишарпкапец наступает
От: mrTwister Россия  
Дата: 10.03.09 21:41
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Абсолютно фатальный — в СОТНИ раз медленнее на вырожденных случаях.


В реальной жизни такое не наблюдается.
лэт ми спик фром май харт
Re[24]: Сишарпкапец наступает
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 10.03.09 21:48
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, gandjustas, Вы писали:


C>>>Только вот нужен был LDAP для специального сервера, который должен работать параллельно с AD, предоставляя некоторую очень специфическую функциональность.

G>>Для этого можно и реляционную базу прикрутить.
C>Нельзя. Можно было бы — прикрутил.
Почему нельзя? Видел проекты где LDAP хранилище было на реляционной БД, а учитывая что вы функционал получаете через сервисы, то вообще пофиг какое там хранилище.

G>>>>Это как раз пример слишком специфичного компонента, который .NET не очень нужен.

C>>>Да-да. Как видишь, мне вот оказалось нужно.
G>>А вот мне нужно Linq, extension methods, anonymous types итп, а также GUI типа WPF, ничего этого мнету в java.
C>GUI типа WPF — это SWING.
И декларативный байндинг умеет?

C>Анонимные типы в Java есть уже лет 12, extension methods — кривы.

А толку от анонимных классов без вывода типов в языке? Разве что для делегатов\функторов.

G>>Причем все эти страшные слова используются во много раз чаще, чем встраиваемый LDAP.

C>Тем не менее, под Java нашёлся LDAP, а под .NET — нет. И так много раз уже было.
Да уж, многих базовых фич в джаве нету и не будет в ближайшее время, зато можно понтоваться кучей библиотек.
Re[21]: Сишарпкапец наступает
От: Cyberax Марс  
Дата: 10.03.09 22:13
Оценка:
Здравствуйте, mrTwister, Вы писали:

C>>Абсолютно фатальный — в СОТНИ раз медленнее на вырожденных случаях.

T>В реальной жизни такое не наблюдается.
Эххх... Опять я нереальный...

Переносили специальный комбинаторный алгоритм на .NET — так он работал торррррмозно на Mono (тогда ещё на альфе 2.0) из-за того, что создавалось очень большое количество временных объектов. На .NET FW оно работало прилично.
Sapienti sat!
Re[24]: Сишарпкапец наступает
От: criosray  
Дата: 10.03.09 22:27
Оценка: 3 (1)
Здравствуйте, Cyberax, Вы писали:

G>>>>Это как раз пример слишком специфичного компонента, который .NET не очень нужен.

C>>>Да-да. Как видишь, мне вот оказалось нужно.
G>>А вот мне нужно Linq, extension methods, anonymous types итп, а также GUI типа WPF, ничего этого мнету в java.
C>GUI типа WPF — это SWING. Анонимные типы в Java есть уже лет 12, extension methods — кривы.
Это Вы только что SWING c WPF сравнили?..

Кстати, а что для свинга есть что-то похожее на MS Expression Blend?

G>>Причем все эти страшные слова используются во много раз чаще, чем встраиваемый LDAP.

C>Тем не менее, под Java нашёлся LDAP, а под .NET — нет. И так много раз уже было.

Novell LDAP .NET?
Re[24]: Сишарпкапец наступает
От: criosray  
Дата: 10.03.09 22:38
Оценка: +2
Здравствуйте, Cyberax, Вы писали:

G>>>>Не надо мне такого счастья.

C>>>Ну вот просто пока никому не нужно было.
G>>Почему на C# всем нужно?
C>Потому что в C# не умеют пользоваться Hibernate.
Зачем же обощать...
C>Вон, даже целый Entity Framework из-за этого начали писать, и забросили LINQ2SQL.
Просто Майкрософт внезапно осознало, что пора бы сделать свои версии популярных OS библиотек. Вот и вышли на свет: Unity (IoC / DI / AoP), ASP.NET MVC (web model view controller framework) и EF ("O/RM" tool).

Жаль только с EF вышел промах — они не так поняли концепцию O/RM. Вместо идеологически верного domain centric подхода вернулись к более data centric ориентированному. К тому же, вместо чистой модели с POCO (plain old c# objects), решили "загрязнить" модель атрибутами. Зачем это сделано было мне не понятно, т.к. мэппинг в xml описании модели это ни разу не отменило... Ну и много других мелочей, которые пока делают EF неконкурентом NH.

C>>>LINQ, конечно, более мощный. Но тут случай, что IDEA — это good enough для большинства целей.

G>>Это вам так кажется потому что Linq полноценно не пользовали.
C>Я его использовал. Ещё раз повторяю — в Java для большинства случаев Hibernate вполне хватает.
В .NET тоже. Только Linq это далеко не только язык запросов для O/RM...
Re[24]: Сишарпкапец наступает
От: criosray  
Дата: 10.03.09 22:43
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>extension methods — кривы.


Забыл спросить... в каком плане они кривы? Хотя это синтаксический сахар, я их все же нахожу очень удобными в ряде ситуаций.

Андерсу, кстати, предлагали ввести extension events и extension properties в язык, но он признался, что они пока не видят способа для реализации extension свойств да так, чтоб оно не выглядело грязным хаком, а вписывалось в язык...
Re[10]: Сишарпкапец наступает
От: Mamut Швеция http://dmitriid.com
Дата: 10.03.09 22:46
Оценка:
VD> 1. Возможностями. И тут у питона и шарпа даш на даш. Питон имеет мощьное метапрограммирование и по причинам своей динамической природы упрощает создание обобщенных реализаций, но при этом Питон резко проигрывает по скорости получаемых програм, не имеет возможностей вроде LINQ-а, имеет значительно более слабую поддержку IDE (и это не лечится по причине скриптовости).

Если под словом скриптовость подрзумевать динамическую типизацию
avalon 1.0b rev 146


dmitriid.comGitHubLinkedIn
Re[4]: Сишарпкапец наступает
От: Mamut Швеция http://dmitriid.com
Дата: 10.03.09 22:46
Оценка:
VD> Питон плохая замена овсу, тфу ты, Шарпу.

VD> Уроветь у него примерно такой же как у Шарпа, но ко всему прочему Питон интерпретатор. Все что можно получить в питоне — это скриптообразное метапрограммирование.


Что не мшает, скажем, тому же Ютубу
avalon 1.0b rev 146


dmitriid.comGitHubLinkedIn
Re[5]: Сишарпкапец наступает
От: Sheridan Россия  
Дата: 10.03.09 22:55
Оценка:
Mamut однажды (11 марта 2009 01:46) писал в rsdn.flame.comp:

> VD> Уроветь у него примерно такой же как у Шарпа, но ко всему прочему Питон интерпретатор. Все что можно получить в питоне — это скриптообразное метапрограммирование.

> Что не мшает, скажем, тому же Ютубу
вебу пофигу. У него всеравно скорость передачи результата пользователю зачастую медленнее чем собственно обработка.
А вот локально... Локально таки да, будут тормоза. Сам понимаеш.

--
Бортовой журнал
Posted via RSDN NNTP Server 2.1 beta
Matrix has you...
Re[6]: Сишарпкапец наступает
От: Mamut Швеция http://dmitriid.com
Дата: 10.03.09 22:59
Оценка: +1
S> > VD> Уроветь у него примерно такой же как у Шарпа, но ко всему прочему Питон интерпретатор. Все что можно получить в питоне — это скриптообразное метапрограммирование.

S> > Что не мшает, скажем, тому же Ютубу


S> вебу пофигу. У него всеравно скорость передачи результата пользователю зачастую медленнее чем собственно обработка.

S> А вот локально... Локально таки да, будут тормоза. Сам понимаеш.

Нет, не понимаю. Тормоза конкретно в чем?

ЗЫ. Прежде, чем ты опозоришься, отвечу сам. Есть классы задач, где производительность рулит. Типа числодробилки какие-нибудь. Или там кодеки. Если это ГУИ, то если время отклика такого гуи будет меньше скорости реакции человека, то пофиг на чем оно будет написано. Хоть на VB.
avalon 1.0b rev 146


dmitriid.comGitHubLinkedIn
Re[25]: Сишарпкапец наступает
От: Cyberax Марс  
Дата: 10.03.09 23:02
Оценка:
Здравствуйте, gandjustas, Вы писали:

C>>Нельзя. Можно было бы — прикрутил.

G>Почему нельзя? Видел проекты где LDAP хранилище было на реляционной БД, а учитывая что вы функционал получаете через сервисы, то вообще пофиг какое там хранилище.
Мне нужно именно _LDAP_ было. Для внешней системы. Песни про DAO мне можно не петь.

C>>GUI типа WPF — это SWING.

G>И декларативный байндинг умеет?
С нужными библиотеками. И даже в XML тоже умеет сериализовать.

А, ну ещё JavaFX забыл.

C>>Анонимные типы в Java есть уже лет 12, extension methods — кривы.

G>А толку от анонимных классов без вывода типов в языке? Разве что для делегатов\функторов.
Ну примерно для этого и используется.

C>>Тем не менее, под Java нашёлся LDAP, а под .NET — нет. И так много раз уже было.

G>Да уж, многих базовых фич в джаве нету и не будет в ближайшее время, зато можно понтоваться кучей библиотек.
Это говорит о том, что эти "базовые фичи" не являются обязательным требованием.

И они уже давно есть в других языках для JVM, например, в Scala.
Sapienti sat!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.