Re[21]: jsdk.jar
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.04.02 23:13
Оценка:
Здравствуйте AndrewVK, Вы писали:

VD>>Ну, а ты что же хочешь чтобы производительность из воздуха бралась? Тебе этот кастинг нужен?

AVK>Нужен
Зачет?

AVK>Для списков самый распространенный тип — классы.


Это у тебя стереотипы от Явы. Ты про value-типы забываешь (структуры, например).

AVK>>>Плюс используются типы by value и нет выделения памяти в куче и GC.

VD>>Ну? Так того и добивались, а с обжектом ты плучаешь весь этот кайф, а он ведь тебе не нужен.
AVK>Он мене как раз нужен.
В конкретном случае. А ты посмотри шире... Этот тормоз же всегда есть.


VD>>Ну, при неаравильном приектировании конечно. А при правильном лучше хранить структуры или простые типы. В общем и целом, чем мешьше памяти в куче выделяется, тем лучше. GC это правило ослобляет, но не снимае. В сложных случаях GC проигрывает обычной куче.

AVK>Он всегда в скорости проигрывает обычной куче. Зато на 100% исключает утечки памяти из-за потеряных указателей. Именно для этого его и придумали.

Ошибаешься. Теоритически GC быстрее обычного хипа. ДонБокс замечательный фокус показывал... демострирующий скорость GC. А мотерь памяти и в VB6 небыло.

VD>>Видишь даже с совершенно не производительным хранением информации мой вариант быстрее.

AVK>За счет capacity.

Я бы сказал проще, за счет более продуманного алгоритма.

VD>>Но ведь основной расчет тут делался на отбрасывание нунужных полиморфностей.

AVK>Но мне то они нужны.

В одном случае из десяти. К томуже если бы ты хранил данные в структурах, то проигрыш блы лы куда больше.

AVK>ОС может? У меня XP.


У меня W2k сервер.

AVK> Да и винамп наверное немножечко влияет, лишний раз контекст передергивает.


Не, он почти ничего не жрет... проверено.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: jsdk.jar
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.04.02 23:38
Оценка:
Здравствуйте AndrewVK, Вы писали:

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


AVK>>>Так граничные условия существуют почти для всего. Но тенденция то.


VD>>Да нет никакой тенденции. Хороший софт работает на грани возможного и выжимает из железа все, что моежт, а плохой всехда называли тормозным. Так его и бдут называть...

AVK>Пример хорошего и современного софта.

Ну, вот простенький... Quake Xxx. Каждая новая версия идет на пределе железа и радует новыми наворотами... и при этом не жертвует играбельностью... Из облати тебе по ближе... SQL Server 2000 или Oracle 9i.

VD>>Проще чем софт который создается для других платформ и тем более чем софт создающийся как переносимый и/или масштабируемый.

AVK>За все надо платить.

Вот я тебе и говрю, что нужно всзвешивать и выбирать.

AVK>Потому как очень много потеряю при этом. А что я потеряю от перехода на LinkedList?


Ничего.

А что ты потеряешь если воспользуешся шаблонами?

AVK>>>Допиши мне EJB или хотя бы JDO, а? Я тебе даже денег заплачу, не очень много :)

VD>>Я тебе уже говорил, что есть прекрасные заменители EJB.
AVK>Ты просто не понимаешь что такое EJB.

Не... Я именно этими вопросами и занимался. И что это такое прекрасно знаю. Лажа — это. Я уж лучше возьму какое нибудь Cache. Там будут теже объекты, но работать они будут на пордки бысрее и не будет тех гралей.

AVK>>>COM же определяе еще и реализацию. CLR вобще ни каким местом тут не прокатывает.

VD>>Это почему? Компонетная модель позволяющая создавать серверы приложений, динамически загружаемые компоненты и элементы управления. Позвоялет создавать и использовть омпоненты на разных языках, т.е. это больше чем COM и больше чем CORBA.
AVK>Так я им говорю что CLR тут никаким местом.

Как это не кместу, если функциональность перекрывается на 100%?

AVK>>>Далее, к COM надо добавить LDAP сервер.

VD>>Это еще зачем?
AVK>А что ты в замен CORBA registry предложишь?
Я не понмаю что это? Назови это русским языком.

AVK>>>Да и двоичный tlb и текстовый IDL сравнивать трудно.

VD>>А зачем их сравнивать. Вон в нет эту идею еще дальше расширели. А маньяки от корбы до сих пор кричат, что видте ли это не гибко. Это биче гибкого. Просто один раз нужно разобраться. Сгенерить IDL по tlb или создать файл C# или VB.Net по сборке проще просого.
AVK>А в дотнете уже не tlb. Тама WSDL.

Господи! От куда ты такого бреда набрался? Меньше читай/смотри рекламу пред сном.

Там сборки! В них лучший из виданных мною вариант метаданных, код и ресурсы. А WSDL это открытый язык которым даже Дельфи пользуетя. Но это дело прменимо только к Web-сервисам.

VD>>Ана для меня обязательная и для многих тысяч программистов.

AVK>Ну значит для тебя и многих тысяч программистов java не подходит. Но для других многих тысяч программистов не подходит дотнет а подходит java.

Естественно.

VD>>>>Не понял.

AVK>>>Объясняю. В *nix'ах dll'ек нет, там есть so.
VD>>Ну, и что? А это знаю. Что мешает мне использовать на Линуксе одно, а на Виндузе другое?
AVK>Отсутствие дотнета в Линуксе :)

Я еще раз спрашиваю ты про Моно слышал?

VD>>Думаю, что MS обязатеьно сделает показательную портацию .Net на какой нибудь Mac OS 10. :) Про Моно ты надеюсь уже слышал?

AVK>Слышал. И про Corel портирующий дотнет на фришку тоже слышал. Но глядя на Windows.Forms берут меня жуткие сомнения. Тама половину windows переностить придется.

А кто тебе сказал что MS будет отдавать Дэсктоп каким-то там Линухам или Фришкам? :) Ну, а серверы — это другое дело. Тут, MS лезет в чужой огород...

VD>>А! Замечательная технолгия... для загрузки процессора и свободной памяти. Вот только тебе пожалуй нужно не кэш, а пул создавать.

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

Так обект определяется его состоянием. В другом месте возьмешь другой объект и загрузишь в него то самое состояние. Между прочим многие EJB-контейнеры так и делают.

VD>> Проще читать данные и ассоциировать их с инстансами. К тому же объекты ининтифицируются по ID, а их нужно не в связанных списках ранить, а в map-ах.

AVK>Так у меня они в хештаблице и хранятся. Очередь для другого нужна.

А... Понимаю... управляешь памятью в GC-среде. :)) Ну, что же дело перспективное...

VD>>Ну, 30 это уже не документик, а база данных и довельно не маленькая. Прайс книжного магазина (Интернетного) занимает 12 мег. Да и выдержит он в лет. 30 мег для современного компьютера это фантики, ну а делее нужно переходить на БД.

AVK>А зачем мне бешеный расход памяти, если можно SAX'ом обработать?
В этом случае лучше обойтись каким нубудь Ораклом, ну, или МайСкулем. :)

ТAVK>>>Чем поддержка java хуже?

VD>>Да тем, что книг по Яве и Нэту на русском примеро онинаковое количество, а Нэту всего месяц.
AVK>Не показатель
VD>>Тем, что по нету создано сотни форумов за это время.
AVK>В России здесь самый оживленный форум.

Ошибаешся. Зайди на http://dotsite.spb.ru/forum/display_forum.asp?fid=4

AVK>А траффик больше мы с тобой вдвоем создаем.


Да... Скоро мы затмим всех. :)))

ТAVK>>>И чем тебя не устроила ее объектная модель?

VD>>Ну, ты посмотри CodeDom, Emit, дезайнеры типов, броузер свойств, да и сами свойства которые есть в EJB, но нет в самой Яве, и т.п. И покажи аналоги в Яве. А то может я просто чего не знаю?
AVK>А объектная модель то тут при чем?

А то что для Явы приходится придумывать "внешние" объектные модели... вроде EJB.

VD>>Не, не чувствую. Я разницу в скорости чувствую. Мне 4 байта хранить нужно. Из солидарности с апологетами плиморфизма я этого делать не намерен.

AVK>А мне в коллекциях объекты хранить надо. Мне повеситься или утопиться?

Я же тебе уже сто раз говорил. В этот раз объекты (хотя можно обойтись и структурами), а в другой int придется. И тут...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: jsdk.jar
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.04.02 23:38
Оценка:
Здравствуйте AndrewVK, Вы писали:

VD>>В чем опасность не понятно!

AVK>Опасность в том что изменение одной функции непосредственно влияет на остальные.

Ты о чем? Поясни.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: Зачатки флейма ".Net vs. Java2" -- не выйдет!
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.04.02 23:58
Оценка:
Здравствуйте AndrewVK, Вы писали:

VD>>Ну, дык для полноты картины еще бы нашел, а то пляшем все от листа...

AVK>Мне третий раз сюда один и тот же списочек писать?

Тебе ответили по поводу EJB. Они в .Net есть, но другие. Проблемы решают те же. Других проблем в библиотеках ты не показал.

VD>>Задачи он решает совсем маленькие, а форум нет. Ну, а спроектирован он на на пятерочку. Я его малость подправил, а то менять местами трудно...

AVK>Так и у процедуры проведения накладной тоже задачи побольше чем у форума.

Зависит от конкретного форума и конкретной системы автоматизации.

VD>>Да у тебя не накладные, а какие-то досье.

AVK>А ты думал. Я же тебе говорю — не все так просто как кажется со стороны.

У нас тоже накладные есть, но сложности в них особой нет.

VD>>Так в чем принципиальная разница? И там и там OLTP, и там и там накопление промежуточных результатов и структурезация данных.

AVK>В форуме еще и OLAP есть?

А ты думал?! Причем с не хилой нагрузочкой.

Разбивка на партии?

Вместо нее подсчет рейтингов. К тому же это твой личный алгоритм, у нас в системе вот партии были, а разбивки на них нет. Модель позволяет.

Проверка и коррекция остатков и оборотов?

Корекция рейтингов, скоро еще и автомодерирование появится.

Контроль кредитов, договоров? Погашение долга? А там еще много чего есть.

Вот когда система продумана на 100%, то все это становится не так сложно, а если волить все в кучу, то конечно можно нагородить многое...

VD>> Да форум не самый сложный код. Но тревиальным его тоже не назавешь.

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

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

AVK>>>Да не хочу я пиписьками меряться. Просто судя по твоим словам основной опыт у тебя в веб-проектах.

VD>>Не поверишь, за все время сделал один сайт и 12 лет занимался автоматизацией предприятий. Начинал с продажи и внедрения чужих систем...
AVK>Каких, если не секрет?

В смысле продовал какие? Разные... От Турбо-бузгалтера, то черта лысого. Чаще всего приходилось возиться с Абакусом По этих... как их..., а про фешонал. Там технологическое воплощение было на 2 с плюсом, но было хоть какое-то ядро. На его базе можно было построить давльно прилисные вариации оучета. Аравда расширяемость там была нулевая. Но идейно этот продукт подтолкнул прилично.

