На главную страницу AlgoNet В сотрудничестве с ZDNet
АРХИВ СТАТЕЙ 2002-12-17 на главную / новости от 2002-12-17
AlgoNet.ru
поиск

 

Место для Вашей рекламы!

 

Все новости от 17 декабря 2002 г.

Microsoft усиливает защиту в .Net

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

Microsoft представила Web Services Enhancements (WSE) 1.0, пакет дополнений к своему инструментальному программному обеспечению .Net, отвечающий последним стандартам безопасности, маршрутизации сообщений и передачи файловых вложений через веб-сервисы. Разработчики могут загрузить этот пакет бесплатно и использовать его совместно с комплектом инструментов разработки Microsoft Visual Studio.Net.

За прошедший год Microsoft в рамках своей инициативы .Net выпустила ряд инструментов программирования и ПО, обеспечивающих соответствие приложений стандартам веб-сервисов. Новые инструменты отвечают стандарту Web Services Security (WS-S), разработанному совместно IBM и Microsoft. Оригинальный набор стандартов веб-сервисов не охватывает средства защиты, а соответствие WS-S и другим спецификациям безопасности имеет важное значение для освоения веб-сервисов корпорациями.

Воплощение WS-S Microsoft «позволяет компаниям подписывать сообщения цифровой подписью, чтобы получатель был уверен в их подлинности и неприкосновенности», пояснила продакт-менеджер по веб-сервисам Microsoft Ребекка Диаз (Rebecca Dias), добавив, что компании могут использовать для авторизации доступа пользователей и существующие средства безопасности, такие как PKI (public key infrastructure), Kerberos или сетевой каталог Microsoft.

В числе других дополнений к WSE поддержка еще двух новых стандартов веб-сервисов — WS-Routing и WS-Attachments. Поддержка WS-Routing позволяет приложениям направлять задачи на конкретный веб-сервер с целью оптимизации производительности или обслуживания веб-страниц, связанных с местонахождением заказчика. WS-Attachments дает программистам больше средств управления файлами, присоединяемыми к веб-сервисам — таким как медиафайлы — для повышения производительности приложений.

В понедельник Microsoft объявила также, что три софтверные компании планируют внести новые дополнения в свои продукты. Это компания WRQ, специализирующаяся на средствах доступа к данным на мейнфреймах, фирма F5 Networks, разрабатывающая веб-сервисы, и компания WestGlobal, поставляющая ПО управления веб-сервисами.

IBM, со своей стороны, недавно предложила собственному сообществу разработчиков комплект инструментов Web services Toolkit (WSTK). WSTK 3.3 содержит средства совершенствования управления приложениями на основе веб-сервисов и их тестирования перед внедрением. 

 Предыдущие публикации:
2002-12-03   Microsoft меняет правила лицензирования
2002-12-10   В Office 11 будут профессиональные инструменты разработки
 В продолжение темы:
2003-02-12   Microsoft рисует будущее Visual Studio.Net
Обсуждение и комментарии
LSupplier - lsupplierdonotspamme.pl
17 Dec 2002 3:05 PM
Мля, наконец-то Майкрософт обезопасил свой код! Теперь можно переходить с Линукса обратно на Майкрософт!
 

DemonZla
17 Dec 2002 3:08 PM
Какже какже... верьте Билли больше... будет денег меньше :)))
 

Chkaloff
17 Dec 2002 4:20 PM
Одни ламеры пишут статьи, другие делают из этого далекоидущие выводы.
Что, NET код до этого был не безопасным? Все немногочисленные ошибки которые до настоящего времени были в нем найдены были исправлены в .NET SP2. WSE не исправляет ошибок. Он позволяет применять новые возможности в web-сервисах в соответствии с воследними спецификациями по ним.

Заголовок "Microsoft усиливает защиту в .Net" в этом свете выглядит несколько странно, как будто MS какие-то дары заделала.
 

Joe
17 Dec 2002 4:56 PM
есть дыры или нет, станет ясно только после широкого практического применения NET.
Титаник тоже был самым безопасным кораблем своего времени :)
 

C3man
17 Dec 2002 5:51 PM
2Joe:

dorogoj moj -- vu otsali ot zhizni....NET yzhe polnum xodom i davno rabotaet na proizvodsve i v bankax....

2DemonZla:
ne tormozite i deneg bydet bol'she
 

Blind
17 Dec 2002 7:55 PM
Покажите мне в какой банке Net работает... Очень бы хотелось знать какой банк взял и поставил на Production сервера PC-шки. Вы бы еще сказали что . Net Шаттлами управляло...
 

C3man
17 Dec 2002 9:29 PM
2Blind:
poidite na google i pois4ite po keywords: "Microsoft .net bank solution"

i pri chiom tyt PC? vy chto neschitaete wintel platformy servernoj???
 

FreeSTYLE - FreeSTYLEpakypc.com
17 Dec 2002 9:56 PM
2 C3man
>NET yzhe polnum xodom i davno rabotaet na
>proizvodsve i v bankax
Molodoy chelovek ))) Vi chto upali so stula? ))) Gde vi videli rabotayushiy .NET ? ))) Vot eksperemental'niy eto est' ))) Dali baklanam vsyakim testirovat' i bagi viyavlyat' ))) A chto kasaetsya vashego poiska po internetu to mogu vam skazat' chto microsoft umeet zakazivat' vsyakogo roda stat'i v svoyu pol'zu ))) Nedavno oni tak horosho opisali perehod c MAC OS X na WinXP ))) Pochitayte zdes' => http://zdnet.ru/?ID=293239 i ya dumayu vi poymete chto k chemu s vashim .NET )))
P.S. Kstati microsoft passport navernoe tak i umret v zarodishe ))))
 

C3man
17 Dec 2002 11:22 PM
2FreeSTYLE:
huh...poiskovik eto tak - dlya obschego obrazovanija... kotorogo vam kak vidno nedostajoit ... M$ nebol'she zakachivaet PRa chem skazhem Sun, Oracle & Co.

pro .NET - uzhe neskol'ko mesyacev , na nashem predprijatii - rabotaet servernaja chast' - kotoraja yvyazuvaet VB, Delphi, C# reshenija + neskol'ko raznux baz danux... vot, vot v "production mode" vujdet Web Site napisanuj na polnost'y ASP.NET....ya neschitajy nebol'shux sajtikov - po 5-10 stranix kotoruje daavno yzhe v real-time...a pro bank ya chitak v Wired Magazine... no yzhe nepomn'y za kakoj mesyac...

a vot vam eschio ssylochka:
www.storefront.net - tyt celen'kaja e-commerce sistemka - tozhe na .NET...

vu po4ash4e iz svoego igrushechnogo mira linuxa vulezajte...k l'ydYam...
 

Наблюдатель
17 Dec 2002 11:57 PM
2C3man, FreeSTYLE
Господа, уважайте других участников форума, пишите по русски, а не translate. Очень напрягает читать ваши посты.
 

Interrupt
18 Dec 2002 4:57 AM
Мало того, посты транслитицей я, например, просто пропускаю из-за того что трудно читать. А ведь там возможно были дельные мысли :)
 

Skull - sibskullmail.ru
18 Dec 2002 6:49 AM
2Interrupt: не думаю, что у людей, не могущих настроить написание по русски, появятся дельные мысли... :))
 

Просто так
18 Dec 2002 10:34 AM
2Blind .Net Шаттлами еще не управляет (они были раньше изобретены:)), а вот как ты думаешь, что за система управляет 7 bmw? да, да, тот самый масдай:)))

