Re[3]: Выйти из двух циклов сразу
От: Хитрик Денис Россия RSDN
Дата: 06.06.02 14:57
Оценка:
TL>Ну надо же как-то развлекаться? Мы вот как-то развлекались над фразой "кошка Мебиуса — это кошка, которая гуляет сама по себе". Где-то час после обеда пытались представить, как могла бы выглядеть "Кошка Мебиуса"...


Прикольно, но не по теме!
Правила нашего с вами форума.
Как правильно задавать вопросы. © 2001 by Eric S. Raymond; перевод: © 2002 Валерий Кравчук.
Re: 2All: Модерирование
От: Хитрик Денис Россия RSDN
Дата: 06.06.02 15:03
Оценка:
Ребята, я так мыслю, что темы новые либо уже открыты в других форумах, либо, если у кого осталось что-то невыясненным, открывайте в других (или в этом) форумах. Уже обсудили и goto, и работу в группе. Практически никто не пытался изменить тему своих сообщений, чтобы позволить остальным как-то сориентироваться в проблеме. Порицание вам, уважаемые.

P.S. Если что -- ставьте на голосование вопрос о необходимости форума "Философия программирования". В нём и будем собирать такие вот длинные темы Наполняемость темами, конечно будет низкая, зато в пределах топика такие флеймы затеваться будут!
Правила нашего с вами форума.
Как правильно задавать вопросы. © 2001 by Eric S. Raymond; перевод: © 2002 Валерий Кравчук.
Re[4]: Выйти из двух циклов сразу
От: The Lex Украина  
Дата: 06.06.02 15:04
Оценка: 15 (1)
Здравствуйте Хитрик Денис, Вы писали:

TL>>Ну надо же как-то развлекаться? Мы вот как-то развлекались над фразой "кошка Мебиуса — это кошка, которая гуляет сама по себе". Где-то час после обеда пытались представить, как могла бы выглядеть "Кошка Мебиуса"...


ХД>

ХД>Прикольно, но не по теме!

В сад меня! Я все равно не в состоянии читать тему на 240 сообщений, да еще и со здоровенными кусками кода по ходу обсуждения уже и невесть чего...
Голь на выдумку хитра, однако...
Re[18]: Выйти из двух циклов сразу
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.06.02 15:07
Оценка:
Здравствуйте Аноним, Вы писали:

А>Во-первых, применение оптимизатора не дает увеличение скорости программы на порядок (десятичный порядок, по крайней мере). Во-вторых, моя фраза о разных задачах относилось к "А нагромаждение циклов... Мы как то обходится".


Ты это проверял? А я проверял. В 10 раз! Это средняя величина. Даже не средняя, а практически минимальная. Если используются все возможности оптимизатора по скорости, то бывает и больше. Без оптимизации компиляторы генерируют вообще убогий код. На него даже смотреть противно.

VD>>Значит плохо читал. А про флоат без CRT... Не просто можно но и очень даже ничего получаетя.

А>Нормально читал Там, если ты помнишь, про fp всего пара абзацов, которые кратко пересказать можно так: "Если вам надо использовать fp вычисления без CRT, сами разбирайтесь, какая функция что за собой тянет, мне влом этим заниматься".

Там написано, что ты лишаешся обработки ошибок типа переполнения, а в остальном достаточно определить одну глобальную переменную и все. Необходимые выкрутасы с делаются через automation API.

А>Да и совет линковаться с LIBC.LIB вполне однозначен — это ж просто использование части CRT.


Там объяснено, что многие функции CRT (а вернее ее стартап-код) не тянут и их можно смело использовать.

VD>>Это я тебе говорю, так как мы с БД без CRT работаем, а там флоаты частенько поадаются.

А>И что вы с ними делаете? Юзеру показываете? А логарифм взять?

Логорифм нам не нужен. Но если пондобится, то возмем фунцию и будем использовать. Мат-алгоритмы не должны цеплять стартап-код.

А>Что такое "настройки нет"?


Да это я ступил. Хотел сказать что наш код луче использует настройки ОС, т.е. региональные установки.

VD>>Мы пишим COM-библиотеки и нужно распространять их по сети.


А>Я не отрицаю, что есть класс задач, где CRT нафиг не нужна. Просто C++ без CRT — и не C++, и не C. И фиг его знает, что там после выхода очередного сервиспака глючить начнет.


Ну, дык когда у тебя 90% времени уходит на задачи в которых CRT вредно, то привыкаешь к программированию без него. Я же не призываю всех жить без CRT, я прсто говрю, что не нужно делать заявлений, что без него С++ не С++.

А>А начал использовать тяжеленный wxWindows и тоже не жалею


А это, что?