VD>>Ну, не хочешь так не хочешь, но про то что не интересно — это ты зблуждаешся.

AVK>Ау, кому нибудь это интересно?

А ты поставь отдельным топиком и попроси, чтобы народ проголосовал... сам увидишь.

VD>>Это понятно, но в .Net она является частью CLR, а .Net? это как сказал IT, больше чем... Ну, и уж тем более больше чем CLR.

AVK>Я где то говорил что это не так?

Что это?

VD>>>>SOAP – протокол удаленных вызовов через http и XML.

AVK>>>html здесь лишний.
VD>>Не, именно по http.
AVK>Как минимум часто еще SMTP часто используется. А вобще протокол может быть любой.

Откудо ты это взял?

VD>>CG да, но MSIL спокйно будет работать.

AVK>Будет. Но нафига он там?

А нафига он здесь? Чтобы максимально эфективно использовать возможности конкретного камня и чтобы писать переносимый (хотя бы между разными процессорами, AI32, AI64, S.ARM, ...) код.

AVK>А при чем здесь MSIL? В *никсах вон так и поступают, без всякого IL. Или ты имеешь ввиду компиляцию IL в нейтив код


Ну?

AVK> — так увеличение производительности от этого — пока декларация как для дотнета так и для джавы.


Неее... Это факт. Скорость кода MSIL близка к аналогичному коду созданному с опциями оптимизации для конкретного симейства процессоров. Если бы еще не object-ы и virtual-ы используемые где попало из-за отсутствия шаблонов... Надеюсь в следующей версии они все это учтут.

VD>>Мои экспременты показывают обратное. Скачай примеры от шустрика посмотри. Ява жрет не меньше,

AVK>Так я и говорю что больше она жрет.

Ну, тогда я тебя не поныл... А на счет больше... я этого как то не почувствовал, а вот, то что ей максимльный размер памяти нужно задавать почувствовал. Сама возможность этого — это хорошо, но вот то что нельзя просто сказать "используй всю имеющуюся память" — это дико не удобно.

AVK>А чего их искать? Их там есть. Я тут даже упоминал некоторые. Могу еще сказать что в самом языке сильно не хватает свойств и типов-перечислений (это для меня основной недостаток именно языка).


Дохленький какой-то недостаток. Хотя на счет enum-ов я с тобой согласен. Кстати, а ты видел как в Шарпе сделаны маски (aaa | bbb | sss), но атрибутах? Я всегда говрил, что в Паскале сэты сделаны удобно... Вот они вроде услышали.

VD>>Странные у тебя результаты. У меря процентов 10 выигрышь. Что за щелезка?

AVK>Я уж вроде писал. AXP 1700+, 512 DDR

1500-й зачичь? А ты тесты из среды запускаешь или из консоли?

VD>>В одном случае объекты, а в другом int придется. Да и объекты в родных типах должны работать быстрее.

AVK>а тип object для экземпляров object не родной?
Это частный случай. А этот идеотский подход "навязывается" самой идеологией.

AVK>Результат

AVK>1132
AVK>480

AVK>Вот он твой эффект. А для int еще и нет конролируемых ссылок.


Не... Мой эфект был 60! А на твоем камне должен быть 50 или даже 40. Это не в два раза... это на порядок!

Ну, а то что ссылок нет, так это и замечательно. Я тебе уже второй день толдычу, что использование универсальных в Нэт и Ява сделан глупейшим образом. Вместо того чтобы возложить работу на компилятор все сваливается на рантаймный полиморфизм, а нужно это в одном случае из 1000. Именно из-за этого код написаный на С++ пока что будет быстрее чем аналогичный на Нэт или Яве.

VD>>И к тому, же в слудующий раз тебе может понадобится int, а через object он будет в 10 раз медленнее.

AVK>Ну не в 10 раз — но таки да, для int можно. Только объекты все же почаще используются.

Я тебе уже показал что в 10. Можешь проверить на соей мшине. И это еще пример который ничего не делает. На реальных задачах может оказаться и больше чем в 10. VARIANT в обычном С++ давл меньший провал по скорости.

VD>>>> Вот CLR и Ява тем и плохи, что полиморфность в них достигается за счет использования виртуальных методов и типа object. На C++ я бы написал шаблон и он бы дал лучшую производительность.

AVK>>>Вот о чем я и говорю — лучше пожертвовать производительностью в угоду удобству и надежности.
VD>>Ну, и в сем же здесь пропадут надежность или удобство?
AVK>В чем удобство полиморфности? В большей универсальности кода.

Во-первых, ты снова ушел от ответа.
А, во-вторых, та рантаймная полимофность которая сплошь и рядом испльзуется в Нэт и Яве, практически никогда не нужна. Обычно надежнее и быстрее будет если вместо рантаймной полиморфности будет применена фолиморфность копайлтаймная. Шаблоны в С++ это замечательно доказывают, на этом языке можно создавать коллекции которые идельны по скорости, безопасны и удобны в исползовании. Для Нэта есть только одна проблема, как реализовать Шаблоны на уровне IL. Иначе они так и останутся особенностями язвка.

AVK>На шаблонах рефлекшн не будет работать. Но это так.


Ты что сказать то хотел? А рабоать будет. Иначе бы в яву 1.5 их не заложили. Для Нэта даже был выпущен пробный билд в которм шаблоны поддерживалиь на уровне IL. Так что это уже факт.

AVK>А вобще использование шаблона для объектов в плане производительности ничего не даст. Шаблон просто привнесет дополнительный контроль типов.


Я тебе уже показал пример который работает в 10 раз быстрее. Попробуй домыслить и представить, что вместо int там был поставлен дженерик-тип... И получится, что шаблон дает возможность писать универсальный код без ущерба для производительности, что наблюдаетя при использования object.

Если речь идет о хранении ссылог на объекты, то думаю, высокого роста производительности добитья не удастся. Ну, процентов 10 максимум 20. Но в Нэт есть же и value-типы! Тут скорость возрастет на порядок (а скорее всего и больше). Если хочешь могу провести следственный эксперемент? Кстати, отсутствие value-типов — это серьезный недостаток Явы! Они не хотят его устранить?

AVK>>> Ибо железки ныне дешевеют а труд программеров дорожает.

VD>>Во блин. Снова за свое. То ему просадка на порядок из-за отсутсвия листа мешает, то он плюет на тот же порядок в том же случе. Ты подумай, если сложить тот порядок с этим то получится уже сотня.
AVK>Не, использование связаного списка дает повышение производительности практьически бесплатно, а вот перепроектирование системы — нет.

А какое тут перепроектирование? Просто нужно заменить реализации колекций на более эфективные (как и в твоем случае). Вот только это уже недостаток платформ.

AVK>А про железки это потому что мне приходится не только программить, но еще и заниматься эксплуатацией. И купить железку обычно куда как проще и дешевле нежели переписывать готовый код.


Не, переписывать, а оптимизировать. Это две большие разницы. И стоит это обычно дешевле, чем замена и без того не дешевого железа на более дорогое.

AVK> Я могу конечно посадить программера, он за два-три месяца мне процентов на 10% тот же модуль перепроведения ускорит.


А если не на 10, а на 1000? Я такие факты видел...

AVK> Но за те же деньги я куплю еще один серверок


Э милый. Еще один — это будет кластер (или машина под выделенную задачу), с которыми ты так боришься.

AVK>и через 2-3 дня у меня все заработает быстрее на те же 10%, если не быстрее. Вот о чем я пытаюсь сказать.


Твоя мысль понятна. И иногда это действительно правильное решение, но все это от безысходности. Вот елси бы ты действительно мог докупив сервачок и вставив его в кластер поднять (пропроцианально) производительность — это было бы дело.

AVK>А то что иногда все же приходится кардинально все переделывать — да, такое тоже вполне возможно. У меня вот сейчас старый оперативный учет по одной фирме как раз полностью выкидывается, ибо проще сделать с нуля новый чем дорабатывать старый. Но он отработал 5 лет и вполне себя оправдал. А если бы я оставил старый серверок, на котором он первоначально работал — уже через 2 года мне бы пришлось думать об увеличении быстродействия. Как ты считаешь — 2 штуки, отданые за серверок за 3 года себя оправдали?


Ну, это вопрос об упущенной выгое... Вот ты как считаешь, если ли бы ты отдал $500 на более грамотное проектирование системы и еще $500 на оптимизацию алгоритмов, не вышл бы лучше?

VD>>Да это знакомо. И самое смешное, что такие рассуждения я слышал от известных и уважаемых людей.

AVK>Тут одно из двух — либо человек вобще нифига не понимает и говорит с чужих слов, либо его знания программных технологий так и остались десятилетней давности. Я помню как на БК-0010 приходилось байты экономить. Но это же не повод делать то же самое сейчас?

Похоже второе. А человека этого ты (скорее всего) знаешь он главный редактор в одном очень авторитетном компьютрном издании (русской редакции, конечно).

AVK>Кого сейчас волнует — 400К или 4М занимает exe?


Многих. Вот у меня диалап, а библиотеки нужно выкладывать на Интернет. 400К я прокачаю, а 4М — нет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Зачатки флейма ".Net vs. Java2" -- не выйдет!
От: The Lex Украина  
Дата: 02.04.02 18:34
Оценка:
Здравствуйте iZEN, Вы писали:

IT>>От переносимости я при случае конечно не откажусь, но надобности в этом в моих задачах я пока не просматриваю даже в микроскоп. Возможно это и актуально в мире Юникс, где возможно существуют реальные проблемы переносимости внутри одного клона операционных систем, но это их проблемы. Мне переносимость пока не нужна и я буду стараться избегать этого как можно дольше, т.к. считаю её источником проблем.


ZEN>Ну вот, переносимость для Вас -- это источник проблем. Странно. Если так случится, что Вам надо будет большой проект перенести/портировать под более мощную платформу(не-Win32), будете переписывать всё с нуля?


А так ли часто возникает вот эта самая мифическая "необходимость большой проект перенести/портировать под более мощную платформу (не Win32)"? Приведите примеры, а? Действительно интересно!

IT>>Лично мне что 12, что 20, что 120 без разницы. Но зато Java нет на CD в RSDN Mag, а .NET FSDK есть и скачивать ничего не надо.


ZEN>А по сети слабо качнуть? Как многие это делают/предстоит сделать.


Кому это многим? Западным странам? Так это им примерно так же, как нам сходить на рынок за компактами. А у нас как всегда единицы действительно скачают, а потом просто будет все выложено на раскладках. И что самое интересное — это вполне законно, насколько я понимаю.
Голь на выдумку хитра, однако...
Re[6]: jsdk.jar
От: iZEN СССР  
Дата: 02.04.02 20:07
Оценка:
Здравствуйте The Lex, Вы писали:

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


IT>>>От переносимости я при случае конечно не откажусь, но надобности в этом в моих задачах я пока не просматриваю даже в микроскоп. Возможно это и актуально в мире Юникс, где возможно существуют реальные проблемы переносимости внутри одного клона операционных систем, но это их проблемы. Мне переносимость пока не нужна и я буду стараться избегать этого как можно дольше, т.к. считаю её источником проблем.