2Skull тот редкий случай, когда полностью согласен:)) по крайней мере я транслит игнорирую полностью
 

glassy
18 Dec 2002 11:11 AM
2Просто так -- эта бешка, которую Лебедев хаял, в которой еще коленкой постоянно кнопку eject на cd-changer-е нажимаешь?
 

Qrot
18 Dec 2002 11:38 AM
а кто такой лебедев?
 

Skull - sibskullmail.ru
18 Dec 2002 12:37 PM
2Qrot: ты про Тёму или создателя словаря для ispell?
 

Qrot
18 Dec 2002 1:03 PM
а мне все равно, что какой то Тема, что другой такой же... просто смешно - когда какой то хрен из ИТ становится аторитетом сразу во всех областях - и в автомобилях в том числе.
 

DemonZla
18 Dec 2002 1:17 PM
да была хорошая машина.... но тут поставили на неё виндоус.... хехехе...
 

Слопер
18 Dec 2002 2:26 PM
2 Qrot
Для справки.
Лебедев Артем - известный дизайнер. И хаял он БМВ не за технические характеристики авто, а именно за убогий дизайн.
 

Joe
18 Dec 2002 2:26 PM
2Qrot: А Вы честно не слышали про Тему Лебедева или прикалываетесь?
 

ASTeC - astecmail.ru
18 Dec 2002 2:34 PM
В банках пока нет. Но будет.

А пока например http://www.emicrox.com/eShop/Default.aspx
 

Qrot
18 Dec 2002 2:55 PM
2Joe: да он так пропиарен, что как можно было о нем не слышать? слышал конечно.. но он вроде уэб-дизайном занимается, а не автомобильным.

2Слопер: я, честно говоря, сильно сомневаюсь, что квалификация А. Лебедева как дизайнера автомобилей выше, чем квалификация дизайнеров BMW.
 

glassy
18 Dec 2002 2:59 PM
2Qrot: ты чего? После одной поездки в мерседесе на заднем сиденье я эту фирму невзлюбил как только может невзлюбить человек, а ты на их вкусы полагаешься... наивный :)
 

Qrot
18 Dec 2002 3:27 PM
гм.. я наверное чего не знаю, но всю жизнь BMW и Mercedes были две разных конторы
 

DemonZla
18 Dec 2002 5:18 PM
Qrot, так он так хорошо в мерсе прокатился так теперь BMW ненавидит :))
 

C3man
18 Dec 2002 7:34 PM
окей теперь буду кирилицей...сорри

просто тута буковки кириличные достать непросто...а мои старые стёрлись ....и кроме всего я на кирилице пишу рас в 5 медленней....

линух маст дай, МС форева (просто проверяю или будет прочитано)
 

Skull - sibskullmail.ru
19 Dec 2002 6:08 AM
2Слопер: поправка (весьма существенная)ю Не за дизайн он хаял и не BMW. Он хаял юзабилити виндозы убогой, предназначенной для BMW. Я не удивлялся, поскольку при целом институте по юзабилити, Windows остается одной из самых неудобных ОС.

2Qrot: http://www.artlebedev.ru/kovodstvo/paragraphs/90.html - первоисточник

2glassy: мы каждый раз с Красноярского Linux-клуба уезжаем на Мерсе. Просто один из наших людей - админ Мерседес-центра. Мне нравится там на заднем сиденье.
 

Искандер
19 Dec 2002 7:45 AM
Ну Merrill Lynch сделал себе какой-то сервис на .NET. В презентации показывал. Конечно повального перехода нету, это слишком серьерзное решение надо принимать. Поэтому пока все ждут. Когда наберется критическая масса, начнется миграция.
 

Искандер
19 Dec 2002 7:46 AM
....и блин, кому то придется переучиваться.
 

glassy
19 Dec 2002 7:49 AM
2Qrot: вдогонку -- на переднем сиденье ни в БМВ, ни в мерседесах мне не особо удобно. Вот если знакомый хороший, то первым делом я кресло двигаю назад и опускаю спинку. А вот запорожцы удивили -- ноги беспроблемно помещаются, и даже двигать ничего не надо :)
 

glassy
19 Dec 2002 7:57 AM
2Skull: спасибо за ссылку :)
 

DemonZla
19 Dec 2002 9:51 AM
C3man
инвертирую последнюю строчку по смыслу:
линукс форефа, МС маст дай

типа для равновесия :))
 

DemonZla
19 Dec 2002 9:52 AM
у меня чтото с инвертором не в порядке... хм... и что это за "форефа"... будем работать :)))
 

Qrot
19 Dec 2002 10:19 AM
2Skull: сенькс. только там от виндового интерфейса ничего не осталось.. т.е. его там вообще нет %)
 

glassy
19 Dec 2002 10:58 AM
там подход остался :)
 

Просто так
19 Dec 2002 11:00 AM
Народ, вы на полном серьезе намерены обсуждать недостатки винды на примере может быть и неудачного первого опыта применения полноценного компа в авто? Даже в этом случае винде плюс, ибо выбрали ее, а не пингвина.
А вообще вождение а/м практически несовместимо даже с настройкой радио или сменой музыкального диска, это я вам говорю, т.к. в отличии от Skull езжу не только на заднем сиденье мерина.
Что касается Темы - то он готов обосрать абсолютно все, пиар знаете ли, т.е. бизнес...
Есть факт присутствия винды в достаточно навороченной тачке, остальное - субъектив.
 

Qrot
19 Dec 2002 11:15 AM
2Просто так: насчет Темы полностью согласен, потому и вопрос возник что это за хрен такой с горы... со всем остальным тоже полностью согласен :)
 

RIK
19 Dec 2002 1:08 PM
2 Skull
Интересная ссылка. Только все, сказанное в этой статье, не имеет _ни малейшего_ отношения к операционной системе, стоящей в этом компьютере.

2 Просто так
>Что касается Темы - то он готов обосрать абсолютно все, пиар знаете ли

Возможно. Но в данном случае охаивание, похоже, по делу.
 

DemonZla
20 Dec 2002 10:08 AM
Короче, дырявый у МС .Net :)))
 

Skull - sibskullmail.ru
20 Dec 2002 11:46 AM
2Просто так: хм. Небольшое замечание - я не езжу, меня _возят_. :))

2RIK: ОС налагает ряд концепций, в том числе и на интерфейс. Под Linux можно было посмотреть разнообразные решения и выбрать наиболее удачное. Под Windows особо выбирать нечего, потому и состряпали такое Г... Виноват, как известно, Гейтс, не обеспечивший альтернативу.... :))))
 

Просто так
20 Dec 2002 12:07 PM
2all Skull'a в главные конструкторы autopc! УРА (3 раза).
 

glassy
20 Dec 2002 1:18 PM
2Просто так:
http://www.osnews.com/story.php?news_id=2161
 

RIK
20 Dec 2002 1:28 PM
2 Skull
Концепции интерфейсов, предлагаемые Windows, равно как и Linux, для AutoPC не годятся. Очевидно, что нужен другой интерфейс, позволяющий удобно общаться с компьютером _вслепую_ (или почти вслепую). И разработчики софта для BMW это понимали - интерфейс описанной программы не имеет мало общего с "концепциями Windows". Другое дело, что получилось не слишком удачно. Но я думаю, что те же разработчики, если бы писали под Линукс, состряпали бы то же самое.
 

RIK
20 Dec 2002 1:29 PM
s/не имеет мало общего/имеет мало общего
 