А>Если wsprintf еще можно хоть как-то замаскировать под sprintf, то с automation API этот номер не пройдет и код (вполне безразличная к операционке его часть) станет windows-only. Да и геморроя с ним на порядок больше, чем с sprintf и иже с ними.


А предствь себе какой может быть рынок сбыта для COM-объектов под Уних? А мы именно их делаем.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Выйти из двух циклов сразу
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.06.02 15:46
Оценка:
Здравствуйте Коваленко Дмитрий, Вы писали:

КД>Ну поскольку в эту ветку больше гадят, чем пишут, я тоже нагажу


Здорово, но моно был бы лучше если бы ты разбил эту функцию на несколько по меньше.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[31]: Выйти из двух циклов сразу
От: George_Seryakov Россия  
Дата: 06.06.02 15:51
Оценка:
Здравствуйте The Lex, Вы писали:

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


GS>>Автоматизация программирования для предметной области. Мне такое не интересно. Хотя коммерчески может быть весьма успешным.


TL>По моему скромному мнению уже есть подобные прецеденты. Далеко ходить не надо: что вы скажете насчет систем управления веб-контентом? САПР сайта. Кто сказал, что HTML/DHTML/ServerScripts — это не программирование?


Ну, уж, во всяком случае, я этого не говорил. Это программирование, и САПР сайта (или генератор скриптов) — несколько более общая задача, чем САПР Корпоративная Информационная Система.
GS
Re[32]: Выйти из двух циклов сразу
От: The Lex Украина  
Дата: 06.06.02 15:58
Оценка:
Здравствуйте George_Seryakov, Вы писали:

GS>Здравствуйте The Lex, Вы писали:


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


GS>>>Автоматизация программирования для предметной области. Мне такое не интересно. Хотя коммерчески может быть весьма успешным.


TL>>По моему скромному мнению уже есть подобные прецеденты. Далеко ходить не надо: что вы скажете насчет систем управления веб-контентом? САПР сайта. Кто сказал, что HTML/DHTML/ServerScripts — это не программирование?


GS>Ну, уж, во всяком случае, я этого не говорил. Это программирование, и САПР сайта (или генератор скриптов) — несколько более общая задача, чем САПР Корпоративная Информационная Система.


САПР сайта — это более общая задача, чем САПР КИС? А в чем особые отличия между сайтом и КИС?
Голь на выдумку хитра, однако...
Re[38]: Выйти из двух циклов сразу
От: George_Seryakov Россия  
Дата: 06.06.02 16:02
Оценка:
Здравствуйте The Lex, Вы писали:

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


VD>>Да. Универсальность понятие растяжимое. Было бы здорово иметь средство автоматизирующее процесс создания любого ПО, но пока этого нет. Успех достигнут только в проектировании БД. Я же хочу иметь нечто, что поможет не только проектировать но и автоматически реализовывать. Пусть даже в узкой области.


TL>Причем в проектировании реляционных баз данных, насколько я знаю...


Причем не в проектировании (оно не автоматизировано), а в кодогенерации скриптов физической модели (которые еще неплохо потом глазками прочесть и ручками поправить). Проектирование по-старому делается головой. Еще немного автоматизирована запись результатов поректирования в виде, пригодном для скриптогенерации.
GS
Re[15]: Выйти из двух циклов сразу
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.06.02 16:03
Оценка:
Здравствуйте The Lex, Вы писали:

TL>>>P.S. Если кто-нибудь думает, что я подлизываюсь к Vlad-у — это не так. Могу сказать, что с некоторыми статьями на optim.ru я несогласен...


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

P>>Для ресурсов я тоже обертки использую, так что давай подлизываться вместе


TL>Вы считаете он это оценит?


О меня в приемную комиссию записали.
Господа не подумайте. Я не хочу никого оценивать. Я как и вы все высказываю свое мнение. Если кто-то со мною согласен, замечательно, если нет, ну, что же поспорим... глядишь у каждого появится кое-какие новые мысли.

TL>Он тут намекал, что ему мол кодеры нужны...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[33]: Выйти из двух циклов сразу
От: George_Seryakov Россия  
Дата: 06.06.02 16:26
Оценка:
Здравствуйте The Lex, Вы писали:

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


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

VD>>Давай на ты. Здесь так принято...

TL>Все время забываю. Рефлекс... Буду стараться...


А ты представляй между собой и собеседником кружку с пивом. Такую граненую, из общепита, на пол литра, пиво с пеной, стенки запотели...
GS
Re[33]: Выйти из двух циклов сразу
От: George_Seryakov Россия  
Дата: 06.06.02 16:30
Оценка:
Здравствуйте The Lex, Вы писали:

TL>САПР сайта — это более общая задача, чем САПР КИС? А в чем особые отличия между сайтом и КИС?