ZEN>>Ну вот, переносимость для Вас -- это источник проблем. Странно. Если так случится, что Вам надо будет большой проект перенести/портировать под более мощную платформу(не-Win32), будете переписывать всё с нуля?


TL>А так ли часто возникает вот эта самая мифическая "необходимость большой проект перенести/портировать под более мощную платформу (не Win32)"? Приведите примеры, а? Действительно интересно!



Скажем так, мне приходится работать с зоопарком машин и я не хочу что-то делать дважды и трижды. :user:
Re[18]: Зачатки флейма ".Net vs. Java2" -- не выйдет!
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.04.02 08:56
Оценка:
Здравствуйте VladD2, Вы писали:

VD>Они развивают свою идеологию. Им важна не только красота, но и производительность.

Так производительность у Entity бинов, особенно BMP не такая уж и плохая. На некоторых задачах (особенно при большом количестве клиентов) за счет правильного кеширования EJB может быть и побыстрее обычного SQL.

VD>Поэтому они или встроят все это в БД, или вообще не будут ломать копья.

Да понятно конечно что они пошли по другому пути. Наступать на горло собственной мечте, т.е. COM+ и xml'ным возможностям SQL сервера они не будут. И дело тут не в идеологии, а как всегда в бабках. (Ох уж эти бабки, вечно суют свой нос куда не следует. Сидели бы себе на пенсии. :) )

VD>1 и 2.

Если нужно только 1 и 2 — проще и дешевле использовать сервлеты.

VD>Последние как раз не проходят по идеологическим соображениям. Хотя реализовать оба варианта на Нэте можно.

Было бы странно если бы было нельзя.

AVK>>Только для первых аналогом может быть WS.

VD>Web-сервисы здесь совершенно не нужны. Стыйтлес-объекты прекрасно реалзуются силами самого Нэта (его библиотек, точнее ремоутинга).
Ремоутинг конечно хорошо. Вот только кешировать придется ручками — иначе будут такие тормозаааааааааааааааааааааааааа.


VD>(Прежде чем продолжить материться поясню 3 (BMP) — это Entity компоненты с ручной записью. 4 (CMP) с автоматической, контейнером EJB-ей.)


VD>Да нет там никакой проблемы. В прочем как и смысла от 3 и 4. :) Ты сам то их используешь?

Да.

VD>Вот MS продвигает для решения подобных задачь XML-технологии (кеширование данных на сервере приложений в формате XML). Лично я считаю, что использование обычных курсорных API доступа к БД эфективнее и проще. А абстракцию можно делать и другими методами. Ты видел ДатаСэты в Нэт?

Видел. Увы — сфера применения подобных технологий весьма ограничена.

AVK>>Java Authentication and Authorization Service

VD>Защита по руски? Ну, с этим у нета все впорядке. Кстати, это будет одной из палок которая прогонит Яву с клиентских компьютеров. Хотя ее там и так не много. :(
Не защита. Фреймворк для аутентификации и авторизации. Подобное в дотнете есть, но только в asp+.

VD>>>Эмулируется... ну, ты сам знаешь чем. Если что пишится за двадцать мину.

AVK>>Не эмулируется а пишется целиком ручками
VD>Ну, вроде массив тебе подходил... Да и писать там нечего. Болше пустых разговоров.
Я в другом топике показал как мне массив подходит :)

VD>>> Возможно обычный файловый доступ реализован через него. Так что это лишнее выпячивание алгортмов. В конце концов если уж пойти на принцип, в Нэт можно за пять минут описать функции работы с мапнутыми файлами ОС и испльзовать их.

AVK>>Можно, кто спорит. Но это уже не то.
VD>А чего не то? У меня с этим проблем нет... Есть еще куча API которых или нет в Яве/Нэте или реализованных в них медленне и кривее чем в родных API, и что же теперь страдать из любви к искуствау?
Сама же MS с легкостью выпустит очередную операционку с измененной функциональностью этих API. Примеры были. Тот же comctl32. Или тебе под WinCE перетащить понадобится или какой нибудь XBox.

AVK>>Java Data Objects

AVK>>цитата из спецификации
AVK>>JDO specification provides for interface-based definitions of data stores and transactions; and selection and transformation of persistent storage data into native Java programming language objects
VD>Ну, и чем это отличается от EJB-ей?
EJB это сервер прежде всего. JDO — отдельный механизм. Ты же не будешь использовать EJB скажем в почтовом клиенте. А JDO пожалуйста.

AVK>>Да и подобное преобразование все равно делать приходится очень часто.

VD>Мне вот ни разу не приходилось.
Ты его неявно делаешь. В C# все равно потом результаты выборок приходится в объектах хранить.

AVK>> Все дело в уровне абстракции и количестве ручной работы. Не устраивают CMP — есть же еще и BMP. Пиши в базу ручками наздоровье.


VD>А меня и BMP не устраивает. Я считаю что:

VD>
VD>UPDATE xxx SET fld1 = fld1 + 123 WHERE yyyy
VD>

VD>Проще и эфективнее чем все эти извращения.
Зато менее понятно, больше зависит от конкретного sql сервера, структуры БД. Намного тяжелее потом меняется. Я прекрасно помню кучу рутинной работы при взаимодействии непосредственно с sql сервером. Одни и те же вещи занимали с использованием ejb и генераторов исходников иногда в десятки раз меньше чем на sql+ado. Хотя конечно все зависит от задачи. Кое где прямые запросы к базе вне конкуренции.
Впрочем сам MS рекомендует пользоваться не дотнет API как можно реже.

VD>>>Возможно подобные технологии будут встроены в SQL-Сервер.

AVK>>Ну xml то он уже хранит. А это по сути уже почти что объекты.
VD>Глупость какая. Объекты — это объекты, а xml — xml (язык разметки).
Основная сложность хранения объектов — преобразование их модели данных к реляционной. Именно здесь случается основной оверхед. А xml уже как бы имеет нереляционную структуру. Хранить же состояние объектов в xml очень легко.

VD> Да и хранить его по человечески БД еще не научилиь, робкие попытки Informix-а в серьез можно не воспринмать.

А MSSQL чего? Не катит? Я тут один проектик (веб) видел на asp.net. Там ребятки описывают объекты на xml, затем благополучно хранят их ввиде этого самого xml в базе (mssql естественно), а при выводе накидывают xslt прямо на выборку. Все очень красиво.

AVK>>Не, не тоже самое. Совсем не то.

VD>Кочено. Это другое решение тех же проблем (работы с данными в приложениях).
Не решают они те проблемы которые нужны мне в моих задачах. Я в свое время поковырялся с ado.net и понял что мне оно не подходит совершенно. Ту задачку я решил на обычном ADO + свои механизмы.

AVK>>Автоматические транзакции, в т.ч. и распределенные.

VD>Ну, это в COM+-се (а вернее MTS-е) было за долго появления их в CORBA-е и Яве.
Да ладно тебе. CORBA уже фиг знает сколько лет.

VD>И на сегодня COM+-самая масшатабируемая система управления распределенными тарнзакциями (ссылку на источник давать? :) ). Через некоторое время появится подобная функциональность и для Чистого Нэта, пока можно перебиться COM+-ом.

Тут кто то писал о том что COM+ в дотнете поддерживается очень криво и MS не собирается это менять "по идеологическим причинам".

AVK>> Умное кеширование везде где только можно.

VD>Вот только ума там меньше, чем куриной башке. Ты закачай в эту хрень несколько миллионов записе и посмотри на этот великий ум. :)
А вот под задачи где нужны выборки в несколько миллионов записей подобные системы совершенно не рассчитаны. Как впрочем и ado.net тоже. А кеширование там весьма правильное, поскольку для сервера доступно куда больше информации о выполняемых задачах чем для сервера БД.

AVK>>Entity бины. Меппинг объектов в базу, полуавтоматически и автоматически. EJB надо сравнивать с servviced components а не с дотнетовскими объектами.

VD>servviced components — это COM+ руками Нэта. И к твоим песням это отношения не имеет.
Еще как имеет.
VD>Ну, а Entity бины — изначально дохлая идея.
Странно только — на что та же BEA живет? У ней ведь WebLogic — основной продукт.

AVK>>Это тебе так кажется. По незнанию. На самом деле очень удобно. И от MVC в отличие от нета не отходит.

VD>Я вообще не знаю, как можно отходть от реализации языка. Ты наверно имеешь в виду MFC — эту устаревшую дрехлятину. Я в ней ничего стройного не вижу.
Нет, я имею ввиду именно MVC, паттерн такой, Model-View-Controller.
VD>Ну, идея документ-вью... и все. Главное, что на Нэте можно создавть савременный и качественный GUI, а на свинге тормозных и убогих (функционально) монстриков.
На свинге можно создавать современный и качественный GUI. Скачай и посмотри ту же IDEA — она небольшая. Ну или JBuilder.

VD>>>А чем тебя дата не устраивает?

AVK>>Нафига мне для редактирования данных в табличке ADO.NET тащить? Это уже пушкой по воробьям получается.
VD>Так он все равно на машине будет стоять. И к тому же это ты не разобрался. Там только датасэты тащутся, они к ADO отношения не имеют.
А расход памяти? А куча ненужных действий для инициализации этой штуки?
VD> В конце концов уже наклепано мнофество решений от независимых производтелей, для Явы такого разнообразия никогда не появится.
Естественно. Оно там уже есть.

VD>>> К тому же ты здесь вообще смотришь не верно. У мс своих гридов от родясь не было. Они все делались разными Шариданами и в лайт-версии клались в VB. Если тебе нужен грид посмотри дополнительные компоненты.

AVK>>Гы.
VD>Что гы? Грамоно действуют. Себе забирают рынок по больше, а другим дают малеьнкие нишки. :))
Еще раз Гы.

VD>>>Понятна. Но спортивная машина... это не совсе корректно. Нэт в большинстве вслучаев все же быстрее, т.е. сам компилятор оптимальнее и есть средства явной оптимизации.

AVK>>Не надо сравнивать. Скорость машины в моем примере это не скорость компиляции и программ а скорее надежность программирования.
VD>Нда... странные ассоциации... "надежность" и "спортивная машина". :-\
Какая главная характеристика спортивной машины? Скорость и время разгона наверное? А платформы, Отнюдь не скорость, иначе все бы до сих пор на ассемблере писали.

VD>И ты можешь привести пример когда Ява "надежнее" CLR?

А это только практика покажет.

VD>>>Ну, метания это тоже не здрово.

AVK>>Кто говорит про метания. Возможность использовать наработаный опыт — один из факторов при выборе плаформы. Только он не определяющий.
VD>Это зависит от размеров опыта. :)
Естественно. Но если он становится определяющим — на проект можно положить

VD>Пожалуй, это один из не многих. А что ты думаешь про value-типы?

Здравая мысль.
VD>Да и про остальные отличия Нэта?
Какие именно?

AVK>>Тогда уж лучше было бы ввести какой нибудь специальный механизм для классов, выделить их отдельно и соответственно настроить GC на работу с ними, т.е. убрать отложеное удаление, принудительно запускаться или даже реализовывать пул.

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