DemonZla
23 Dec 2002 10:02 AM
Хехе.... если бы там был линукс, то никакого интерфейса бы небыло.... всё было бы на автомате.... а если что, то нужная лампочка загорится....
Я вообще не понимаю нафига скажем стеклоподъёмники в какойто интерфейс выводить.... или там регулировку зеркал.... уже давно найдены решения лучше....
Да и вобще, машина ездить должна а не быть компом на колёсах....
 

PTO - kruchkovkgb.ru
23 Dec 2002 10:44 AM
2 DemonZla: точно, интерфейса бы не было - была бы командная строка... типа opw -lf -d 50 - типа открыть левое переднее окно на 50 процентов... короче как я понял никто из вас на новой 7ке не ездил :)
тут приятель ниссан примьеру новую купил... типа фуль опшн... сели, он машину заводит, а на дисплейчике так ненавязчиво - бах и логотипчик крутиться МС Виндовз Медиа... типа на нем звук сделан... забавно весьма.
 

glassy
23 Dec 2002 11:29 AM
2РТО: opw была бы очень удобной фичей, кстати. Как пример -- linux infrared remote control настроил бы на это дело. Не надо забывать, что командная строка -- это интерфейс не только для человека, но и для автомата, действующего от лица человека.
 

Федор
23 Dec 2002 12:42 PM
2glassy Для автоматов, связывающих разные системы есть XML. Чем его передавать между разными системами у МСа тоже есть - BizTalk. Пользователю нужен удобный интерфейс, а не убогая командная строка. Свяжите какой-угодно интерфейс через BizTalk и управляйте всем - от унитаза до супер-пупер навороченной системы.
 

glassy
23 Dec 2002 1:19 PM
2Федор: http://zdnet.ru/?ID=293579&Discuss=1&Message=126867#Message_ 126867

Имхо найтивный интерфейс есть самый удобный. То есть, если таблица имеет n записей c m полями, то ее надо в таком же виде развернуть на принимающей стороне. Вместо бинарного формата XML стал использоваться лишь по одной причине -- открыть бинарный формат для держателей патентованных форматов смерти подобно.

Пользователю нужен удобный интерфейс, перед тобой две ссылки -- про интерфейс на машине, и интерфейс на медиацентре. Будем объективными или нет?
 

glassy
23 Dec 2002 1:27 PM
в догонку: в винде командная строка уж точно убогая.
 

PTO - kruchkovkgb.ru
23 Dec 2002 1:58 PM
2 glassy: ты опять ничего не понял... ну давай к примеру рассмотрим систему, которая связывает между собой - веб-магазин, склад, ЕРП-систему, ЦРМ-систему, систему компании-логистики, систему управления производством, банковску.... при этом каждая из систем работает на своей платформе, со своей базой данных, по своим форматам... необходимо организовать бизнес-процесс таким образом, чтобы инфу из одной системы не приходилось перебивать в другую в ручную, был полный контроль, поддержка любых форматов и интерфейсов...

к примеру: интернет-магазин (перл, апачи) + 1С Торговля (каталог товаров) + САП Р/3 (ЕРП-система) + банк СВИФТ + система дистрибутор (EDS)... расскажи как усе это отинтегрировать... какой софт тебе будет нужен, сколько денег возьмешь... да... я хочу еще мониторить как происходит обмен данными и периодически с изменением бизнеса перерисовывать бизнес-процесс без нудного перепрограммирования... не забудь про поддержку долгоиграющих транзакции и распараллеливания бизнес-процесса... потом поговорим... ок?
 

DemonZla
23 Dec 2002 2:51 PM
РТО, ты угрохаешь кучу денег в это дело... тебе же понадобятся продукты от МС. Правда?
 

PTO - kruchkovkgb.ru
23 Dec 2002 3:02 PM
2 DemonZla: давай ты предложишь свой вариант, а я свой... потом сравним...
 

glassy
23 Dec 2002 3:07 PM
Потом как раз таки и поговорим, много еще народу _потом_ будет говорить. Eet был задуман месяца 4 назад (то есть использование цепочек данных). Сама идея, положеная в основу этой либы, слишком пугающа, чтобы кто-то сделал что-то подобное ранее. Надо быть очень уверенным в себе человеком, чтобы написать подобное:
Eet_Data_Descriptor *eet_data_descriptor_new(char *name, int size, void *(*func_list_next) (void *l), void *(*func_list_append) (void *l, void *d), void *(*func_list_data) (void *l), void (*func_hash_foreach) (void *h, int (*func) (void *h, const char *k, void *dt, void *fdt), void *fdt), void *(*func_hash_add) (void *h, const char *k, void *d));

Не страшно? А Eet_Data_Descriptor -- структура, способная на очень многое. Имея кусок данных и этот дескриптор нет необходимости так или иначе преобразовывать данные. XML слишком читаемый, EDD -- слишком сишные. Время покажет, чья тенденция была более правильной.
 

RIK
23 Dec 2002 3:11 PM
2 PTO
>короче как я понял никто из вас на новой 7ке не ездил :)
Не ездил. Но из описания достаточно убедительно следует, что AutoPC там сделан недостаточно удобно. А вообще я ездил много на чем - и с некоторым удивлением обнаружил, что _выдающихся_ машин (по драйверским качествам) очень немного.

2 All
Кстати, у MS есть проект AutoPC, который все еще находится в стадии research - там интерфейс _полностью_ голосовой. Так что у MS есть вполне адекватное понимание, каким _должен_ быть AutoPC. Другое дело, что современный уровень развития алгоритмов распознавания речи не достаточен для выхода на рынок. Но как только, так сразу.

2 glassy
> Вместо бинарного формата XML стал использоваться лишь по одной причине -- открыть бинарный формат для держателей патентованных форматов смерти подобно

Ничего прдобного. XML вместо бинарного формата стал использоваться потому, почему программирование на языке высокого уровня стало использоваться много чаще, чем программирование в машинных кодах. Я имел дело с программой, которая умела общаться с банком по протоколу zka (бинарному) и OFX (XML-подобному). Так вот только _поддержание_ части zka требовало _несоизмеримо_ больших ресурсов, чем поддержание OFX.
 

PTO - kruchkovkgb.ru
23 Dec 2002 4:48 PM
2 RIK: угу, из описания г-на Сами-знаете-кого... из его описания видно, что если максимально придвинуть переднее кресло вперед и не пристегиваться, то можно вытянув коленку максимально влево нажать ею кнопку выброса сд... любой, кто ездил в 7ке (особенно в новой) задумается как сие вообще возможно... там место дофига...
Интерфейс компутера собственно и БМВшного джога оригинален и на самом деле удобен когда с ним поездишь некоторое время... интерфейс сделан как раз, чтобы работать без необходимости смотреть на дисплей вообще...
Странно я не вижу обсуждения аналогичных девайсов в S-классе Мерса, в последнем кадиллаке... а ведь там тоже АвтоПиСи стоит от МСа... А понимание есть - достаточно посмотреть на Юзер Интерфейс Гайдлайнс для АвтоРС... там все расписано для дизайнеров и инжинеров, что его в конечные устройства вставляют.
 

glassy
24 Dec 2002 6:54 AM
для кого "вытянув коленку максимально влево", а для кого-то "просто заглядевшись на красивую девушку"
 

DemonZla
24 Dec 2002 11:58 AM
RIK, голосовой интерфейс не подходит к нашим условиям, ну подумай сам, что сделает машина если её послать на х... :)))
РТО, а вдруг заглючит... ой я тогда не позавидую такому водителю :)))
 