При писании САПРа КИС нужно гораздо рахговаривать с конечными пользователями, ограничения предметной области там сильнее, нет (меньше) возможности применять универсальные подходы.

Я так думаю...
GS
Re[34]: Выйти из двух циклов сразу
От: The Lex Украина  
Дата: 06.06.02 16:38
Оценка:
Здравствуйте George_Seryakov, Вы писали:

GS>Здравствуйте The Lex, Вы писали:


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


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

VD>>>Давай на ты. Здесь так принято...

TL>>Все время забываю. Рефлекс... Буду стараться...


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


Почему ты думаешь, что я в таком случае общаюсь "на ты"? Как раз в такой ситуации очень даже хорошо идет "Вы". А вот если у тебя под задницей несется асфальт со скоростью всего километров 30 в час, но до асфальта всего несколько сантиметров, и у твой "собеседник" вдруг подрезает тебя самым неприличным образом — вот тогда все выражения идут "на ты". Правда потом, обсуждая это дело за кружечкой пива, почему-то непременно хочется говорить "Вы" — расслабленно и спокойно, тихо и интеллигентно...
Голь на выдумку хитра, однако...
Re[34]: Выйти из двух циклов сразу
От: The Lex Украина  
Дата: 06.06.02 16:54
Оценка:
Здравствуйте George_Seryakov, Вы писали:

GS>Здравствуйте The Lex, Вы писали:


TL>>САПР сайта — это более общая задача, чем САПР КИС? А в чем особые отличия между сайтом и КИС?


GS>При писании САПРа КИС нужно гораздо рахговаривать с конечными пользователями, ограничения предметной области там сильнее, нет (меньше) возможности применять универсальные подходы.


GS>Я так думаю...


Ну, тут я не могу разделить Вашу (Черт возьми!!! Мы ведь ведем интеллигентную беседу о высоких материях!!! Ну не могу я писать "ты"! Вы уж не обессудте... ) точку зрения. В моем понимании и первое и второе представлет собой информационную систему. Причем именно первое — т.е. сайт — как правило является более узкой сферой по сравнению с КИС. Часто сайт предназначет только для отображения информации, в то время как КИС — для ее сбора, хранения, обработки и т.д. и т.п. Причем во втором случае методы работы имеют довольно мощную теоретическую базу.

По-моему мы уж совсем отдаляемся от первоначальной темы...
Голь на выдумку хитра, однако...
Re[39]: Выйти из двух циклов сразу
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.06.02 18:34
Оценка:
Здравствуйте George_Seryakov, Вы писали:

TL>>Причем в проектировании реляционных баз данных, насколько я знаю...


GS>Причем не в проектировании (оно не автоматизировано), а в кодогенерации скриптов физической модели (которые еще неплохо потом глазками прочесть и ручками поправить). Проектирование по-старому делается головой. Еще немного автоматизирована запись результатов поректирования в виде, пригодном для скриптогенерации.


По-моему, ты не прав. Автоматизировано не значит что труд человека полнстью исключен. Это занчит, что мне не нужно прогаммировать или страгать рубанком, чтобы выполнить ту или иную задачу. ERWin и Visio 2002 дают возможность проектировать в визуальном режиме. Причем они тесно интегрированы с СУБД и с их помощью можно развивать имеющиеся БД. Так что именно в проектировани. Я слышал что и Рэйшонал есть некий продукт который позволяет проектировать алгоритмы, но вроде он только с VB работает. Так что пока это все в зачаточном состоянии, но в будущем это очень даже можетс стать серьезной заменой кодированию. Как сейчас в отношении БД.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Выйти из двух циклов сразу
От: WolfHound  
Дата: 06.06.02 19:05
Оценка:
Здравствуйте The Lex, Вы писали:

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


LG>>Здравствуйте The Lex, Вы писали:


TL>>> Есть такое... Попробуйте в Word ввести "уточнение наличия запасов м.с.;" — интересно, как ваш Word на это отреагирует?


LG>>да в общем как всега — вывел на экран буковки. И ничего более... А в чем прикол?


TL>У меня:

TL>Microsoft Word 2000 (9.0.3821 SR-1)
TL>Microsoft Windows NT Server 4.00.1381

TL>Насчет систем проверки орфографии точно не скажу — похоже все дело в них. Но виснет напрочь... Правда только Word — NT остается в здравии...

У мени Win XP и Word XP тоже виснет.
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[16]: Выйти из двух циклов сразу
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.06.02 19:44
Оценка:
Здравствуйте WolfHound, Вы писали:

TL>>>> Есть такое... Попробуйте в Word ввести "уточнение наличия запасов м.с.;" — интересно, как ваш Word на это отреагирует?