VD>Лажа на твоем 1С-е хоть день... хоть год... То что у нас за те два месяца было сделано от 1С-а отличается одним небольшим достоинством... оно мозги имело и продуманную архитектуру.

Но менять что то реально могли только вы сами.

AVK>>>>И сколько это будет денег стоить? Для маленьких предприятий 1С в России на данный момент лучше всего.

VD>>>Я бы уж лучше какой-нить Бэст выбрал. Ну, мозгов в этом 1С нуту. Про производительность лучше вообще молчать.
AVK>>Но таки 1С практически монополист на этом рынке.

VD>Канчай ерунду говрить. У них и 20% рынка нет. Кое что отхватили в мелких торговых фирмах...

Цитату прочитай. Я как раз и говорил про маленькие предприятия.

VD>Да нет... Вроде официально объявили только месяц назад... Или это время летит?...

13 февраля. А выложили на неделю раньше. 1 марта объявили в России.

VD>Как-раз CORBA-у к Нэту прикрутить можно.

Как и ActiveX к Java.

AVK>>Всегда приходится начинать с нуля. На дотнет же ты перешел.

VD>Пока не совсем.
Ну так и я пока пробую. А на java есть проект который я доделал.

VD>>>Ну, и все не состыкока? .Net — это действительно больше чем Ява, а его переносимость отымет козырную карту критиков. Что не так то?

AVK>>Чем больше?

VD>Тем, что Явная VM — это только интерпритатор байт-кода, а у нет это полнофункциональый слой, который прекрасно работает без Шарпа.

Ты удивишся, но JVM — примерно то же самое.
AVK Blog
Re[18]: Зачатки флейма ".Net vs. Java2" -- не выйдет!
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.04.02 09:26
Оценка:
Здравствуйте VladD2, Вы писали:

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


VD>Тебе ответили по поводу EJB. Они в .Net есть, но другие. Проблемы решают те же. Других проблем в библиотеках ты не показал.

В общем слова о том что мол сама идея CMP и CMR изначально бесполезная — для меня неубедительны. Я эти технологии попробовал и убедился в их практической применимости и экономии времени и кода. Спорить на эту тему больше не буду — уже времени не хватает вовремя на такие огромные письма отвечать.

VD>>>Так в чем принципиальная разница? И там и там OLTP, и там и там накопление промежуточных результатов и структурезация данных.

AVK>>В форуме еще и OLAP есть?
А нафига он там?

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

Один форум? Мне кажется ты преувеличиваешь.

VD>В смысле продовал какие?

Не продавал а использовал в своих разработках.

AVK>>Как минимум часто еще SMTP часто используется. А вобще протокол может быть любой.

VD>Откудо ты это взял?
Из спецификации. Вот выдержка
SOAP provides the definition of an XML document which can be used for exchanging structured and typed information between peers in a decentralized, distributed environment. It is fundamentally a stateless, one-way message exchange paradigm, but applications can create more complex interaction patterns (e.g., request/response, request/multiple responses, etc.) by combining such one-way exchanges with features provided by an underlying transport protocol and/or application-specific information.


VD>>>Мои экспременты показывают обратное. Скачай примеры от шустрика посмотри. Ява жрет не меньше,

AVK>>Так я и говорю что больше она жрет.
VD>Ну, тогда я тебя не поныл...
А что непонятного. Я же тебе уже говорил — я не являюсь ярым сторонником ни одной ни другой платформы. У и дотнеда и у джавы есть свои достоинства и свои недостатки. Ни одна из этих технологий не является безоговорочно лучше другой. В каждом конкретном случае за счет своих особенностей может быть более эффективной как та так и другая технология.

VD> А на счет больше... я этого как то не почувствовал, а вот, то что ей максимльный размер памяти нужно задавать почувствовал. :( Сама возможность этого — это хорошо, но вот то что нельзя просто сказать "используй всю имеющуюся память" — это дико не удобно.

А кто тебе сказал что так нельзя? Если не задавать — именно так и происходит.

AVK>>А чего их искать? Их там есть. Я тут даже упоминал некоторые. Могу еще сказать что в самом языке сильно не хватает свойств и типов-перечислений (это для меня основной недостаток именно языка).


VD>Дохленький какой-то недостаток. Хотя на счет enum-ов я с тобой согласен. Кстати, а ты видел как в Шарпе сделаны маски (aaa | bbb | sss), но атрибутах? Я всегда говрил, что в Паскале сэты сделаны удобно... Вот они вроде услышали. :)


VD>1500-й зачичь? А ты тесты из среды запускаешь или из консоли?

1466. А среда у меня — Far. Так что и из среды и с консоли :)

AVK>>а тип object для экземпляров object не родной?

VD>Это частный случай. А этот идеотский подход "навязывается" самой идеологией. :(
Этот подход навязывается ООП.

VD>Не... Мой эфект был 60! А на твоем камне должен быть 50 или даже 40. Это не в два раза... это на порядок!

Так это я уже на рабочем компе пускал. Cel-800.
А ссылки подсчитывать — это очень затратная вещь.

VD>Ну, а то что ссылок нет, так это и замечательно. Я тебе уже второй день толдычу, что использование универсальных в Нэт и Ява сделан глупейшим образом.

Я а тебе талдычу что мне нужны именно ОБЪЕКТЫ!

VD>Вместо того чтобы возложить работу на компилятор все сваливается на рантаймный полиморфизм, а нужно это в одном случае из 1000. Именно из-за этого код написаный на С++ пока что будет быстрее чем аналогичный на Нэт или Яве.

Долой ООП!

VD>Во-первых, ты снова ушел от ответа. ;)

VD>А, во-вторых, та рантаймная полимофность которая сплошь и рядом испльзуется в Нэт и Яве, практически никогда не нужна.
Все, дальше можешь не продолжать. Я не считаю ООП безполезным наворотом. А ООП без полиморфности это уже не ООП. Без полиморфности ты не реализуешь практически ни одного паттерна. А программирование без использования паттернов я для себя уже не мыслю. Надоело каждый раз лисапет изобретать.


VD>Если речь идет о хранении ссылог на объекты, то думаю, высокого роста производительности добитья не удастся. Ну, процентов 10 максимум 20. Но в Нэт есть же и value-типы! Тут скорость возрастет на порядок (а скорее всего и больше).

Пробовал. По непонятным причинам оказалось что struct медленее object в полтора раза. Разбираться было лень.

VD>Если хочешь могу провести следственный эксперемент? :)

Давай.
VD> Кстати, отсутствие value-типов — это серьезный недостаток Явы!
В плане производительности — да.
VD>Они не хотят его устранить?
Не слышал.

AVK>>А про железки это потому что мне приходится не только программить, но еще и заниматься эксплуатацией. И купить железку обычно куда как проще и дешевле нежели переписывать готовый код.

VD>Не, переписывать, а оптимизировать. Это две большие разницы. И стоит это обычно дешевле, чем замена и без того не дешевого железа на более дорогое.
У меня почему то чаще бывает обратное.

VD>А если не на 10, а на 1000? Я такие факты видел...

Ну это вряд ли. Не настолько там все тупо сделано.

AVK>>и через 2-3 дня у меня все заработает быстрее на те же 10%, если не быстрее. Вот о чем я пытаюсь сказать.

VD>Твоя мысль понятна. И иногда это действительно правильное решение, но все это от безысходности.
От экономии.
VD> Вот елси бы ты действительно мог докупив сервачок и вставив его в кластер поднять (пропроцианально) производительность — это было бы дело.
Ну все, убедил. Для систем определенного уровня кластер чего то вроде blade серверов — вполне приемлемое решение.

VD>Ну, это вопрос об упущенной выгое... Вот ты как считаешь, если ли бы ты отдал $500 на более грамотное проектирование системы и еще $500 на оптимизацию алгоритмов, не вышл бы лучше?

Нет, ибо за такие мизерные деньги я бы нифига не получил.
AVK Blog
Re[22]: jsdk.jar
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.04.02 09:42
Оценка:
Здравствуйте VladD2, Вы писали:

AVK>>Для списков самый распространенный тип — классы.


VD>Это у тебя стереотипы от Явы.

Это у меня стереотип от ООП и паттернов.

AVK>>Он мене как раз нужен.

VD>В конкретном случае. А ты посмотри шире... Этот тормоз же всегда есть.
Я лично для себя не считаю допустимым существенно увеличивать сложность структур в угоду не очень большому приросту быстродействия. Оптимизация по скорости это то чем я буду заниматься в последнюю очередь, когда все уже работает.

AVK>>Он всегда в скорости проигрывает обычной куче. Зато на 100% исключает утечки памяти из-за потеряных указателей. Именно для этого его и придумали.

VD>Ошибаешься. Теоритически GC быстрее обычного хипа. ДонБокс замечательный фокус показывал... демострирующий скорость GC. А мотерь памяти и в VB6 небыло.
Были. В случае потери кольца. Ибо его алгоритм простого подсчета ссылок эти вещи не обрабатывал.

VD>Я бы сказал проще, за счет более продуманного алгоритма.

И перерасхода памяти.

AVK>> Да и винамп наверное немножечко влияет, лишний раз контекст передергивает.

VD>Не, он почти ничего не жрет... проверено.
Жрать то не жрет. Но контекст задачи и кеши процессора лишний раз сбрасывает.
AVK Blog
Re[18]: jsdk.jar
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.04.02 10:02
Оценка:
Здравствуйте VladD2, Вы писали:

VD>Ну, вот простенький... Quake Xxx. Каждая новая версия идет на пределе железа и радует новыми наворотами... и при этом не жертвует играбельностью...

Извини, но это не совсем софт. По крайней мере для меня.
VD> Из облати тебе по ближе... SQL Server 2000 или Oracle 9i.
И ты уверен что они работают на грани возможностей железа? Особенно последний, будучи многоплатформенным.

VD>Вот я тебе и говрю, что нужно всзвешивать и выбирать.

И я тебе тоже самое говорю. О чем мы тогда спорим?

AVK>>Потому как очень много потеряю при этом. А что я потеряю от перехода на LinkedList?

VD>Ничего.
VD>А что ты потеряешь если воспользуешся шаблонами?
А их, как и LinkedList, в C# нету. А так конечно ничего не потеряю.

VD>Не... Я именно этими вопросами и занимался. И что это такое прекрасно знаю. Лажа — это.

Я тоже занимался. И я так не считаю.

AVK>>Так я им говорю что CLR тут никаким местом.

VD>Как это не кместу, если функциональность перекрывается на 100%?
Какую функциональность CORBA перекрывает CLI?

AVK>>А что ты в замен CORBA registry предложишь?

VD>Я не понмаю что это? Назови это русским языком.
Давай с другой стороны. Для WS эта служба называется UDDI.

AVK>>А в дотнете уже не tlb. Тама WSDL.

VD>Господи! От куда ты такого бреда набрался? Меньше читай/смотри рекламу пред сном.

VD>Там сборки!