PTO - kruchkovkgb.ru
24 Dec 2002 12:32 PM
2 DemonZla: сделает то, на что ты ее запрограммируешь на это слово... у меня кореш ходит с гарнитурой по улице, а мобила в кармане... идем как то... а он ни с того, ни с сего "нах"... немой вопрос - типа у меня запрограммировано, что когда мне звонят на это слово идет отбой типа говорить не хочу :)

Интересно, а если комп, который управляет АБСом или там еще чем заглючит вы завидовать не будете?

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

Shadow
24 Dec 2002 1:16 PM
2PTO:
Ничего, если я всю эту супер-пупер систему на солярке делать буду?
 

Shadow
24 Dec 2002 1:19 PM
Про AutoPC. Голосовой интерфейс - лажа.
Вот снимать моторику тела целиком... Вот это сила.
И ГОРАЗДО интуитивнее.
 

Shadow
24 Dec 2002 1:19 PM
Супер-пупер система - та, которой glassy озадачивали :)
 

PTO - kruchkovkgb.ru
24 Dec 2002 1:29 PM
2 Shadow: валяй! набросок в студию - типа софт такой-то и такой-то, стоит стока-то и стока-то... разработчики такие-то, часовой рейт столько-то, нужно часов столько-то...
ну и так с высоты птичьего полета чегой-то делать оно будет и как... и небольшой вижн на будущее - как и чего будем делать если меняется бизнес-процесс, если появляется дополнительное звено в нем... т.е. реальная жизнь, а не лабораторная установка.
 

glassy
24 Dec 2002 2:09 PM
2РТО: а почему на жигулях? Почему не на самой безопасной "Вольво", или не на вездеходе "Ауди" или танке "Хаммер"?

"валяй! набросок в студию"
и не говори, что выберешь тот вариант, где нужны программеры -- высокооплачиваемые профессионалы, и админы с глубокими знаниями и з/п
 

RIK
24 Dec 2002 2:45 PM
2 PTO
>интерфейс сделан как раз, чтобы работать без необходимости смотреть на дисплей вообще

Работать, не смотря на дисплей, можно только если помнить структуру меню. А если не помнить - то нужно смотреть. А вот _отображение_ этого самого меню, судя по картинкам, сделано не лучшим образом.
 

PTO - kruchkovkgb.ru
24 Dec 2002 3:19 PM
2 glassy: самой безопасной волво была давно, Ауди вездеходов не делает, а срок службы подвески хаммера на московских улицах - 20 тыс. км.

по наброскам - представь себе, что я заказчик, которому нужно данное решение - выбирать я буду по сложно совокупности критериев... там будут фигурировать цена решения сразу, ТСО, надежность поставщика, доступность программистов, которые могут сие поддерживать и инструментов для этих программистов, надежность системы/платформы, производительность, сложность программирования/изменения, поддержка стандартов открытых и индустриальных (тот же СФИФТ к примеру)... возможность быстрой адаптации под мои задачи и в случае изменения бизнес-задач... и еще куча параметров... порядок не означает приоритета...

2 RIK: помнить... может быть... но джогом в БМВ пользоваться удобно... буквально через некоторое время рука помнит куда его нужно потащить чтобы сделать погромче или сменить диск... не более сложно чем обычный джойстик, пульт Д/у для обычной магнитолы. Тока помимо этого оно еще много чего умеет, в т.ч. показывать дорогу, при этом достаточно бросить взгляд и увидеть когда поворачивать... вот чтобы задать конечную точку нужно смотреть на дисплей - но в это время машина стоит... хотя некоторые могут и на ходу задавать маршрут... но это уже те, кто на такой машине давно ездят.
 

Shadow
24 Dec 2002 6:02 PM
=)
Ладно... Через годик наваляю... Со всеми спеками :)
Так это, давайте про систему управления пообсуждаем!
Правда, я ещё тот... Мне как бы климат-контроль и прочее не надо... А вот точно вписаться в поворот...
А для комфорта наверно голосовая система управления покатит...
Но вот всё, что связано с движением, именно через движение и должно управляться.
 

Shadow
24 Dec 2002 6:05 PM
Упс... Только счаз понял... Что через год деИказа много чего связного с .Net наделает... И мне захочется этого...
Нда. Сдаюсь :)
 

PTO - kruchkovkgb.ru
24 Dec 2002 6:23 PM
2 Shadow: дык через годик не надо... последний заказчик хотел (и получил) пилот в течение недели, хоть сие и стоила кучи пота отделу консалтинга...

Дык АвтоПС оно как раз для управления комфортом - радио там, ГПС, навигация, ну в интернете там почту прочесть (голосом читает)... а руль как крутили руками, так и крутите, МС для этого вроде ничего не делает - не ее бизнес. :)
деИказа чего-то делает... помошников что-то маловато... вот под Фрей собирается .НЕТ, у нас тут унутри народ под Соляркой собрал и под МакОСХ... чем дальше в лес, тем больше дров :)
 

Shadow
24 Dec 2002 6:57 PM
Не, кому не надо, а кому очень даже...
 

PTO - kruchkovkgb.ru
24 Dec 2002 7:34 PM
2 Shadow: тех кому через год будет надо мы с легкостью окучим - у нас уже будет куча готовых Case-study и success story по этому вопросу... да и по цене я думаю мы все-равно будем лучше...
 

glassy
24 Dec 2002 8:33 PM
2РТО: Кстати, напорлся сегодня на Ком инсайд. Ничего нового с третьего курса не узнал. Даже наоборот, все старО. Особенно умиляли комментарии типа #define interface struct или по поводу ключевого слова __stdcall. Может мне и Петцольд нового ничего не скажет?
 

Ron
24 Dec 2002 10:06 PM
2 glassy: Забей. Никто интерфейсы в *.h через struct не объявляет. Для этого давно IDL есть.
 

glassy
25 Dec 2002 7:05 AM
2Ron: ты хорошо смотрел?
 

glassy
25 Dec 2002 8:22 AM
2Ron: вешайся.
basetyps.h, line #20: #define interface struct

(нашел в инете, приду домой, у себя посмотрю)
 

DemonZla
25 Dec 2002 9:20 AM
PTO, а малоли, может разработчики на это слово какуюнибудь команду типа самоуничтожения повесят... кто их знает.... а уж если это ещё и МС будет.... мдаа... страшно подумать :))
 

PTO - kruchkovkgb.ru
25 Dec 2002 9:44 AM
2 DemonZla: эта... сейчас уже появились хорошие такие таблеточки от параннои... курс лечения настоятельно рекомендую пройти... глядишь жизнь станет веселей и радостнее...
 

PTO - kruchkovkgb.ru
25 Dec 2002 9:45 AM
рано нажал... для тех кто в танке - ВинСЕ в исходниках... как там повесить "не ту реакцию"... этож как в линуксе совсем, тока нужно лицензию платить, правда и инструменты профессиональные получаете для этого
 

DemonZla
25 Dec 2002 9:50 AM
РТО, параноя параноей, но дверь то вы, дорогой мой, на замке держите.... тоже чтоли параноик? :))
ВинСЕ в исходниках никому нафиг не нужен... эти исходники использовать нельзя по этой самой лицензии, а значит они бесполезны.
 

DemonZla
25 Dec 2002 10:08 AM
Кстати, РТО, а вы на дискотеках экстази не распространяете? ась? :)))
 