LG>>>да в общем как всега — вывел на экран буковки. И ничего более... А в чем прикол?


TL>>У меня:

TL>>Microsoft Word 2000 (9.0.3821 SR-1)
TL>>Microsoft Windows NT Server 4.00.1381

TL>>Насчет систем проверки орфографии точно не скажу — похоже все дело в них. Но виснет напрочь... Правда только Word — NT остается в здравии...

WH>У мени Win XP и Word XP тоже виснет.

А у меня нет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Выйти из двух циклов сразу
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.06.02 20:04
Оценка:
Здравствуйте Sergey, Вы писали:

S>...оправданным я считаю, например, применение goto для очистки ресурсов в C++, совершенно идеоматическое, кстати, особенно если метку называть как-нибудь вроде cleanup.


Все здорово, то только для очистки ресурсов в С++ есть куда более надежный способ — создание оберток которые это делают автоматически. Вот и получается, что в современном С++ любое использование goto или имеет более эффективную замену, или приводит к нарушению структурированности логики.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Выйти из двух циклов сразу
От: Patalog Россия  
Дата: 07.06.02 03:40
Оценка:
Здравствуйте VladD2, Вы писали:

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


[skip]

VD>Т.е. Это интерактивная программа? Может быть тогда гумманнее (по отношению к пользователю) быбо бы создать список ошибок и предложить их исправить.


Интерактивеностью занимается класс CProcessControl и, в частности, его метод DoControl. Т.е. между непосредственно интетрейсом юзера и реализацией алгоритма генерации cdfs есть еще одна прослойка, в которой можно сделать и список. На тот момент (~1,5 года назад) это было не нужно.

P>>Кусок кода, который я привел проверяет идентификатор на уникальность на данном уровне вложенности. Для этого идентификатор сравнивается со всеми идентификаторами на данном уровне.


VD>Такие вещи на порядок эффективнее делать через хэш-таблицы. При этом повторная проверка могла бы выглядеть простым циклом и занимала бы пару строк.


Не спорю. Может даже и сделаю. Я уже думал об этом, впринципе это лешко сделать. Но, как всегда руки не доходят.

P>>Если пользоватль решил отменить генерацию — ок, выходим, если игнорировать — ок, юзер знает что делает, продолжаем, если решил положиться на автоматическое исправление — ок, продолжаем (кстати в данной реализации игнорировать == автоматически исправлять), если же юзер все же внес исправленя необходимо вновь проверить новый идентификатор на соответствие.


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


А они так и учитываются, именно в прослойке, о которой я писал выше.
Почетный кавалер ордена Совка.
Re[8]: Выйти из двух циклов сразу
От: Patalog Россия  
Дата: 07.06.02 03:51
Оценка:
Здравствуйте VladD2, Вы писали:

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


P>>Так у меня никакой проблемы и не возникает. Похоже она возникает у тех кто пытается переписать код в соответствии с "правильным теоретическим проектированием".


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


А что упорство уже наказуемо? А проблема уже давно решена. Код уже достаточно давно работает, прекрасно модифицируется (первоначально была поддержка только Level 1, позднее добавились Level 2, 3 и Joilet).

Насчет вариантов —
_Мне_ эти варианты показались более непонятными, но извращениями я их не называл, не передергивай.
По варианту, который присла ты, я тебе ответил, что считаю изменение переменной цикла внутри цикла еще большими граблями, и еще более непонятным "окружающим". И макросами здесь не поможешь. Ибо макросы еще большие грабли. _Имхо_.
Вариант Vi2 (2-й) более хорош.
На 3-й вариант (от m.a.g) я вообще еще ничего не ответил.

ЗЫж А насчет "более понятные окружающим", еще раз повторюсь — отучаемся говорить за всех.
Почетный кавалер ордена Совка.
Re[17]: Выйти из двух циклов сразу
От: Patalog Россия  
Дата: 07.06.02 03:53
Оценка:
Здравствуйте VladD2, Вы писали:

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


TL>>>>> Есть такое... Попробуйте в Word ввести "уточнение наличия запасов м.с.;" — интересно, как ваш Word на это отреагирует?


LG>>>>да в общем как всега — вывел на экран буковки. И ничего более... А в чем прикол?


TL>>>У меня:

TL>>>Microsoft Word 2000 (9.0.3821 SR-1)
TL>>>Microsoft Windows NT Server 4.00.1381

TL>>>Насчет систем проверки орфографии точно не скажу — похоже все дело в них. Но виснет напрочь... Правда только Word — NT остается в здравии...

WH>>У мени Win XP и Word XP тоже виснет.

VD>А у меня нет.


Виснет гад. На том же самом.
Почетный кавалер ордена Совка.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.