Это внутренний интерфейс. То что в сборках метаданные хранятся я знаю.
VD>А WSDL это открытый язык которым даже Дельфи пользуетя. Но это дело прменимо только к Web-сервисам.
Так и IDL даже Дельфи пользуется. Но применимо это только к CORBA.

AVK>>Ну значит для тебя и многих тысяч программистов java не подходит. Но для других многих тысяч программистов не подходит дотнет а подходит java.

VD>Естественно.
О чем тогда спор?

AVK>>Отсутствие дотнета в Линуксе

VD>Я еще раз спрашиваю ты про Моно слышал?
Не только слышал. Поэтому и сомневаюсь.

VD>А кто тебе сказал что MS будет отдавать Дэсктоп каким-то там Линухам или Фришкам?

А кто у него спрашивать будет

VD>Так обект определяется его состоянием. В другом месте возьмешь другой объект и загрузишь в него то самое состояние. Между прочим многие EJB-контейнеры так и делают.

Не так. Entity бин он потому и entity что всегда один. И копировать его нельзя.

AVK>>Так у меня они в хештаблице и хранятся. Очередь для другого нужна.

VD>А... Понимаю... управляешь памятью в GC-среде. Ну, что же дело перспективное...
Не памятью — активацией/деактивацией персистентных объектов. Этого GC пока не умеет.

AVK>>А зачем мне бешеный расход памяти, если можно SAX'ом обработать?

VD>В этом случае лучше обойтись каким нубудь Ораклом, ну, или МайСкулем.
Мне как — ораклевую базу туда/сюда таскать. XML именно для обмена данными нужен. Прайсы магазина я в XML хранить не собираюсь.

VD>Ошибаешся. Зайди на http://dotsite.spb.ru/forum/display_forum.asp?fid=4

Ты всерьез полагаешь что я там не был? Там так же скушно, да к тому же неудобно жутко. Наплодили два десятка форумов в каждом из которых одно сообщение в неделю проскакивает. Есть еще gotdotnet.ru — по началу довольно оживленно было. Потом они тоже вместо одного уже пяток наплодили. В результате и там все почти умерло.

AVK>>А объектная модель то тут при чем?

VD>А то что для Явы приходится придумывать "внешние" объектные модели... вроде EJB.
EJB для java это внутренняя модель. J2EE однако.

VD>Я же тебе уже сто раз говорил. В этот раз объекты (хотя можно обойтись и структурами), а в другой int придется. И тут...

Так и я тебе говорю — у меня объекты нужно хранить намного чаще чем int.

Судя по всему у нас с тобой совершенно разные подходы к проектированию. Я стараюсь как можно чаще пользовать паттерны ООП, что в свою очередь подразумевает очень частое использование объектов, полиморфизма и рефлекшена. Переход на простые типы вроде int, чистый SQL и прямое использование WinAPI для меня неприемлемо. И одно из главных преимуществ C# и Java как языков (опять же для меня) — на них максимально просто реализовывать самые часто используемые паттерны.
Поэтому видимо спор наш теряет смысл. Ты меня не убедишь в неправильности моего подхода к проектированию систем, я тебя скорее всего тоже. Поэтому и глядим мы на одни и те же вещи с разных колоколен.
AVK Blog
Re[14]: jsdk.jar
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.04.02 10:04
Оценка:
Здравствуйте VladD2, Вы писали:

AVK>>Опасность в том что изменение одной функции непосредственно влияет на остальные.

VD>Ты о чем? Поясни.
Чем больше зависимостей внутри кода между его частями тем менее надежен код.
AVK Blog
Re[19]: Зачатки флейма ".Net vs. Java2" -- не выйдет!
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.04.02 21:05
Оценка:
Здравствуйте AndrewVK, Вы писали:

VD>>Они развивают свою идеологию. Им важна не только красота, но и производительность.

AVK>Так производительность у Entity бинов, особенно BMP не такая уж и плохая. На некоторых задачах (особенно при большом количестве клиентов) за счет правильного кеширования EJB может быть и побыстрее обычного SQL.

Да. Ну, тогда повтори вот эту операцию.

UPDATE set OperSum = OperSum * 1.2 WHERE OperDate >= '01.01.2002 and OperDate < '01.02.2002'


За одно приведи объем полученого кода на Яве.

Про кеширование я уже говорил в Нэте оно делается в датасете или напрмую в XML-е.

AVK>...И дело тут не в идеологии, а как всегда в бабках. (Ох уж эти бабки, вечно суют свой нос куда не следует. Сидели бы себе на пенсии. :) )


Так бабки идеологию и определяют. :(

VD>>1 и 2.

AVK>Если нужно только 1 и 2 — проще и дешевле использовать сервлеты.

Так в нете любой объект может быть серверным причем без доп. программирования.

AVK>Ремоутинг конечно хорошо. Вот только кешировать придется ручками — иначе будут такие тормозаааааааааааааааааааааааааа.


Вроде в COM+-се все было пучечьком...

VD>>...Ты видел ДатаСэты в Нэт?

AVK>Видел. Увы — сфера применения подобных технологий весьма ограничена.
Конечно... работой с БД.

AVK>Не защита. Фреймворк для аутентификации и авторизации. Подобное в дотнете есть, но только в asp+.


Ты просто еще не все знаешь. К примеру про терариум занаешь? Попробуй написать свой код который завалит их сервер... Вот тогда поговорим о том что в Нэте нет защиты.

AVK>Я в другом топике показал как мне массив подходит :)


Кстати, там (пока мы разговаривали) MS частично открыл коды Нэта. Все коллекции там есть. Как я и говорил все реализовано на массивах. Так что унаследовать очередь от списка не получится.

VD>>
VD>>UPDATE xxx SET fld1 = fld1 + 123 WHERE yyyy
VD>>

VD>>Проще и эфективнее чем все эти извращения.
AVK>Зато менее понятно, больше зависит от конкретного sql сервера, структуры БД.

И что здесь зависит от сервера? Да и понятно все и всем. А главное что эфективенее на три порядка.

AVK>Впрочем сам MS рекомендует пользоваться не дотнет API как можно реже.


В Нэте есть и свои драйверы к БД.

AVK>Основная сложность хранения объектов — преобразование их модели данных к реляционной. Именно здесь случается основной оверхед. А xml уже как бы имеет нереляционную структуру. Хранить же состояние объектов в xml очень легко.


Я не знаю кто чего имеет, вот только в xml курсоры БД превращаются в лет. И работать удобно и эфективно.

VD>> Да и хранить его по человечески БД еще не научилиь, робкие попытки Informix-а в серьез можно не воспринмать.

AVK>А MSSQL чего? Не катит? Я тут один проектик (веб) видел на asp.net. Там ребятки описывают объекты на xml, затем благополучно хранят их ввиде этого самого xml в базе (mssql естественно), а при выводе накидывают xslt прямо на выборку. Все очень красиво.

MSSQL умеет выдавать данные в виде XML, но эфективно хранить XML он не умеет, только в виде обычной текстовой строки.

AVK>>>Автоматические транзакции, в т.ч. и распределенные.

VD>>Ну, это в COM+-се (а вернее MTS-е) было за долго появления их в CORBA-е и Яве.
AVK>Да ладно тебе. CORBA уже фиг знает сколько лет.

Спецификация была, а реализации были такими убогими... Да и спецификация за последнее время сильно изменилась.

VD>>И на сегодня COM+-самая масшатабируемая система управления распределенными тарнзакциями (ссылку на источник давать? :) ). Через некоторое время появится подобная функциональность и для Чистого Нэта, пока можно перебиться COM+-ом.

AVK>Тут кто то писал о том что COM+ в дотнете поддерживается очень криво и MS не собирается это менять "по идеологическим причинам".

Чушь этот ктото писал.

AVK>А вот под задачи где нужны выборки в несколько миллионов записей подобные системы совершенно не рассчитаны. Как впрочем и ado.net тоже. А кеширование там весьма правильное, поскольку для сервера доступно куда больше информации о выполняемых задачах чем для сервера БД.


Если кеширование такое правильное, почему Ява и серверы на ее базе не попдают в качестве серверов транзакций в рейтинки tpc.org?

VD>>Ну, а Entity бины — изначально дохлая идея.

AVK>Странно только — на что та же BEA живет? У ней ведь WebLogic — основной продукт.

Ну, по нашим меркам живет. А так прозибает...

AVK>На свинге можно создавать современный и качественный GUI. Скачай и посмотри ту же IDEA — она небольшая. Ну или JBuilder.


Дай прямой линк на IDEA. Ну, а JBuilder довольно тормозной продукт с интерфейсом значительно уступающим VC.Net.

AVK>Какая главная характеристика спортивной машины? Скорость и время разгона наверное? А платформы, Отнюдь не скорость, иначе все бы до сих пор на ассемблере писали.


Ну, а зачем тогда такие аналогии проводить?

VD>>И ты можешь привести пример когда Ява "надежнее" CLR?

AVK>А это только практика покажет.

Ну, а зачем тогда говорить ерунду непроверенную?

VD>>А что ты думаешь про value-типы?

VD>>Да и про остальные отличия Нэта?
AVK>Какие именно?

Ну, хотя бы value-типы, unsafe-режим, нововедения в C#.

AVK>Использование чего то не по назначению не есть хороший метод.


А что там не по назначению, то? В С++ деструкторы существовали десятки лет и все было по назначению.

VD>>Как-раз CORBA-у к Нэту прикрутить можно.

AVK>Как и ActiveX к Java.

Можем на спор соревнуться. ;) Ты прикрутишь к яве Ax-ы, а я корбу из Ныта заюзаю. :))

VD>>Тем, что Явная VM — это только интерпритатор байт-кода, а у нет это полнофункциональый слой, который прекрасно работает без Шарпа.

AVK>Ты удивишся, но JVM — примерно то же самое.

Примерно, да дне тоже. Как минимум возможность интерпретатци и нет промежуточного языка.

Да я обещал дать ссылку: http://www.optim.ru/Software/rus/newsoft.asp
http://www.optim.ru/Software/rus/ascConcept/ascconcept.asp
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: Зачатки флейма ".Net vs. Java2" -- не выйдет!
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 04.04.02 06:18
Оценка:
Здравствуйте VladD2, Вы писали:

VD>Да. Ну, тогда повтори вот эту операцию.


VD>
VD>UPDATE set OperSum = OperSum * 1.2 WHERE OperDate >= '01.01.2002 and OperDate < '01.02.2002'
VD>


Видишь ли — для EJB тут информации недостаточно. EJB работают в объектной области а не в реляционной. Поэтому важно знать смысл данной обработки. ВПрочем можно на EJB базу натравить такой же update.

VD>Про кеширование я уже говорил в Нэте оно делается в датасете или напрмую в XML-е.

Это немножко не то кеширование. Кеширование аналогичное EJB не реализуемо на датасетах в принципе. Дело в том что при работе с датасетами у нас нет информации какую сущность они представляют. В EJB же механизм примерно такой:
при первом запросу сущности происходит поиск и загрузка этой сущности из базы. При этом она помещается в кеш. Все последующие обращения к этой сущности будут приводить просто к ее выборке из кеша. Если же у тебя датасет — не зная как сущность выражена в таблицах ты подобный алгоритм реализовать не сможешь.