PTO - kruchkovkgb.ru
25 Dec 2002 10:30 AM
2 DemonZla: ВинСЕ в исходниках - вы их берете, затачиваете под свою железку (АвтоПиСи к примеру), выкидываете что вам не нужно, добавляете свое - компиляете, а потом платите роялти за каждый чип с ОС... или по-вашему "полезные исходники" только те, которые все всем на халяву?

Экстази не употребляю и не распространяю... да и на дискотеки не хожу
 

Shadow
25 Dec 2002 10:32 AM
Не, по цене лучше не будете...
 

DemonZla
25 Dec 2002 10:54 AM
PTO
Отлично, и это по вашему "открытые исходники", голяк это для вытягивания денег...
Это так называтся:
Подарил барин брюки, оторвал за это руки, подарил сапожки оторвал и ножки :))
Чиста политика МС :)))
 

PTO - kruchkovkgb.ru
25 Dec 2002 11:56 AM
2 DemonZla: я не говорил про "открытые исходники"... исходники есть и точка... халявы только вот нету... ну дык, что у БМВ, что Даймлер-Крайслер денюжки есть в отличие от...

2 Shadow: это все разговоры... расчеты в студию плиз... считать все-все будем или только стоимость платформенного софта без разработки и т.п.? :)
 

Ron
25 Dec 2002 1:44 PM
glassy, да я не то имел в виду. Если ты сам разрабатываешь интерфейс, то тебе не надо писать хедеры к нему руками. Описываешь его на IDL, а потом генеришь из него хедер/стаб/прокси/тайплиб. В общем - читай ещё раз "инсайд ком", может хоть с третьего раза что-то оттуда отложится в голове.
 

PTO - kruchkovkgb.ru
25 Dec 2002 2:23 PM
2 glassy: ну как ты читаешь?! выборочно что-ли? там же в самом начале рассказывается почему именно так все реализовано и зачем оно так сделано.
 

Wintermute - devnul.ru
25 Dec 2002 3:13 PM
А что уважаемый glassy скажет про мозилловский XPCOM?
 

glassy
26 Dec 2002 6:57 AM
2РТО: могли сделать и получше. В двадцати строчках изложены многолетние исследования, ты хочешь сказать?
2Wintermute: меньше говорить надо и орать на углах про технологии, выдумывать новые ключевые слова, акронимы и языки, а молча делать свою работу.

Кстати, наивно полагал, что механизм эксепшинов в С++ подразумевает какие-то архитектурные изменения, недоступные из Си... И что я вижу? #define catch(a) if( exeption_no && (a))?
 

Ron - rodionlenta.ru
26 Dec 2002 7:31 AM
2 glassy: Хрен его знает, где ты ищешь, сейчас попробовал: grep -ER "#define[[:space:]]+catch" /usr/include - не нашёл ничего. Может это ты в сырцах своего КАДа отыскал ? :-))
 

glassy
26 Dec 2002 9:34 AM
2Ron: это уже вопросы реализации компилятора С++. Как ты знаешь, в Си механизма исключений нет (кому он вообще на Си нужен?) Но если тебе очень очень надо, то делаешь
#include "exception.h", и все в ажуре
http://ldeniau.home.cern.ch/ldeniau/html/oopc/exception.h

Здесь переменные обозваны по-другому, но если человек понял идею, он может как Билл Гейтс ссать кипятком "в моих прогах все ошибки через эксепшены, никаких мля HRESULT и мля errorno!" :)
Ох уж этот мне Страуструп... любитель всяких Модул...
 

Ron
26 Dec 2002 9:40 AM
2 glassy: А раскрутку стека тоже define-ами там делают ?
 

DemonZla
26 Dec 2002 11:07 AM
PTO, хех, дык у МС за любое изменение денюшку отстигни, а у опенсорсников ненадо, так что лучше то?
Или опять будем за воздух платить? :)))
 

glassy
26 Dec 2002 11:25 AM
2Ron: "там" -- я так понял в VC++? Вот ты и посмотри, как там раскрутка стека сделана, а завтра нам расскажешь.
 

Ron
26 Dec 2002 12:18 PM
2 glassy: При чём тут какая-то конкретная реализация? Вы бы, батенька, научились отделять, для начала, сам язык от его компиляторов. Вон, Ахо с Ульманом специально для вас переиздали в этом году. В красивой обложке, с картинками.
 

glassy
26 Dec 2002 1:52 PM
2Ron: держу в руках C++ by Dissection. Ничего про раскрутку стека здесь нет (520 стр.) Вот я и хочу услышать от тебя хотя бы одну конкретную реализацию раскрутки стека.

Может быть я в чем-то сильно ошибаюсь, и раскрутка стека есть в спецификации С++, был бы рад увидеть код.
 

Wintermute - devnul.ru
26 Dec 2002 5:28 PM
2glassy: "меньше говорить надо и орать на углах про технологии, выдумывать новые ключевые слова, акронимы и языки, а молча делать свою работу" - вот именно этот вопрос к мозильникам и возник у меня в свое время, когда я впервые прочитал про XPCOM и его реализацию.
 

Ron - rodionlenta.ru
26 Dec 2002 8:45 PM
2 glassy: "Может быть я в чем-то сильно ошибаюсь, и раскрутка стека есть в спецификации С++, был бы рад увидеть код."

Всё. Я молчу.
"Чем дальше влез - тем ближе вылез" (с) Фоменко.
 

Qrot
27 Dec 2002 12:57 AM
м-дя.. как любила говаривать одна моя знакомая - есть такие люди.. им проще отдаться, чем объяснить что это невозможно...

2Ron: о! :) начинается самое интересное - откровения Великаво Мастира Гласси :))

2glassy: "...будешь баобабом, тыщу лет, пока помрешь" (С)Высоцкий
а почему ты не хочешь посмотреть на код для "раскрутки стека" в С? а в стандарте С есть "раскрутка стека"?
 

glassy
27 Dec 2002 4:23 AM
Я вас всех троих внимательно слушаю
 

Alexey
27 Dec 2002 6:23 AM
To glassy:
А может все таки почитаешь Страуструпа "Язык программирования С++", там целая глава про исключения и достаточно подробно. Про реализацию раскрутки стека там нет, как нет и в стандарте, т.к. это в компетенции разработчиков компиляторов. Но честно говоря я слабо себе представляю как ее можно реализовать через define (напомню, что обязательно должны вызваться деструкторы всех объектов расположенных на стеке при чем во всем функциях, пока не поднимемся до catch).

А на Си я выдел реализацию псевдоисключений и через longjmp
Примерно так

#define JOURNAL error_journal(void)
#define RERAISE error_call(error_code)
#define RAISE(code) error_call(code)
#define TRYBEGIN { jmp_buf save_entry; int exec_code; \
memcpy(save_entry,error_entry,sizeof(error_entry)); \
if((exec_code=setjmp(error_entry))==0) {
#define EXCEPTION } memcpy(error_entry,save_entry,sizeof(error_entry)); \
if(exec_code) { switch(error_code) {
#define TRYEND }}}

void error_call(int code)
{
error_code=code;
if(error_entry[0].j_ip==0 && error_entry[0].j_cs==0)
{
error_journal();
exit(code);
}
longjmp(error_entry,code);
}

Сами функции постить не буду, много там.
Но к С++ это имеет мало отношения, так же как и структурные исключения в Win32.
 

glassy
27 Dec 2002 7:10 AM

> А может все таки почитаешь Страуструпа "Язык программирования С++"

как только так сразу :)
 

glassy
27 Dec 2002 8:08 AM
2Ron: лично для себя я уже понял, что define-ами исключения можно реализовать как будет удобнее в той или иной ситуации. Вплоть до слежения за ресурсами. Вплоть до #define malloc my_malloc.
 

DemonZla
27 Dec 2002 9:50 AM
Да ну вас всех.... издращенцев :))
 

