Re[12]: Синтаксический оверхед - Новая порция
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 28.06.05 08:27
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>В отличие от Виртовских поделок процесс разработки С++ открыт и публичен.


Клевета.
Re[17]: Синтаксический оверхед - Новая порция
От: Дарней Россия  
Дата: 28.06.05 08:30
Оценка:
Здравствуйте, faulx, Вы писали:

F>Так все-таки, необходимость, чтобы создание объекта обозначалось прилагательным, следует из необходимости соблюдать стиль ООП


из попытки сохранить соответствие между смыслом выражения и его формальной записью. Хотя лично мне это глубоко фиолетово

F>Кстати, к языкам с GC такой претензии нет. В Java/C#/Smalltalk объекты тоже создаются new, но там нет обратной операции, поэтому все нормально. А тезис мой такой: противоположные по смыслу действия должны обозначаться противоположными по смыслу словами (одной и той же грамматической категории). Есть возражения против этого тезиса?


Мне вообще без разницы, как он называется — есть дела и поважнее

F>PS. А насчет CreateFile() как раз все понятно. Создается объект ядра "файл", связанный с объектом файловой системы.


Эта функция называется не CreateKernelObjectFile. Она называется CreateFile.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[9]: Идеологически правильный мегарулез
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 28.06.05 08:36
Оценка: -2 :))
Здравствуйте, Пацак, Вы писали:

П>
П>while (a < 10) {
П>    ++a;
П>     if (foo()) break;
П>}
П>


П>Имеем два сценария:

П>1) значение a стало равно 10 и цикл завершился
П>2) функция foo вернула true и цикл был прерван

!(a < 10) — ЗАВЕРШАЕТ
break — ЗАВЕРШАЕТ!!!!!!!!!!!!!!!!!!!!!!!!!
goto на конец — ЗАВЕРШАЕТ

return — ПРЕРЫВАЕТ
throw куда подальше — ПРЕРЫВАЕТ
goto куда подальше — ПРЕРЫВАЕТ
assert — ПРЕРЫВАЕТ
...
Re[7]: Идеологически правильный мегарулез
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 28.06.05 08:39
Оценка: -1
Здравствуйте, Пацак, Вы писали:

П>Здравствуйте, Сергей Губанов, Вы писали:


СГ>>Циклом WHILE или REPEAT называется цикл, который может завершиться только по 1 условию.


П>Если не сложно, подсчитайте, пожалуйста, количество условий, по которым может завершиться внутренние WHILE и UNTIL здесь
Автор: Сергей Губанов
Дата: 24.06.05
.


Завершится только по одному, прерваться — другой вопрос.
Re[18]: Синтаксический оверхед - Новая порция
От: faulx  
Дата: 28.06.05 08:41
Оценка:
Здравствуйте, Дарней, Вы писали:

F>>Так все-таки, необходимость, чтобы создание объекта обозначалось прилагательным, следует из необходимости соблюдать стиль ООП


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


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

Д>Мне вообще без разницы, как он называется — есть дела и поважнее


Сдаетесь?

F>>PS. А насчет CreateFile() как раз все понятно. Создается объект ядра "файл", связанный с объектом файловой системы.


Д>Эта функция называется не CreateKernelObjectFile. Она называется CreateFile.


В winapi много странностей. Но если создание других объектов ядра выглядит просто как CreateXXX(), делать исключение для файла было бы излишеством. Некоторая непонятность, конечно, получилось, но она другого рода. Просто объект ядра и объект файловой системы называются одинаково. Синонимы.
Re[8]: Идеологически правильный мегарулез
От: Курилка Россия http://kirya.narod.ru/
Дата: 28.06.05 08:46
Оценка: 6 (2) +2 :)))
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, Пацак, Вы писали:


П>>Здравствуйте, Сергей Губанов, Вы писали:


СГ>>>Циклом WHILE или REPEAT называется цикл, который может завершиться только по 1 условию.


П>>Если не сложно, подсчитайте, пожалуйста, количество условий, по которым может завершиться внутренние WHILE и UNTIL здесь
Автор: Сергей Губанов
Дата: 24.06.05
.


СГ>Завершится только по одному, прерваться — другой вопрос.


Мсье неслабый специалист по сферическим коням в вакууме
Re[19]: Синтаксический оверхед - Новая порция
От: Дарней Россия  
Дата: 28.06.05 08:49
Оценка:
Здравствуйте, faulx, Вы писали:

F>Сдаетесь?


лень ввязываться в религиозные споры

F>В winapi много странностей. Но если создание других объектов ядра выглядит просто как CreateXXX(), делать исключение для файла было бы излишеством. Некоторая непонятность, конечно, получилось, но она другого рода.