VD>>>1 и 2.

AVK>>Если нужно только 1 и 2 — проще и дешевле использовать сервлеты.
VD>Так в нете любой объект может быть серверным причем без доп. программирования.
Сервлеты это не просто серверные объекты. Сервлеты — аналоги HttpHandler в ASP+

AVK>>Видел. Увы — сфера применения подобных технологий весьма ограничена.

VD>Конечно... работой с БД.
Нет. WS большей частью и некоторыми разновидностями трехзвенки. Управление руками процессом выборки в память для обычных sql-клиентов просто лишнее, для таких задач обычный ADO подходит лучше.

AVK>>Не защита. Фреймворк для аутентификации и авторизации. Подобное в дотнете есть, но только в asp+.

VD>Ты просто еще не все знаешь. К примеру про терариум занаешь? Попробуй написать свой код который завалит их сервер... Вот тогда поговорим о том что в Нэте нет защиты.
Еще раз — JAAS никакого отношения к защите не имеет. Это фреймфорк для аутентификации и авторизации. То что в виндовсе реализуется целым зоопарком API и технологий. Вроде бы есть стандартный windows authentification, но в mssql до сих пор пользуют свой собственный, потому как виндовый неудобен. В старом asp тоже вроде windows authentification использовали. В asp+ свой собственный механизм. Не пора ли сделать что то стандартное?

AVK>>Я в другом топике показал как мне массив подходит :)

VD>Кстати, там (пока мы разговаривали) MS частично открыл коды Нэта. Все коллекции там есть. Как я и говорил все реализовано на массивах. Так что унаследовать очередь от списка не получится.
Ты имеешь ввиду CLI? Кинь тогда мне исходники списков, все качать неохота.
И зачем наследовать очередь от списка? И от какого? Или ты IList имеешь ввиду? Так это не класс а интерфейс. От него не наследовать, его реализовывать надо.

VD>>>
VD>>>UPDATE xxx SET fld1 = fld1 + 123 WHERE yyyy
VD>>>

VD>>>Проще и эфективнее чем все эти извращения.
AVK>>Зато менее понятно, больше зависит от конкретного sql сервера, структуры БД.
VD>И что здесь зависит от сервера? Да и понятно все и всем. А главное что эфективенее на три порядка.
Что тут понятно? Нифига тут не понятно. Кто такой fld1? Что такое yyyy. А если у тебя есть целостность, которую нельзя выразить при помощи check и reference constraints? Тут у тебя два пути — либо писать триггеры и sp, а это уже зависит от сервера, либо втаскивать в клиента логику которая будет твою целостность поддерживать — а это приведет к серьезному усложнению и запутыванию кода.
Впрочем есть же EJB-QL, тот же SQL, но ориентированный на работу с объектами.

AVK>>Впрочем сам MS рекомендует пользоваться не дотнет API как можно реже.

VD>В Нэте есть и свои драйверы к БД.
Да много там чего своего. XML-парсер к примеру.

VD>Я не знаю кто чего имеет, вот только в xml курсоры БД превращаются в лет. И работать удобно и эфективно.

Не, из чего то в xml это очень легко. В этом вся прелесть xml и есть. А вот из xml во что то — уже намного сложнее.

AVK>>А MSSQL чего? Не катит? Я тут один проектик (веб) видел на asp.net. Там ребятки описывают объекты на xml, затем благополучно хранят их ввиде этого самого xml в базе (mssql естественно), а при выводе накидывают xslt прямо на выборку. Все очень красиво.

VD>MSSQL умеет выдавать данные в виде XML, но эфективно хранить XML он не умеет, только в виде обычной текстовой строки.
Я особо не разбирался, но там он именно xml хранил, не ввиде текстовой строки. Вроде бы там использовалось что то дополнительно, тоже от MS но в поставку sql 2000 не входящее. Возможно какие то фишки от Commerce Server или Content Management Server.

AVK>>>>Автоматические транзакции, в т.ч. и распределенные.

VD>>>Ну, это в COM+-се (а вернее MTS-е) было за долго появления их в CORBA-е и Яве.
AVK>>Да ладно тебе. CORBA уже фиг знает сколько лет.
VD>Спецификация была, а реализации были такими убогими... Да и спецификация за последнее время сильно изменилась.
Тебе рассказать про убогость первых реализаций DCOM. У меня тут один проект из-за DCOM чуть не завалился. То есть — писали проект, трехзвенка на DCOM. И все было хорошо. До определенного момента. А потом при приличной нагрузке оно иногда стало вылетать с малопонятными исключениями. Перекопали весь код — ошибок не нашли. Хорошо что система была спроектирована так что механизм взаимодействия был очень хорошо изолирован от всего остального и переписать под CORBA с VisiBrocker удалось быстро. После этого все глюки пропали и больше не появлялись.

AVK>>Тут кто то писал о том что COM+ в дотнете поддерживается очень криво и MS не собирается это менять "по идеологическим причинам".

VD>Чушь этот ктото писал.
Да нет, там даже какие то цитаты от MS были.

VD>Если кеширование такое правильное, почему Ява и серверы на ее базе не попдают в качестве серверов транзакций в рейтинки tpc.org?

А ты про этот тест почитай — что он делает. Для EJB он абсолютно не подходит. Для EJB есть ECPerf.

VD>>>Ну, а Entity бины — изначально дохлая идея.

AVK>>Странно только — на что та же BEA живет? У ней ведь WebLogic — основной продукт.
VD>Ну, по нашим меркам живет. А так прозибает...
Да нет, очень даже неплохо живет. Акции постоянно растут, даже в теперешнее тяжелое время.

VD>Дай прямой линк на IDEA.

http://www.intellij.com/downloads/idea-2_5_2.zip
но там все равно регистрироваться нужно чтобы evaluation key получить

VD>Ну, а JBuilder довольно тормозной продукт с интерфейсом значительно уступающим VC.Net.

Ты какую версию последней видел?

AVK>>Какая главная характеристика спортивной машины? Скорость и время разгона наверное? А платформы, Отнюдь не скорость, иначе все бы до сих пор на ассемблере писали.

VD>Ну, а зачем тогда такие аналогии проводить?
А ты измерения преобразовать не в состоянии?

VD>>>Да и про остальные отличия Нэта?

AVK>>Какие именно?

VD>unsafe-режим,

Трудно сказать насколько он необходим. Мне он просто не нужен в текущих задачах. Так что даже не знаю.

VD> нововедения в C#.

Какие именно?

AVK>>Использование чего то не по назначению не есть хороший метод.

VD>А что там не по назначению, то? В С++ деструкторы существовали десятки лет и все было по назначению.
struct не есть объект в чистом виде. Они для другого предназначены — для хранения сложных наборов данных.

VD>>>Как-раз CORBA-у к Нэту прикрутить можно.

AVK>>Как и ActiveX к Java.
VD>Можем на спор соревнуться. ;) Ты прикрутишь к яве Ax-ы, а я корбу из Ныта заюзаю. :))
Ага, ты CORBA клиента руками писать будешь? А я просто COM2Java bridge заюзаю.

AVK>>Ты удивишся, но JVM — примерно то же самое.

VD>Примерно, да дне тоже. Как минимум возможность интерпретатци
Возможность интерпретации чего?
VD> и нет промежуточного языка.
А куда ж он делся. У Java тоже свой ассемблер есть.
AVK Blog
Re[20]: Зачатки флейма ".Net vs. Java2" -- не выйдет!
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 04.04.02 06:19
Оценка:
Здравствуйте VladD2, Вы писали:

VD>Да. Ну, тогда повтори вот эту операцию.


VD>
VD>UPDATE set OperSum = OperSum * 1.2 WHERE OperDate >= '01.01.2002 and OperDate < '01.02.2002'
VD>


Видишь ли — для EJB тут информации недостаточно. EJB работают в объектной области а не в реляционной. Поэтому важно знать смысл данной обработки. ВПрочем можно на EJB базу натравить такой же update.

VD>Про кеширование я уже говорил в Нэте оно делается в датасете или напрмую в XML-е.

Это немножко не то кеширование. Кеширование аналогичное EJB не реализуемо на датасетах в принципе. Дело в том что при работе с датасетами у нас нет информации какую сущность они представляют. В EJB же механизм примерно такой:
при первом запросу сущности происходит поиск и загрузка этой сущности из базы. При этом она помещается в кеш. Все последующие обращения к этой сущности будут приводить просто к ее выборке из кеша. Если же у тебя датасет — не зная как сущность выражена в таблицах ты подобный алгоритм реализовать не сможешь.

VD>>>1 и 2.

AVK>>Если нужно только 1 и 2 — проще и дешевле использовать сервлеты.
VD>Так в нете любой объект может быть серверным причем без доп. программирования.
Сервлеты это не просто серверные объекты. Сервлеты — аналоги HttpHandler в ASP+

AVK>>Видел. Увы — сфера применения подобных технологий весьма ограничена.

VD>Конечно... работой с БД.
Нет. WS большей частью и некоторыми разновидностями трехзвенки. Управление руками процессом выборки в память для обычных sql-клиентов просто лишнее, для таких задач обычный ADO подходит лучше.

AVK>>Не защита. Фреймворк для аутентификации и авторизации. Подобное в дотнете есть, но только в asp+.

VD>Ты просто еще не все знаешь. К примеру про терариум занаешь? Попробуй написать свой код который завалит их сервер... Вот тогда поговорим о том что в Нэте нет защиты.
Еще раз — JAAS никакого отношения к защите не имеет. Это фреймфорк для аутентификации и авторизации. То что в виндовсе реализуется целым зоопарком API и технологий. Вроде бы есть стандартный windows authentification, но в mssql до сих пор пользуют свой собственный, потому как виндовый неудобен. В старом asp тоже вроде windows authentification использовали. В asp+ свой собственный механизм. Не пора ли сделать что то стандартное?

AVK>>Я в другом топике показал как мне массив подходит :)

VD>Кстати, там (пока мы разговаривали) MS частично открыл коды Нэта. Все коллекции там есть. Как я и говорил все реализовано на массивах. Так что унаследовать очередь от списка не получится.
Ты имеешь ввиду CLI? Кинь тогда мне исходники списков, все качать неохота.
И зачем наследовать очередь от списка? И от какого? Или ты IList имеешь ввиду? Так это не класс а интерфейс. От него не наследовать, его реализовывать надо.

VD>>>
VD>>>UPDATE xxx SET fld1 = fld1 + 123 WHERE yyyy
VD>>>

VD>>>Проще и эфективнее чем все эти извращения.
AVK>>Зато менее понятно, больше зависит от конкретного sql сервера, структуры БД.
VD>И что здесь зависит от сервера? Да и понятно все и всем. А главное что эфективенее на три порядка.
Что тут понятно? Нифига тут не понятно. Кто такой fld1? Что такое yyyy. А если у тебя есть целостность, которую нельзя выразить при помощи check и reference constraints? Тут у тебя два пути — либо писать триггеры и sp, а это уже зависит от сервера, либо втаскивать в клиента логику которая будет твою целостность поддерживать — а это приведет к серьезному усложнению и запутыванию кода.
Впрочем есть же EJB-QL, тот же SQL, но ориентированный на работу с объектами.