Qrot
27 Dec 2002 10:23 AM
2Alexey: да ты так не переживай, это бесполезно все равно.

2glassy: нет, это мы тебя внимаательно слушаем :) продолжай, пожалуйста, тебя очень интересно читать
 

glassy
27 Dec 2002 10:48 AM
Наконец-то дообхаял столпы СОМ-технологии, мог бы в нирвану уйти, но за эти полтора года столько столпов в очереди появилось... ;)
 

Qrot
27 Dec 2002 11:04 AM
glassy, что так жиденько? ты давай, напрягись как следует!
 

Qrot
27 Dec 2002 1:05 PM
glassy: не, ты про плюсы давай задвигай.. а то накрою медным баном :)
 

glassy
27 Dec 2002 1:17 PM
Дыкть задвигать-то больше нечего
 

glassy
27 Dec 2002 1:17 PM
быстро плюсы кончились :)
 

Ron
27 Dec 2002 6:18 PM
2 glassy: А как же "море удобных и модульных WM-ов"? Это что ж за модульность получается, если выясняется, что одни и те же модули работают в разном окружении по-разному?
 

Ron
27 Dec 2002 6:20 PM
2 glassy: Предложи - на что заменить. Если меня это устроит заменю. Пока что ничего более устраивающего меня чем WindowMaker не нашёл.
 

glassy
28 Dec 2002 5:13 AM
2Ron: а какме фичи в WindowMaker-е тебе нравятся? Неужели мигание выбранных пунктов меню?
 

DemonZla
28 Dec 2002 9:21 AM
Ron возьми fluxbox попробуй
 

glassy
28 Dec 2002 10:51 AM
2DemonZla: как можно! Он же на C++ сделан! Фу бяка :)
 

Ron - rodionlenta.ru
28 Dec 2002 11:17 AM
2 glassy & DemonZla: Где включать мигание пунктов меню в windowmaker-е я, кстати, даже и не знаю. Подобные рюшки мне по барабану. А вот то, что тот же самый BlackBox и его клоны не дают вызывать меню с клавиатуры - это, лично для меня, серьёзный недостаток. Я bb не стану использовать уже только из-за одного этого, хотя там есть и другие неудобства, которые мне очень не по душе.
 

glassy
28 Dec 2002 2:09 PM
Использование клавиатуры для меня очень важно. У bb вообще плохо с этим делом, афаир он клаву вообще не граббит. С клавы именно средствами WM я делаю следующие вещи (то есть добавил сам): управление винампом по alt+shif+[zxcvb,.], запуск мозиллы, максимизация по рабочему столу, скрытие/показ рамки окна, запуск ч/б терминалки, запуск полупрозрачной терминалки, максимизация по свободной площади, clean-up расположения окон. Может быть я что-то не то делаю, но к меню я прикасаюсь очень редко, даже злюсь, если приходится. Из тех WM-ов, что с красной шапкой, sawfish имеет неплохие средства настройки этого дела (по крайней мере можно потерпеть пару дней, что уходит на скачивание Е :))
 

Interrupt
29 Dec 2002 4:56 AM
На Си очень легко делать исключения через обычные setjmp, longjmp. Но естественно Гласси это все знал, он просто забыл :)
 

DemonZla
29 Dec 2002 10:45 AM
Ron,я говорю тебе, попробуй fluxbox там все фичи есть.
glassy, а чем тебе С++ не нравится? :))
 

Skull - sibskullmail.ru
30 Dec 2002 5:36 AM
2glassy: "как можно! Он же на C++ сделан! Фу бяка :)" - фигня твой С! Где бы мы были в KDE без C++? Ну про крутизну KDE ты же спорить не будешь? :)))
 

glassy
30 Dec 2002 7:42 AM
2Interrupt: ага, точно. В любой книжке по С++ исключения преподносятся как огромнейший рывок от Си, поэтому я все время и полагал, что для их реализации нужно много больше, чем #define. А на самом деле, оказывается, что именно горстка дефайнов и есть весь этот зоопарк. Глядя на реализацию (раскрутки стека в различных компиляторах в том числе) и на спор "исключения vs return value" понимаю, что исключения есть плохой механизм. Ron вон тоже жаловался сильно на исключения.
 

glassy
30 Dec 2002 8:03 AM
2DemonZla&Skull: любая либа, написанная на С++ (н-р КДЕ-ные), недоступны из Си. Используя С++ в качестве языка либы вы принуждаете программистов использовать С++ в качестве языка приложения. В случае с либами на Си, приложение может быть написано на обоих языках. Даже хваленая BeOS ядро имеет с си-функциями, а остальная надстройка на С++. Отсюда простой вывод -- либы должны быть на Си, а приложения на С/С++, и все было бы прекрасно. Но вот вылезают пыонэры, не разобравшиеся в обоих языках, кричат "С++ рулез, Си -- отстой"... Их в "Дизайн и эволюцию С++" носом тыкаешь, они глаза закрывают и "Язык программирования С++" цитировать начинают... Имхо меня можно понять -- хороших Си-программистов должно быть больше, чем плохих С++-ных
 

Interrupt
30 Dec 2002 8:13 AM
Ну... то что исключения - это огромнейший рывок С++ от Си - это конечно переборщили слегка :) Я этими всякими setjmp/longjmp пользовался в обычном Си еще до того как в С++ были стандартизированы исключения. Другое дело, я не согласен, что исключения есть плохой механизм. Как раз механизм очень даже полезный, если им пользоваться с умом. Даже на самом простом примере, видно, что код может быть намного более структуирован:

void function()
{
// ...

if(file_open() == error)
{
display_error_info();
return;
}
if(file_read() == error)
{
display_error_info();
return;
}
if(file_write() == error)
{
display_error_info();
return;
}
}

то намного удобней переписать:

void function()
{
try
{
file_open();
file_read();
file_write();
}
catch(...)
{
display_error_info();
}
}
 

glassy
30 Dec 2002 8:16 AM
В одной книжке от МС Пресс читаю, что в МС работали команды разгильдяев, одни информируют через GetLastError, другие через HResult, но к СОМ+ в конце концов определились... В другой книжке то же самое -- вот вам C#, выбирать из errno/HRESULT уже не надо, вот вам исключения, ими и пользуйтесь... Извините меня, из-за чьих-то грубейших архитектурных ляпов я должен мало того что программировать на этой платформе, так еще и пересаживаться на новые ляпы?
И кстати правильно делают не-микрософт монополисты -- фотошоп и пижамкер должны работать на маках, майя и рендермен -- на линуксах/юниксах, медиацентры от эппла либо не от эппла, но с линуксовым ядром, игровые приставки пусть остаются опенгловскими, а микрософт дальше менеджеров пусть не суется.
 

Interrupt
30 Dec 2002 8:19 AM
2 glassy: Тут я согласен, Си - это основа :) И действительно смешно слушать, как некоторые С++ превозносят по сравнению с Си, ведь С++ - это ведь просто эволюционировавший Си, например, те же самые темплейты, это просто более удобная форма препроцессора. При чем мне кажется, что сэволюционнировал С++ не очень удачно...
 