Как насчет OpenWindow? А OpenFile тоже существует, просто его объявили obsolete. Причем, что характерно, с помощью этой функции можно не только открывать файлы, но также создавать и даже удалять Можно списать это название на общую нелогичность выньАПИ.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[10]: Идеологически правильный мегарулез
От: Дарней Россия  
Дата: 28.06.05 08:52
Оценка: 1 (1) +5
Здравствуйте, Сергей Губанов, Вы писали:

взялся бы ты лучше за функциональные языки, честное слово
для математического подхода к программированию — самое оно. Уж куда лучше бессмысленного урезания циклов и прочих извращений.
да и вообще.. предмет намного более благодарный, чем мертворожденные обероны
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[19]: Синтаксический оверхед - Новая порция
От: Трурль  
Дата: 28.06.05 08:55
Оценка:
Здравствуйте, faulx, Вы писали:


F>Смысл выражения — _создание_ объекта. Его логично записывать формально в виде глагола. Противоположное созданию действие — _разрушение_ (удаление) объекта. Его тоже логично обозначать глаголом. Эти два глагола обозначают противоположные действия, поэтому они должны быть антонимами.


Записывать выражение в виде глагола нелогично. Так логично записывать предложение.
Открой файл  - логично
Пусть а есть открой файл - нелогично
Re[20]: Синтаксический оверхед - Новая порция
От: faulx  
Дата: 28.06.05 08:55
Оценка:
Здравствуйте, Дарней, Вы писали:

F>>Сдаетесь?


Д>лень ввязываться в религиозные споры


Так ведь уже ввязались, а теперь что?

Посмотрите, в каком форуме эта тема.

Д>Как насчет OpenWindow?


В моем MSDN этой функции нет.

Д>А OpenFile тоже существует, просто его объявили obsolete. Причем, что характерно, с помощью этой функции можно не только открывать файлы, но также создавать и даже удалять Можно списать это название на общую нелогичность выньАПИ.


Ну ведь сделали же ее obsolete, значит, показалась нелогичной. "Автор думал, слова подбирал!"
Re[11]: Идеологически правильный мегарулез
От: Трурль  
Дата: 28.06.05 08:59
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>взялся бы ты лучше за функциональные языки, честное слово

Д>для математического подхода к программированию — самое оно. Уж куда лучше бессмысленного урезания циклов и прочих извращений.
Д>да и вообще.. предмет намного более благодарный, чем мертворожденные обероны

Знаете, приходилось наблюдать как эти самые функциональные языки назавали мертворожденными и даже похлеще.
Re[16]: Определение структурного программирования
От: Privalov  
Дата: 28.06.05 09:00
Оценка: +2
Здравствуйте, Mamut, Вы писали:

M>Увы, Сергей пока не удосужился даже пойти по тем ссылкам, что ему дают. Ни определения структурного программирования он не прочитал, ни определения циклов...


Потому как не читатель, а писатель...
Re[20]: Синтаксический оверхед - Новая порция
От: faulx  
Дата: 28.06.05 09:02
Оценка:
Здравствуйте, Трурль, Вы писали:

Т>Записывать выражение в виде глагола нелогично. Так логично записывать предложение.

Т>
Т>Открой файл  - логично
Т>Пусть а есть открой файл - нелогично
Т>


Что же делать, если в C++ у каждого выражения может быть вагон побочных эффектов? Тем более у new. И потом:

let a = OpenFile()


Нормально.
Re[21]: Синтаксический оверхед - Новая порция
От: Дарней Россия  
Дата: 28.06.05 09:02
Оценка:
Здравствуйте, faulx, Вы писали:

F>Посмотрите, в каком форуме эта тема.


в "юморе"
я же говорю — лень стало. Все равно никто никому и ничего не докажет.
Останется только вздохнуть и сказать "здесь так принято"

F>В моем MSDN этой функции нет.


наверно, он у тебя какой-то неправильный
как минимум, в MSDN 2004 она еще есть

F>Ну ведь сделали же ее obsolete, значит, показалась нелогичной. "Автор думал, слова подбирал!"


а OpenWindow почему не убрали?
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[9]: Идеологически правильный мегарулез
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 28.06.05 09:02
Оценка:
Здравствуйте, Пацак, Вы писали:

П>Здравствуйте, Сергей Губанов, Вы писали:


СГ>>Существует разница между завершением и прерыванием цикла.

СГ>>EXIT — завершает цикл LOOP, но прерывает вложенные в LOOP другие циклы навроде WHILE/REPEAT
СГ>>Прервать циклы WHILE/REPEAT можно несколькими способами: HALT(), ASSERT(FALSE), RETURN, LOOP-ный обертывающий EXIT.
СГ>>Но завершить циклы WHILE/REPEAT можно только одним единственным способом.

П>Я рыдалЪ!!! Честно!

П>Сергей, может поясните чем одно отличается от другого? А заодно прокомментируете следующее словоблудие в вашем стиле:

Человек, как истинный физик теоретик, просто попытался разделить все способы выхода из цикла на две разные группы по признаку удалённости точки завершения перехода от точки завершения цикла. Вот только названия этим группам дал не совсем удачное: в его понимании завершается — это когда переход из цикла осуществляется в точку, следующую сразу за телом цикла, прерывается — это когда переход из цикла осуществляется в точку, находящуюся в любой позиции за точкой, следующей сразу за телом цикла (прошу не принимать эту классификацию как серьёздный научный тезис). Вот только смысла в таком разделении я не вижу, потому что:
1) циклу глубоко фиолетово, "завершился" он или "прервался" (по сути — это одно и то же) — главное, что был покинут локальный контекст и вызваны деструкторы;
2) необходимо тогда как минимум ввести ещё один термин обозначающий ситуации, когда цикл снова начался с начала или был совершён переход на точку находящуюся далеко перед циклом;
3) во вторую группу попали такие методы как goto далеко за пределы и выброс исключения, хотя эти 2 метода "прерывания" цикла не идентичны — goto нарушает естественный поток управления за счёт того, что может выполнить переход в середину включающего цикл контекста, перескочив, например, вызов конструкторов (например, для динамически создаваемых объектов), что в этом случае приключиться, предсказать не берусь, в отличие от него throw ведёт себя вполне естественно и такой проблемы решена; поэтому объединение этих методов в один класс как минимум не допустимо..
4) а как классифицировать завершения цикла в таком случае, как прерывание или как завершение:
bool func()
{
    while(some_condition())
    {
        do_cation();
        if(other_condition()) return false;
    }
    return true;
}
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re[12]: Идеологически правильный мегарулез
От: Дарней Россия  
Дата: 28.06.05 09:04
Оценка:
Здравствуйте, Трурль, Вы писали:

Т>Знаете, приходилось наблюдать как эти самые функциональные языки назавали мертворожденными и даже похлеще.


Не думаю, что это были очень умные люди. ФЯ конечно своеобразная штука, но в определенных областях они рулят
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[10]: Идеологически правильный мегарулез
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 28.06.05 09:07
Оценка:
Здравствуйте, Mr. None, Вы писали:

MN>Здравствуйте, Пацак, Вы писали:


П>>Здравствуйте, Сергей Губанов, Вы писали:


П>>Я рыдалЪ!!! Честно!

П>>Сергей, может поясните чем одно отличается от другого? А заодно прокомментируете следующее словоблудие в вашем стиле:

MN>Человек, как истинный физик теоретик, просто попытался разделить все способы выхода из цикла на две разные группы по признаку удалённости точки завершения перехода от точки завершения цикла.


Сорри не дописал мысль.
Сергей! Хватит гнать! Структура и классификация — это конечно хорошо, НО ТАМ, ГДЕ ОНИ НУЖНЫ! И разницы между завершением и прерыванием цикла нет — есть разница между дальним и ближним переходом, есть разница между переходом с нарушением нормально потока управления и без онаго, но не между завершением и прерыванием цикла... Вобщем идите займитесь делом или поучите мат. часть.
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re[9]: Идеологически правильный мегарулез
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 28.06.05 09:16
Оценка: +1 :))
Здравствуйте, Курилка, Вы писали:

СГ>>Завершится только по одному, прерваться — другой вопрос.


К>Мсье неслабый специалист по сферическим коням в вакууме


Я бы даже сказал — главный на RSDN`е...
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re[22]: Синтаксический оверхед - Новая порция
От: faulx  
Дата: 28.06.05 09:20
Оценка:
Здравствуйте, Дарней, Вы писали:

F>>Посмотрите, в каком форуме эта тема.


Д>в "юморе"

Д>я же говорю — лень стало. Все равно никто никому и ничего не докажет.

Это точно. Ни разу не помню, чтобы кто-нибудь кому-нибудь что-нибудь доказал и переубедил. Но это не беда. По ходу дела всплывают интересные аргументы, ссылки и т.п. В том и цель.

F>>В моем MSDN этой функции нет.


Д>наверно, он у тебя какой-то неправильный

Д>как минимум, в MSDN 2004 она еще есть

На микрософтовском сайте тоже нет. Мой MSDN 2003 года. А был ли мальчик? Или это работа принципа Педро Дамиани?

F>>Ну ведь сделали же ее obsolete, значит, показалась нелогичной. "Автор думал, слова подбирал!"


Д>а OpenWindow почему не убрали?


Да где же она?
Re[23]: Синтаксический оверхед - Новая порция
От: Дарней Россия  
Дата: 28.06.05 09:39
Оценка:
Здравствуйте, faulx, Вы писали:

F>Да где же она?


ой, немного перепутал
Та функция, про которую я подумал, называется FindWindow.

Ну возьмем лучше RegOpenKey. Принцип тот же самый.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.