AVK>>Впрочем сам MS рекомендует пользоваться не дотнет API как можно реже.

VD>В Нэте есть и свои драйверы к БД.
Да много там чего своего. XML-парсер к примеру.

VD>Я не знаю кто чего имеет, вот только в xml курсоры БД превращаются в лет. И работать удобно и эфективно.

Не, из чего то в xml это очень легко. В этом вся прелесть xml и есть. А вот из xml во что то — уже намного сложнее.

AVK>>А MSSQL чего? Не катит? Я тут один проектик (веб) видел на asp.net. Там ребятки описывают объекты на xml, затем благополучно хранят их ввиде этого самого xml в базе (mssql естественно), а при выводе накидывают xslt прямо на выборку. Все очень красиво.

VD>MSSQL умеет выдавать данные в виде XML, но эфективно хранить XML он не умеет, только в виде обычной текстовой строки.
Я особо не разбирался, но там он именно xml хранил, не ввиде текстовой строки. Вроде бы там использовалось что то дополнительно, тоже от MS но в поставку sql 2000 не входящее. Возможно какие то фишки от Commerce Server или Content Management Server.

AVK>>>>Автоматические транзакции, в т.ч. и распределенные.

VD>>>Ну, это в COM+-се (а вернее MTS-е) было за долго появления их в CORBA-е и Яве.
AVK>>Да ладно тебе. CORBA уже фиг знает сколько лет.
VD>Спецификация была, а реализации были такими убогими... Да и спецификация за последнее время сильно изменилась.
Тебе рассказать про убогость первых реализаций DCOM. У меня тут один проект из-за DCOM чуть не завалился. То есть — писали проект, трехзвенка на DCOM. И все было хорошо. До определенного момента. А потом при приличной нагрузке оно иногда стало вылетать с малопонятными исключениями. Перекопали весь код — ошибок не нашли. Хорошо что система была спроектирована так что механизм взаимодействия был очень хорошо изолирован от всего остального и переписать под CORBA с VisiBrocker удалось быстро. После этого все глюки пропали и больше не появлялись.

AVK>>Тут кто то писал о том что COM+ в дотнете поддерживается очень криво и MS не собирается это менять "по идеологическим причинам".

VD>Чушь этот ктото писал.
Да нет, там даже какие то цитаты от MS были.

VD>Если кеширование такое правильное, почему Ява и серверы на ее базе не попдают в качестве серверов транзакций в рейтинки tpc.org?

А ты про этот тест почитай — что он делает. Для EJB он абсолютно не подходит. Для EJB есть ECPerf.

VD>>>Ну, а Entity бины — изначально дохлая идея.

AVK>>Странно только — на что та же BEA живет? У ней ведь WebLogic — основной продукт.
VD>Ну, по нашим меркам живет. А так прозибает...
Да нет, очень даже неплохо живет. Акции постоянно растут, даже в теперешнее тяжелое время.

VD>Дай прямой линк на IDEA.

http://www.intellij.com/downloads/idea-2_5_2.zip
но там все равно регистрироваться нужно чтобы evaluation key получить

VD>Ну, а JBuilder довольно тормозной продукт с интерфейсом значительно уступающим VC.Net.

Ты какую версию последней видел?

AVK>>Какая главная характеристика спортивной машины? Скорость и время разгона наверное? А платформы, Отнюдь не скорость, иначе все бы до сих пор на ассемблере писали.

VD>Ну, а зачем тогда такие аналогии проводить?
А ты измерения преобразовать не в состоянии?

VD>>>Да и про остальные отличия Нэта?

AVK>>Какие именно?

VD>unsafe-режим,

Трудно сказать насколько он необходим. Мне он просто не нужен в текущих задачах. Так что даже не знаю.

VD> нововедения в C#.

Какие именно?

AVK>>Использование чего то не по назначению не есть хороший метод.

VD>А что там не по назначению, то? В С++ деструкторы существовали десятки лет и все было по назначению.
struct не есть объект в чистом виде. Они для другого предназначены — для хранения сложных наборов данных.

VD>>>Как-раз CORBA-у к Нэту прикрутить можно.

AVK>>Как и ActiveX к Java.
VD>Можем на спор соревнуться. ;) Ты прикрутишь к яве Ax-ы, а я корбу из Ныта заюзаю. :))
Ага, ты CORBA клиента руками писать будешь? А я просто COM2Java bridge заюзаю.

AVK>>Ты удивишся, но JVM — примерно то же самое.

VD>Примерно, да дне тоже. Как минимум возможность интерпретатци
Возможность интерпретации чего?
VD> и нет промежуточного языка.
А куда ж он делся. У Java тоже свой ассемблер есть.
AVK Blog
Re[20]: Зачатки флейма ".Net vs. Java2" -- не выйдет!
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 04.04.02 06:20
Оценка:
Здравствуйте VladD2, Вы писали:

VD>Да. Ну, тогда повтори вот эту операцию.


VD>
VD>UPDATE set OperSum = OperSum * 1.2 WHERE OperDate >= '01.01.2002 and OperDate < '01.02.2002'
VD>


Видишь ли — для EJB тут информации недостаточно. EJB работают в объектной области а не в реляционной. Поэтому важно знать смысл данной обработки. ВПрочем можно на EJB базу натравить такой же update.

VD>Про кеширование я уже говорил в Нэте оно делается в датасете или напрмую в XML-е.

Это немножко не то кеширование. Кеширование аналогичное EJB не реализуемо на датасетах в принципе. Дело в том что при работе с датасетами у нас нет информации какую сущность они представляют. В EJB же механизм примерно такой:
при первом запросу сущности происходит поиск и загрузка этой сущности из базы. При этом она помещается в кеш. Все последующие обращения к этой сущности будут приводить просто к ее выборке из кеша. Если же у тебя датасет — не зная как сущность выражена в таблицах ты подобный алгоритм реализовать не сможешь.

VD>>>1 и 2.

AVK>>Если нужно только 1 и 2 — проще и дешевле использовать сервлеты.
VD>Так в нете любой объект может быть серверным причем без доп. программирования.
Сервлеты это не просто серверные объекты. Сервлеты — аналоги HttpHandler в ASP+

AVK>>Видел. Увы — сфера применения подобных технологий весьма ограничена.

VD>Конечно... работой с БД.
Нет. WS большей частью и некоторыми разновидностями трехзвенки. Управление руками процессом выборки в память для обычных sql-клиентов просто лишнее, для таких задач обычный ADO подходит лучше.

AVK>>Не защита. Фреймворк для аутентификации и авторизации. Подобное в дотнете есть, но только в asp+.

VD>Ты просто еще не все знаешь. К примеру про терариум занаешь? Попробуй написать свой код который завалит их сервер... Вот тогда поговорим о том что в Нэте нет защиты.
Еще раз — JAAS никакого отношения к защите не имеет. Это фреймфорк для аутентификации и авторизации. То что в виндовсе реализуется целым зоопарком API и технологий. Вроде бы есть стандартный windows authentification, но в mssql до сих пор пользуют свой собственный, потому как виндовый неудобен. В старом asp тоже вроде windows authentification использовали. В asp+ свой собственный механизм. Не пора ли сделать что то стандартное?

AVK>>Я в другом топике показал как мне массив подходит :)

VD>Кстати, там (пока мы разговаривали) MS частично открыл коды Нэта. Все коллекции там есть. Как я и говорил все реализовано на массивах. Так что унаследовать очередь от списка не получится.
Ты имеешь ввиду CLI? Кинь тогда мне исходники списков, все качать неохота.
И зачем наследовать очередь от списка? И от какого? Или ты IList имеешь ввиду? Так это не класс а интерфейс. От него не наследовать, его реализовывать надо.

VD>>>
VD>>>UPDATE xxx SET fld1 = fld1 + 123 WHERE yyyy
VD>>>

VD>>>Проще и эфективнее чем все эти извращения.
AVK>>Зато менее понятно, больше зависит от конкретного sql сервера, структуры БД.
VD>И что здесь зависит от сервера? Да и понятно все и всем. А главное что эфективенее на три порядка.
Что тут понятно? Нифига тут не понятно. Кто такой fld1? Что такое yyyy. А если у тебя есть целостность, которую нельзя выразить при помощи check и reference constraints? Тут у тебя два пути — либо писать триггеры и sp, а это уже зависит от сервера, либо втаскивать в клиента логику которая будет твою целостность поддерживать — а это приведет к серьезному усложнению и запутыванию кода.
Впрочем есть же EJB-QL, тот же SQL, но ориентированный на работу с объектами.

AVK>>Впрочем сам MS рекомендует пользоваться не дотнет API как можно реже.

VD>В Нэте есть и свои драйверы к БД.
Да много там чего своего. XML-парсер к примеру.

VD>Я не знаю кто чего имеет, вот только в xml курсоры БД превращаются в лет. И работать удобно и эфективно.

Не, из чего то в xml это очень легко. В этом вся прелесть xml и есть. А вот из xml во что то — уже намного сложнее.

AVK>>А MSSQL чего? Не катит? Я тут один проектик (веб) видел на asp.net. Там ребятки описывают объекты на xml, затем благополучно хранят их ввиде этого самого xml в базе (mssql естественно), а при выводе накидывают xslt прямо на выборку. Все очень красиво.

VD>MSSQL умеет выдавать данные в виде XML, но эфективно хранить XML он не умеет, только в виде обычной текстовой строки.
Я особо не разбирался, но там он именно xml хранил, не ввиде текстовой строки. Вроде бы там использовалось что то дополнительно, тоже от MS но в поставку sql 2000 не входящее. Возможно какие то фишки от Commerce Server или Content Management Server.

AVK>>>>Автоматические транзакции, в т.ч. и распределенные.

VD>>>Ну, это в COM+-се (а вернее MTS-е) было за долго появления их в CORBA-е и Яве.
AVK>>Да ладно тебе. CORBA уже фиг знает сколько лет.
VD>Спецификация была, а реализации были такими убогими... Да и спецификация за последнее время сильно изменилась.
Тебе рассказать про убогость первых реализаций DCOM. У меня тут один проект из-за DCOM чуть не завалился. То есть — писали проект, трехзвенка на DCOM. И все было хорошо. До определенного момента. А потом при приличной нагрузке оно иногда стало вылетать с малопонятными исключениями. Перекопали весь код — ошибок не нашли. Хорошо что система была спроектирована так что механизм взаимодействия был очень хорошо изолирован от всего остального и переписать под CORBA с VisiBrocker удалось быстро. После этого все глюки пропали и больше не появлялись.

AVK>>Тут кто то писал о том что COM+ в дотнете поддерживается очень криво и MS не собирается это менять "по идеологическим причинам".

VD>Чушь этот ктото писал.
Да нет, там даже какие то цитаты от MS были.

VD>Если кеширование такое правильное, почему Ява и серверы на ее базе не попдают в качестве серверов транзакций в рейтинки tpc.org?