Interrupt
30 Dec 2002 8:23 AM
GeLastError() это для Win32 API функций, HRESULT - для COM. В чем разгильдяйство то?
 

glassy
30 Dec 2002 8:38 AM
2Interrupt: имхо catch должен быть вынесен из этого файла, Страуструп был зациклен на прежней схеме...

Кстати, этот кусок кода можно было бы и приукрасить... Или взять робастные либы, где бы код выглядел так:
Struct_Descriptor * sd;
My_Struct * p;
sd = my_struct_descroptor_get();
p = blah_get_content(filename,key,sd);
show_content(p);
И нигде бы не падал...
 

Interrupt
30 Dec 2002 8:43 AM
2 glassy: Не понял, что значит "catch должен быть вынесен из файла"? Это как?
 

glassy
30 Dec 2002 8:47 AM
At Microsoft, different teams develop each of these subsystems and each team develops its own "philosophy." For example, I know that the registry functions all start with a Reg prefix and return an error code. But I also know that most Kernel functions have no special prefix and return FALSE if they fail; in these cases, I have to call GetLastError to see the reason for the failure. This inconsistent behavior among subsystems is one of the reasons that Windows programming has had a reputation for being difficult to learn.
 

Interrupt
30 Dec 2002 8:59 AM
Ну... Reg функции как и сам реестр появились намного более позже, чем большинство Kernel функций, вот они и решили эти новые функции упорядочить по префиксу. Никто не спорит, что среди Windows API функций - бардака немало. А где его нет?
 

glassy
30 Dec 2002 9:45 AM
Идея проста
функция принимает эн параметров, каждый из которых может быть валидным либо невалидны. Результат выполнения функции также может быть валидным либо невалидным. Таким образом, если функция будет следить за валидностью своих параметров в должном объеме, невалидные параметры не должны ее смутить. Первый вариант -- программа идет своим путем, и спокойно доходит до главного выхода, проимев в своей работе много или мало невалидных данных. Второй вариант -- как первый, но исключения ловятся в другом куске кода, очень далеко, например с записью логов, или к-либо особыми завершающими действиями (от ситуации зависит... и задачи...).
 

Qrot
30 Dec 2002 10:48 AM
ой мамо... опять робастные либы вспомнили... я плакалъ :))
 

PTO - kruchkovkgb.ru
30 Dec 2002 11:13 AM
2 Qrot: вы блин прекращайте его раззадоривать! уже невозможно без колик в животе это читать!
 

Qrot
30 Dec 2002 11:21 AM
PTO: да я сам уже его не читаю.. тут вот дернула нелегкая, так лучше б и не смотрел на самом деле.
 

Interrupt
31 Dec 2002 2:53 AM
2 Qrot: Это Гласси меня дурачит или он всегда так изьясняется? :) Я опять ничего не понял, особенно про эти робастые либы.
 

RIK
31 Dec 2002 10:53 AM
2 PTO
2 Qrot
Нет, что вы, пусть-пусть! Я в конце рабочего дня иногда на анекдот.ру заходил - так сейчас никакого анекдота не надо. Почитаешь glassy - и заряда веселья до конца дня хватает.

P.S. Всех с Новым Годом! А glassy в особенности - за поднятие настроения в году нынешнем!
 

RIK
31 Dec 2002 11:08 AM
glassy, longjmp - это не раскрутка стека. Под раскруткой стека, как я понимаю, понимался вызов деструкторов автоматических переменных в правильном порядке.

2 Interrupt
Хороший пример. С типичной сишной ошибкой при реализации исключений через longjmp. В приведенном примере не худо бы при ошибке чтения/записи файл закрыть.
 

Qrot
31 Dec 2002 1:42 PM
2Interrupt: он всегда такой. я правда не знаю что он тебе написал, а читать боюсь.. до НГ так можно и не дожить :)
2RIK: ну да.. в тяпницу пришел на работу, почитал гласси... минут 10 провел в сложенном состоянии, тихо трясясь от смеха.. народ думал, я сейчас кони двину - а я только мог в монитор тыкать..

С НОВЫМ ГОДОМ! :))
 

Shadow
31 Dec 2002 2:07 PM
А что такое робастные либы?
 

Ron - rodionlenta.ru
31 Dec 2002 8:11 PM
2 Shadow: man robust :-))

Всех поздравляю с наступающим НГ !
Сисадминам - вечного аптайма, программерам - робастных либ, манагерам - кустомеров с длинной зелёной бумагой :-)
 

Interrupt
1 Jan 2003 12:18 AM
2 RIK: Какой закрытие файла? А разве не понятно было, что это больше на псевдокод похоже, чем на настоящую программу? Что первое в голову пришло, то и написал...

Всех с Новым Годом.
 

RIK
1 Jan 2003 4:18 PM
2 Interrupt
>А разве не понятно было, что это больше на псевдокод похоже, чем на настоящую программу?

Понятно. Тем не менее данный пример хорошо иллюстрирует проблему longjmp - утечка ресурсов. В результате если функция использует ресурсы, которые надо отдавать (как в Вашем примере), то применение в ней функций, могущих вылететь по longjmp'у зачастую приводит к увеличению объема кода, а отнюдь не к упрощению. В C++ эта проблема стоит менее остро в связи с правильным вызовом деструкторов локальных объектов при возбуждении исключения.
 

glassy
1 Jan 2003 9:29 PM
Завтра я свои фоты в виде Снегурочки выложу, вообще оборжётесь :)

Кстати, если к-либо функция делает много объектов, или имеет дело с большим числом ресурсов... Ее размер наверняка превысит положенные 25 строк... Пишите код как надо, и возни у вас же будет меньше.

2RIK: так раскрутка стека есть в спецификации языка или кроме одной фразы Страуструп об этом нигде больше не писал?

2Interrupt:
функция неробастной либы:
void print_x(XY * xy){
printf("x = %d\n", xy->x);
}
функция робастной либы:
void print_x(XY * xy){
if(!xy)return;
MAGIC_CHECK(xy, MAGIC_NUM_XY):
printf("x = %d\n", xy->x);
}
 

Interrupt
2 Jan 2003 7:17 AM
2 RIK: Правильно, но в Си понятия обьекта как такового нет, поэтому не стоит проблема с правильным вызовом деструкторов :)
Да ладно, на самом деле никто и не агитирует использовать setjmp/longjmp как замену нормальному механизму исключений...
 

RIK
2 Jan 2003 11:55 AM
2 glassy
Разумеется, это входит в стандарт языка C++. А про "робастные либы" - это, конечно, шутка такая была?

2 Interrupt
А вот glassy уверяет, что реализация объектов на C ничуть не хуже, чем на C++. А следовательно, и проблема вызова деструкторов стоит Ж:-)
 

glassy
2 Jan 2003 12:31 PM
2RIK: это принципиальный вопрос. Если С++ компиллер делает раскрутку стека, потому что это есть в спецификации С++, то соглашусь, что С++ имеет значительные преимущества перед Си.

И второе -- про реализацию объектов я ничего не говорил, тем более в сочетании с обработкой исключений.
 

glassy
2 Jan 2003 1:20 PM
Опять сейчас обскафните...

... что С++ "has a clue", as well as Bjarn S.

:)
 

