Здравствуйте 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> Да и винамп наверное немножечко влияет, лишний раз контекст передергивает.
Не, он почти ничего не жрет... проверено.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте 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>В России здесь самый оживленный форум.
Да... Скоро мы затмим всех. :)))
ТAVK>>>И чем тебя не устроила ее объектная модель? VD>>Ну, ты посмотри CodeDom, Emit, дезайнеры типов, броузер свойств, да и сами свойства которые есть в EJB, но нет в самой Яве, и т.п. И покажи аналоги в Яве. А то может я просто чего не знаю? AVK>А объектная модель то тут при чем?
А то что для Явы приходится придумывать "внешние" объектные модели... вроде EJB.
VD>>Не, не чувствую. Я разницу в скорости чувствую. Мне 4 байта хранить нужно. Из солидарности с апологетами плиморфизма я этого делать не намерен. AVK>А мне в коллекциях объекты хранить надо. Мне повеситься или утопиться?
Я же тебе уже сто раз говорил. В этот раз объекты (хотя можно обойтись и структурами), а в другой int придется. И тут...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте 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" -- не выйдет!
Здравствуйте iZEN, Вы писали:
IT>>От переносимости я при случае конечно не откажусь, но надобности в этом в моих задачах я пока не просматриваю даже в микроскоп. Возможно это и актуально в мире Юникс, где возможно существуют реальные проблемы переносимости внутри одного клона операционных систем, но это их проблемы. Мне переносимость пока не нужна и я буду стараться избегать этого как можно дольше, т.к. считаю её источником проблем.
ZEN>Ну вот, переносимость для Вас -- это источник проблем. Странно. Если так случится, что Вам надо будет большой проект перенести/портировать под более мощную платформу(не-Win32), будете переписывать всё с нуля?
А так ли часто возникает вот эта самая мифическая "необходимость большой проект перенести/портировать под более мощную платформу (не Win32)"? Приведите примеры, а? Действительно интересно!
IT>>Лично мне что 12, что 20, что 120 без разницы. Но зато Java нет на CD в RSDN Mag, а .NET FSDK есть и скачивать ничего не надо.
ZEN>А по сети слабо качнуть? Как многие это делают/предстоит сделать.
Кому это многим? Западным странам? Так это им примерно так же, как нам сходить на рынок за компактами. А у нас как всегда единицы действительно скачают, а потом просто будет все выложено на раскладках. И что самое интересное — это вполне законно, насколько я понимаю.
Здравствуйте The Lex, Вы писали:
TL>Здравствуйте iZEN, Вы писали:
IT>>>От переносимости я при случае конечно не откажусь, но надобности в этом в моих задачах я пока не просматриваю даже в микроскоп. Возможно это и актуально в мире Юникс, где возможно существуют реальные проблемы переносимости внутри одного клона операционных систем, но это их проблемы. Мне переносимость пока не нужна и я буду стараться избегать этого как можно дольше, т.к. считаю её источником проблем.
ZEN>>Ну вот, переносимость для Вас -- это источник проблем. Странно. Если так случится, что Вам надо будет большой проект перенести/портировать под более мощную платформу(не-Win32), будете переписывать всё с нуля?
TL>А так ли часто возникает вот эта самая мифическая "необходимость большой проект перенести/портировать под более мощную платформу (не Win32)"? Приведите примеры, а? Действительно интересно!
Скажем так, мне приходится работать с зоопарком машин и я не хочу что-то делать дважды и трижды. :user:
Re[18]: Зачатки флейма ".Net vs. Java2" -- не выйдет!
Здравствуйте 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 — примерно то же самое.
Здравствуйте 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 на оптимизацию алгоритмов, не вышл бы лучше?
Нет, ибо за такие мизерные деньги я бы нифига не получил.
Здравствуйте VladD2, Вы писали:
AVK>>Для списков самый распространенный тип — классы.
VD>Это у тебя стереотипы от Явы.
Это у меня стереотип от ООП и паттернов.
AVK>>Он мене как раз нужен. VD>В конкретном случае. А ты посмотри шире... Этот тормоз же всегда есть.
Я лично для себя не считаю допустимым существенно увеличивать сложность структур в угоду не очень большому приросту быстродействия. Оптимизация по скорости это то чем я буду заниматься в последнюю очередь, когда все уже работает.
AVK>>Он всегда в скорости проигрывает обычной куче. Зато на 100% исключает утечки памяти из-за потеряных указателей. Именно для этого его и придумали. VD>Ошибаешься. Теоритически GC быстрее обычного хипа. ДонБокс замечательный фокус показывал... демострирующий скорость GC. А мотерь памяти и в VB6 небыло.
Были. В случае потери кольца. Ибо его алгоритм простого подсчета ссылок эти вещи не обрабатывал.
VD>Я бы сказал проще, за счет более продуманного алгоритма.
И перерасхода памяти.
AVK>> Да и винамп наверное немножечко влияет, лишний раз контекст передергивает. VD>Не, он почти ничего не жрет... проверено.
Жрать то не жрет. Но контекст задачи и кеши процессора лишний раз сбрасывает.
Здравствуйте 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 как языков (опять же для меня) — на них максимально просто реализовывать самые часто используемые паттерны.
Поэтому видимо спор наш теряет смысл. Ты меня не убедишь в неправильности моего подхода к проектированию систем, я тебя скорее всего тоже. Поэтому и глядим мы на одни и те же вещи с разных колоколен.
Здравствуйте VladD2, Вы писали:
AVK>>Опасность в том что изменение одной функции непосредственно влияет на остальные. VD>Ты о чем? Поясни.
Чем больше зависимостей внутри кода между его частями тем менее надежен код.
Здравствуйте 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 — примерно то же самое.
Примерно, да дне тоже. Как минимум возможность интерпретатци и нет промежуточного языка.
Здравствуйте 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 тоже свой ассемблер есть.
Здравствуйте 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 тоже свой ассемблер есть.
Здравствуйте 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 тоже свой ассемблер есть.
Здравствуйте 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 тоже свой ассемблер есть.
Здравствуйте AndrewVK, Вы писали:
AVK>Здравствуйте VladD2, Вы писали:
AVK>>>Опасность в том что изменение одной функции непосредственно влияет на остальные. VD>>Ты о чем? Поясни. AVK>Чем больше зависимостей внутри кода между его частями тем менее надежен код.
Ну, и причем тут это?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.