А ты про этот тест почитай — что он делает. Для EJB он абсолютно не подходит. Для EJB есть ECPerf.

VD>>>Ну, а Entity бины — изначально дохлая идея.

AVK>>Странно только — на что та же BEA живет? У ней ведь WebLogic — основной продукт.
VD>Ну, по нашим меркам живет. А так прозибает...
Да нет, очень даже неплохо живет. Акции постоянно растут, даже в теперешнее тяжелое время.

VD>Дай прямой линк на IDEA.

http://www.intellij.com/downloads/idea-2_5_2.zip
но там все равно регистрироваться нужно чтобы evaluation key получить

VD>Ну, а JBuilder довольно тормозной продукт с интерфейсом значительно уступающим VC.Net.

Ты какую версию последней видел?

AVK>>Какая главная характеристика спортивной машины? Скорость и время разгона наверное? А платформы, Отнюдь не скорость, иначе все бы до сих пор на ассемблере писали.

VD>Ну, а зачем тогда такие аналогии проводить?
А ты измерения преобразовать не в состоянии?

VD>>>Да и про остальные отличия Нэта?

AVK>>Какие именно?

VD>unsafe-режим,

Трудно сказать насколько он необходим. Мне он просто не нужен в текущих задачах. Так что даже не знаю.

VD> нововедения в C#.

Какие именно?

AVK>>Использование чего то не по назначению не есть хороший метод.

VD>А что там не по назначению, то? В С++ деструкторы существовали десятки лет и все было по назначению.
struct не есть объект в чистом виде. Они для другого предназначены — для хранения сложных наборов данных.

VD>>>Как-раз CORBA-у к Нэту прикрутить можно.

AVK>>Как и ActiveX к Java.
VD>Можем на спор соревнуться. ;) Ты прикрутишь к яве Ax-ы, а я корбу из Ныта заюзаю. :))
Ага, ты CORBA клиента руками писать будешь? А я просто COM2Java bridge заюзаю.

AVK>>Ты удивишся, но JVM — примерно то же самое.

VD>Примерно, да дне тоже. Как минимум возможность интерпретатци
Возможность интерпретации чего?
VD> и нет промежуточного языка.
А куда ж он делся. У Java тоже свой ассемблер есть.
AVK Blog
Re[20]: Зачатки флейма ".Net vs. Java2" -- не выйдет!
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 04.04.02 06:28
Оценка:
Здравствуйте VladD2, Вы писали:

VD>Да. Ну, тогда повтори вот эту операцию.


VD>
VD>UPDATE set OperSum = OperSum * 1.2 WHERE OperDate >= '01.01.2002 and OperDate < '01.02.2002'
VD>


Видишь ли — для EJB тут информации недостаточно. EJB работают в объектной области а не в реляционной. Поэтому важно знать смысл данной обработки. ВПрочем можно на EJB базу натравить такой же update.

VD>Про кеширование я уже говорил в Нэте оно делается в датасете или напрмую в XML-е.

Это немножко не то кеширование. Кеширование аналогичное EJB не реализуемо на датасетах в принципе. Дело в том что при работе с датасетами у нас нет информации какую сущность они представляют. В EJB же механизм примерно такой:
при первом запросу сущности происходит поиск и загрузка этой сущности из базы. При этом она помещается в кеш. Все последующие обращения к этой сущности будут приводить просто к ее выборке из кеша. Если же у тебя датасет — не зная как сущность выражена в таблицах ты подобный алгоритм реализовать не сможешь.

VD>>>1 и 2.

AVK>>Если нужно только 1 и 2 — проще и дешевле использовать сервлеты.
VD>Так в нете любой объект может быть серверным причем без доп. программирования.
Сервлеты это не просто серверные объекты. Сервлеты — аналоги HttpHandler в ASP+

AVK>>Видел. Увы — сфера применения подобных технологий весьма ограничена.

VD>Конечно... работой с БД.
Нет. WS большей частью и некоторыми разновидностями трехзвенки. Управление руками процессом выборки в память для обычных sql-клиентов просто лишнее, для таких задач обычный ADO подходит лучше.

AVK>>Не защита. Фреймворк для аутентификации и авторизации. Подобное в дотнете есть, но только в asp+.

VD>Ты просто еще не все знаешь. К примеру про терариум занаешь? Попробуй написать свой код который завалит их сервер... Вот тогда поговорим о том что в Нэте нет защиты.
Еще раз — JAAS никакого отношения к защите не имеет. Это фреймфорк для аутентификации и авторизации. То что в виндовсе реализуется целым зоопарком API и технологий. Вроде бы есть стандартный windows authentification, но в mssql до сих пор пользуют свой собственный, потому как виндовый неудобен. В старом asp тоже вроде windows authentification использовали. В asp+ свой собственный механизм. Не пора ли сделать что то стандартное?

AVK>>Я в другом топике показал как мне массив подходит :)

VD>Кстати, там (пока мы разговаривали) MS частично открыл коды Нэта. Все коллекции там есть. Как я и говорил все реализовано на массивах. Так что унаследовать очередь от списка не получится.
Ты имеешь ввиду CLI? Кинь тогда мне исходники списков, все качать неохота.
И зачем наследовать очередь от списка? И от какого? Или ты IList имеешь ввиду? Так это не класс а интерфейс. От него не наследовать, его реализовывать надо.

VD>>>
VD>>>UPDATE xxx SET fld1 = fld1 + 123 WHERE yyyy
VD>>>

VD>>>Проще и эфективнее чем все эти извращения.
AVK>>Зато менее понятно, больше зависит от конкретного sql сервера, структуры БД.
VD>И что здесь зависит от сервера? Да и понятно все и всем. А главное что эфективенее на три порядка.
Что тут понятно? Нифига тут не понятно. Кто такой fld1? Что такое yyyy. А если у тебя есть целостность, которую нельзя выразить при помощи check и reference constraints? Тут у тебя два пути — либо писать триггеры и sp, а это уже зависит от сервера, либо втаскивать в клиента логику которая будет твою целостность поддерживать — а это приведет к серьезному усложнению и запутыванию кода.
Впрочем есть же EJB-QL, тот же SQL, но ориентированный на работу с объектами.

AVK>>Впрочем сам MS рекомендует пользоваться не дотнет API как можно реже.

VD>В Нэте есть и свои драйверы к БД.
Да много там чего своего. XML-парсер к примеру.

VD>Я не знаю кто чего имеет, вот только в xml курсоры БД превращаются в лет. И работать удобно и эфективно.

Не, из чего то в xml это очень легко. В этом вся прелесть xml и есть. А вот из xml во что то — уже намного сложнее.

AVK>>А MSSQL чего? Не катит? Я тут один проектик (веб) видел на asp.net. Там ребятки описывают объекты на xml, затем благополучно хранят их ввиде этого самого xml в базе (mssql естественно), а при выводе накидывают xslt прямо на выборку. Все очень красиво.

VD>MSSQL умеет выдавать данные в виде XML, но эфективно хранить XML он не умеет, только в виде обычной текстовой строки.
Я особо не разбирался, но там он именно xml хранил, не ввиде текстовой строки. Вроде бы там использовалось что то дополнительно, тоже от MS но в поставку sql 2000 не входящее. Возможно какие то фишки от Commerce Server или Content Management Server.

AVK>>>>Автоматические транзакции, в т.ч. и распределенные.

VD>>>Ну, это в COM+-се (а вернее MTS-е) было за долго появления их в CORBA-е и Яве.
AVK>>Да ладно тебе. CORBA уже фиг знает сколько лет.
VD>Спецификация была, а реализации были такими убогими... Да и спецификация за последнее время сильно изменилась.
Тебе рассказать про убогость первых реализаций DCOM. У меня тут один проект из-за DCOM чуть не завалился. То есть — писали проект, трехзвенка на DCOM. И все было хорошо. До определенного момента. А потом при приличной нагрузке оно иногда стало вылетать с малопонятными исключениями. Перекопали весь код — ошибок не нашли. Хорошо что система была спроектирована так что механизм взаимодействия был очень хорошо изолирован от всего остального и переписать под CORBA с VisiBrocker удалось быстро. После этого все глюки пропали и больше не появлялись.

AVK>>Тут кто то писал о том что COM+ в дотнете поддерживается очень криво и MS не собирается это менять "по идеологическим причинам".

VD>Чушь этот ктото писал.
Да нет, там даже какие то цитаты от MS были.

VD>Если кеширование такое правильное, почему Ява и серверы на ее базе не попдают в качестве серверов транзакций в рейтинки tpc.org?

А ты про этот тест почитай — что он делает. Для EJB он абсолютно не подходит. Для EJB есть ECPerf.

VD>>>Ну, а Entity бины — изначально дохлая идея.

AVK>>Странно только — на что та же BEA живет? У ней ведь WebLogic — основной продукт.
VD>Ну, по нашим меркам живет. А так прозибает...
Да нет, очень даже неплохо живет. Акции постоянно растут, даже в теперешнее тяжелое время.

VD>Дай прямой линк на IDEA.

http://www.intellij.com/downloads/idea-2_5_2.zip
но там все равно регистрироваться нужно чтобы evaluation key получить

VD>Ну, а JBuilder довольно тормозной продукт с интерфейсом значительно уступающим VC.Net.

Ты какую версию последней видел?

AVK>>Какая главная характеристика спортивной машины? Скорость и время разгона наверное? А платформы, Отнюдь не скорость, иначе все бы до сих пор на ассемблере писали.

VD>Ну, а зачем тогда такие аналогии проводить?
А ты измерения преобразовать не в состоянии?

VD>>>Да и про остальные отличия Нэта?

AVK>>Какие именно?

VD>unsafe-режим,

Трудно сказать насколько он необходим. Мне он просто не нужен в текущих задачах. Так что даже не знаю.

VD> нововедения в C#.

Какие именно?

AVK>>Использование чего то не по назначению не есть хороший метод.

VD>А что там не по назначению, то? В С++ деструкторы существовали десятки лет и все было по назначению.
struct не есть объект в чистом виде. Они для другого предназначены — для хранения сложных наборов данных.

VD>>>Как-раз CORBA-у к Нэту прикрутить можно.

AVK>>Как и ActiveX к Java.
VD>Можем на спор соревнуться. ;) Ты прикрутишь к яве Ax-ы, а я корбу из Ныта заюзаю. :))
Ага, ты CORBA клиента руками писать будешь? А я просто COM2Java bridge заюзаю.

AVK>>Ты удивишся, но JVM — примерно то же самое.

VD>Примерно, да дне тоже. Как минимум возможность интерпретатци
Возможность интерпретации чего?
VD> и нет промежуточного языка.
А куда ж он делся. У Java тоже свой ассемблер есть.
AVK Blog
Re[15]: jsdk.jar
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.04.02 18:00
Оценка:
Здравствуйте AndrewVK, Вы писали:

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


AVK>>>Опасность в том что изменение одной функции непосредственно влияет на остальные.

VD>>Ты о чем? Поясни.
AVK>Чем больше зависимостей внутри кода между его частями тем менее надежен код.

Ну, и причем тут это?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.