Рон
2 Jan 2003 2:12 PM
glassy, то что ты написал - неробастно совсем. Если уж на то пошло, то к робасту ближе вот такое:
void print_x(XY * xy){
assert(xy && MAGIC_CHECK(xy, MAGIC_NUM_XY));
printf("x = %d\n", xy->x);
}
Если, допустим, я вызываю робаст в контексте, который и так обеспечивает правильность параметров, то зачем мне ещё раз выполнять проверку? Для этого ассерт и придуман, чтобы в релизе этого не делать.
 

glassy
2 Jan 2003 2:54 PM
2Рон: так ведь можно по определению задать такое поведение. Пример -- не нашла программа нужную картинку в нужном месте, и вместо надежды на контекст ей просто надо не рисовать ненайденную картинку. Учитывая, что визуализация картинки займет многобольше тактв, чем пара проверок.

ЗЫ Что с моим языком... Неужели это маразм?..
 

RIK
2 Jan 2003 3:10 PM
2 glassy
А я придумал робастный процессор. Который не возбуждает прерывание, скажем, при делении на ноль, а продолжает работать как ни в чем не бывало :-)
А если серьезно - если программа вызвана с неверными аргументами, то это значит, что в программе есть баг, который нужно фиксить. Аргументы проверять, конечно, полезно, но - Рон совершенно прав - для этого существует assert.
 

Alexey
2 Jan 2003 9:57 PM
To: All, glassy, Qrot, PTO, eXOR, Skull и всех, всех, всех! Поздравляю с Новым Годом. Наилучшие пожелания всем, с кем общался в прошедшем году и с кем не успеел. glassy желаю наконец-то прочитать в этом году Страуструпа "Язык программирования С++".
 

glassy
3 Jan 2003 4:35 AM
2RIK: ага, рассказывай мне, что в микрокоде/схемах "обычного" процессора нет проверки на нуль при делении, а прерывания из воздуха появляются.
Если программа вызвана с неверными аргументами, это не значит, что в ней есть баг. Сюрприз, да? :)

2Alexey: а ты не думаешь, что я ее прочитал и забыл из-за плохого содержания? :)
 

glassy
3 Jan 2003 4:37 AM
С Новым Счатьем!
всех :)
 

RIK
3 Jan 2003 9:07 AM
>Если программа вызвана с неверными аргументами, это не значит, что в ней есть баг.

Разумеется, баг не в ней, а в программе, которая ее вызвала.
 

glassy
3 Jan 2003 9:11 AM
В ДНК то есть :)
 

Alexey
3 Jan 2003 6:14 PM
To glassy:
> 2Alexey: а ты не думаешь, что я ее прочитал и забыл из-за
> плохого содержания? :)
Не думаю, я о тебе гораздо лучшего мнения.
 

Alexey
3 Jan 2003 6:18 PM
To glassy:
Хотя возможно, что ты читал более ранние издания (1-е или 2-е) я же говорю о третьем оно очень сильно отличается от предыдущих в лучшую сторону, а Design & Evolution это уже можно читать на досуге для развлечения.
 

Alexey
3 Jan 2003 6:31 PM
To glassy:
> это принципиальный вопрос. Если С++ компиллер делает раскрутку
> стека, потому что это есть в спецификации С++, то соглашусь,
> что С++ имеет значительные преимущества перед Си.
Параграф 15.2 стандарта С++
пункт 1. "As control passes from a throw-expression to a handler, destructors are invoked for all automatic objects constructed since the try block was entered. The automatic objects are destroyed in the reverse order of the completion ot their construction."
пункт 3. "The process of calling destructors for automatic objects constructed on the path from a try block to a throw-expression is called "stack unwinding.""
Чего еще тебе не хватает в стандарте С++ в части описания механизма раскрутки стека, или ты хотел конкретные команды ассемблера увидеть.
 

RIK
3 Jan 2003 11:16 PM
glassy, основная проблема написания надежной программы - корректный откат неудавшегося действия. Простая проверка аргументов функции имеет к этому весьма отдаленное отношение.
 

glassy
4 Jan 2003 8:28 AM
Предлагаю сделать Alexey-я лучшим собеседником. Господа, учитесь у него :)

И все-таки его пост от 27 декабря, 2002, 6:23 подарил надежду :) Итак... я соглашаюсь, что С++ -- не надстройка над Си.

class Gaz{
public:
Gaz(){ ... valve_open(); ... }
~Gaz() { ... valve_close(); ... }
void Ignite(Fuse){...}
Heat Burn(){...}
}

class Electro_Lighter{
public:
Electro_Lighter(){ ... снять_с_гвоздика(); ... }
~Electro_Lighter(){... повесить_обратно(); ...}
Fuse Get_Fuse(){ ... press_button(); ...}
}

void heat_teapot(){
try {
Gaz * gaz = new Gaz();
Electro_Lighter * el = new Electro_Lighter();

gaz->ignite(el->Get_Fuse);
while(!glTeapot->boiling) glTeapot->heat_exchange(gaz->burn);
}
catch (no_water, water_boiling, no_fuse, no_gaz, no_electricity)
endtry
}

Я правильно мыслю?
 

glassy
4 Jan 2003 8:59 AM
Насколько я помню, в Си деструкторы локальных объектов не вызываются... С++-программеры слегка обленившиеся :)

typedef struct {} Gaz;
typedef struct () Electro_Lighter;
typedef struct {} Fuse;

Gaz * gaz_new(){ ... };
void gaz_off(Gaz * this,){ ... };
void gaz_ignite(Gaz * this, void * fuse);
int gaz_is_burning(Gaz * this);
Heat gaz_burn(Gaz * this);
Electro_Lighter * el_new(){ ... };
void el_back(Electro_Lighter * this){ ... };
Fuse * el_get_fuse(Electro_Lighter * this) { ... };

void teapot_heat(){
Gaz * gaz;
Electro_Lighter * el;

gaz = gaz_new();
el = el_new();
gaz_ignite(gaz, el_fuse(el));
while(gaz_is_burning(gaz) && !glTeapot->boiling) glTeapot -> heat_exchange(gaz_burn(gaz));

el_back(el);
gaz_off(gaz);
}

Прошу прощения, к списку исключений надо добавить no_flame (эквивалент gaz_is_burning()), тогда эти два куска могут соперничать по простоте и понятности.
 

RIK
4 Jan 2003 9:05 AM
2 Alexey
>возможно, что ты читал более ранние издания
Это еще в ARM было описано. 1990г. издания. glassy тогда под стол пешком ходил Ж;-)
 

DemonZla
4 Jan 2003 11:45 AM
Мда.... сражения на языках C и С++ очень занятное времяпровождение.... мне нравится... тоже чтоли чтонибцдь написать.... исходник DeCSS к примеру :))
 

glassy
4 Jan 2003 1:45 PM
во-во, добейте меня в конце-то концов :)
 

DemonZla
4 Jan 2003 2:42 PM
Не получается.... пишет "слишком длинное сообщение"
:)))
 

glassy
5 Jan 2003 7:19 AM
Сырцы WinCE что-ли постил? ;)))
 

DemonZla
5 Jan 2003 9:05 AM
glassy, неа, полный сырец DeCSS...
К сожалению не поместился :)
 

Interrupt
5 Jan 2003 9:53 AM
2 DemonZla: А слабо его соптимизировать так, чтобы влез в месседж? :)
 

glassy
6 Jan 2003 5:08 AM
2DemonZla: а ты бы перловский вариант запостил. Он маленький, афайр. Или урл на худой конец :)
 

 

← ноябрь 2002 11  13  15  16  17  18  19  20  23 январь 2003 →
Реклама!
 

 

Место для Вашей рекламы!