Re[10]: FOR
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 29.06.05 09:28
Оценка:
Здравствуйте, Пацак, Вы писали:

П>Ма-а-аленькая тонкость. Если в моем коде maxLevel изначально = 0 (звук выключен), то цикл не выполнится ни разу. В вашем — выполнится один раз.


А если повнимательнее посмотреть на мой код
step := GetStep();
IF (step > 0) & (maxLevel > i0) THEN
  i := i0;
  REPEAT SoundLevel(i); INC(i, step) UNTIL (i >= maxLevel) OR ManualInterrupt()
END

и увидеть сделанную в начале проверку "maxLevel > i0", то цикл тоже не выполнится ни разу.
Re[13]: Идеологически правильный мегарулез
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 29.06.05 09:32
Оценка: -1
Здравствуйте, Пацак, Вы писали:

П>после окончания (не суть важно — "завершения" или "прерывания")


В своем сообщении я показал как раз обратное — важно!
Re[14]: Идеологически правильный мегарулез
От: Пацак Россия  
Дата: 29.06.05 09:43
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

П>>после окончания (не суть важно — "завершения" или "прерывания")

СГ>В своем сообщении я показал как раз обратное — важно!

Примеры (в частности последний, с вызовом функции в условии цикла) так и будут игнорироваться?
Минус вам за это.
Ку...
Re[11]: FOR
От: Пацак Россия  
Дата: 29.06.05 09:48
Оценка: +1
Здравствуйте, Сергей Губанов, Вы писали:

СГ>и увидеть сделанную в начале проверку "maxLevel > i0", то цикл тоже не выполнится ни разу.


Да, виноват, не заметил. Кстати прекрасная иллюстрация к читабельности обероновского кода: в C++овском for это синтактически подразумевалось алгоритмом работы самого цикла и лишний огород из IFов городить не пришлось бы. Здесь — увы, и не пахнет ни лаконизмом, ни удобством.
Ку...
Re[14]: Идеологически правильный мегарулез
От: Sergey J. A. Беларусь  
Дата: 29.06.05 09:53
Оценка: +2 :)))
Здравствуйте, Сергей Губанов, Вы писали:

SJA>>Да не. break прерывает, а не завершает. Он так и переводится — прервать.


СГ>Термины "завершение цикла" и "прерывание цикла" я полностью объяснил в своем сообщении
Автор: Сергей Губанов
Дата: 28.06.05
.


Я тоже уже объяснял, что while это синтаксический сахар над
LOOP
    WHILE x DO
    END
    (* A *)
END


Более того, С-ниый while не даёт программисту вписывать код в точку A. Это предотвращает ошибки. Почему в обероне так не сделано — мне не понятно. Зачем писать лишие LOOP-ы, причём с позможностью ошибится и вставить код в точку A. при этом, если цикл прервётся, то этот код не будет выполнен ! C-шный while такого не позволит ! C-шный while защищает программиста от ошибок, в отличии от Обероновского !
Я — свихнувшееся сознание Джо.
Re[15]: Народ упорно не врубается
От: Sergey J. A. Беларусь  
Дата: 29.06.05 09:56
Оценка: :))
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, Mr. None, Вы писали:


MN>>>>Вы русский язык понимаете вообще? Вам были заданы простейшие вопросы, вы можете на них ответить предельно просто: да или нет.


СГ>>>Да.


СГ>>>(В смысле русский язык понимаю)


MN>>Вы как всегда в своём амплуа. Если ответы на вопросы угрожают вашей теории, вы на них не отвечаете... Вобщем продолжать дискуссию считаю абсолютно бесполезно. Потому что вы не умеете слушать и отвечать на вопросы аппонента. А всё остальное смысла не имеет.


СГ>Я просто не отвечаю на вопросы ответы на которые и так очевидны

Т.е. вы решили, что только ответ на вопрос

Вы русский язык понимаете вообще?

не очевиден ?
Я — свихнувшееся сознание Джо.
Re[16]: Народ упорно не врубается
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 29.06.05 10:11
Оценка: :)))
Здравствуйте, Sergey J. A., Вы писали:

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


СГ>>Здравствуйте, Mr. None, Вы писали:


MN>>>>>Вы русский язык понимаете вообще? Вам были заданы простейшие вопросы, вы можете на них ответить предельно просто: да или нет.


СГ>>>>Да.


СГ>>>>(В смысле русский язык понимаю)


MN>>>Вы как всегда в своём амплуа. Если ответы на вопросы угрожают вашей теории, вы на них не отвечаете... Вобщем продолжать дискуссию считаю абсолютно бесполезно. Потому что вы не умеете слушать и отвечать на вопросы аппонента. А всё остальное смысла не имеет.


СГ>>Я просто не отвечаю на вопросы ответы на которые и так очевидны

SJA>Т.е. вы решили, что только ответ на вопрос
SJA>

Вы русский язык понимаете вообще?

не очевиден ?


Ну формально он прав... из остальных постов сделать правильный вывод насчёт ответа на этот вопрос весьма сложно...
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re[15]: Народ упорно не врубается
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 29.06.05 10:20
Оценка: 3 (1) +2
Здравствуйте, Сергей Губанов, Вы писали:

MN>>Вы как всегда в своём амплуа. Если ответы на вопросы угрожают вашей теории, вы на них не отвечаете... Вобщем продолжать дискуссию считаю абсолютно бесполезно. Потому что вы не умеете слушать и отвечать на вопросы аппонента. А всё остальное смысла не имеет.


СГ>Я просто не отвечаю на вопросы ответы на которые и так очевидны, за исключением некоторых случаев (например сейчас).


Вот вы не поверите, но в отношении вас ответы на обозначеные вопросы для меня не очевидны. Если бы они были очевидны и совпадали бы с моими, то этого флейма просто не было бы. Поэтому я и хочу услышать их, чтобы понять ваш ход мыслей и высказать своё мнение, либо пракратить спор, как бессмысленный (с фанатиками спорить бесполезно).
Сударь, пусть вам не кажется, что эти вопросы — попытка загнать вас в дискуссионную ловушку, дабы поставить МАТ. Это именно так и есть. А то, что вы не хотите на них отвечать — так это как раз признак того, что вы начали это осознавать и выкинули белый флаг раньше времени, точнее сбежали с поля боя. Поэтому всё равно — это моя победа. Если хотите продолжить дискуссию, то можем откатить один ход и вернуться к вопросам (см. парой постов выше). Я жду вашего ответа до завтрашнего утра, если вы так и не ответите на те 3 вопроса буду считать вас окончательно поверженным.
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re[17]: Идеологически правильный мегарулез
От: Amidlokos Россия  
Дата: 29.06.05 10:53
Оценка:
Здравствуйте, jazzer, Вы писали:

Бррр, туплю. Простите грешного. Не на ту тему вообще отвечал .
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
WARNING: expression "to_be || !to_be" is always true
Re: Синтаксический оверхед
От: eandr  
Дата: 29.06.05 11:06
Оценка:
Здравствуйте, Сергей Губанов.

Статья — редкостный бред. Автор либо не понимает, чем стиль записи отличается от синтаксиса, либо занимается сознательной подтасовкой.

СГ>Программа записанная в Си-образном синтаксисе содержит в разы, а не на проценты больше лексем и строчек кода чем это реально необходимо. Спрашивается, и как долго этот синтаксис еще будет существовать?


Абсолютная глупость.
Re[2]: Синтаксический оверхед
От: Кодт Россия  
Дата: 29.06.05 11:12
Оценка: 4 (2) +2 :)
Здравствуйте, eandr, Вы писали:

E>Статья — редкостный бред. Автор либо не понимает, чем стиль записи отличается от синтаксиса, либо занимается сознательной подтасовкой.


А теперь внимательно смотрим на название форума...
и заодно, на количество ответов. В общем, опоздали, батенька!
Перекуём баги на фичи!
Re[20]: Синтаксический оверхед - Новая порция
От: faulx  
Дата: 29.06.05 11:42
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Потому, что антонимом к DestroyInstance является ConstructInstance.


Антоним для практически любого слова, если он существует, не единственный. Так что то, что вы написали — правда, но не вся правда. Также антонимами могут быть CreateInstance, MakeInstance, BuildInstance и еще куча других.

F>>И "паттерн" использования COM-объекта чаще всего именно такой: создать по CreateInstance(), поработать с ним и освободить по Release().

S>А какое отношение имеет паттерн использования COM объекта?

Потому что программист пишет именно в терминах этого паттерна (не всегда, конечно).

S>В него обычно входит еще много других вызовов. У CreateInstance пары нет.

S>Теоретически, можно считать, что есть приватная DeleteInstance, которая вызывается из Release при достижении нулевого количества ссылок.

Ну вот видите, сами нашли ответ.

Вообще, все эти рассуждения никак не опровергают тех тезисов, которые я здесь продвигаю, и которые повторю еще раз:

1. Действие должно обозначаться глаголом.

2. Противоположные по смыслу действия должны обозначаться противоположными по смыслу словами (одной и той же грамматической категории).

Найдется ли смелый человек, который прямо выступит против этих тезисов, без увода разговора в сторону? Например, прямо скажет: тезис 1 неправильный, действие может обозначаться как угодно, например, существительным, наречием, предлогом и т.п. (Естественно, весь разговор ведется в рамках языков программирования). Или скажет про тезис 2: он неверный, противоположные действия могут обозначаться синонимами (создать объект с помощью ключевого слова yes, а удалить — ключевым словом of_course).
Re[20]: Синтаксический оверхед - Новая порция
От: faulx  
Дата: 29.06.05 11:46
Оценка: :))
Здравствуйте, Amidlokos, Вы писали:

F>>Что парной к Release() является AddRef() я, естественно, знаю. Но ведь CreateInstance() вызывает AddRef(), разве нет? И "паттерн" использования COM-объекта чаще всего именно такой: создать по CreateInstance(), поработать с ним и освободить по Release().


A>Спасибо хоть "чаще всего", а не "всегда"...


Только ситхи возводят все в абсолют...



A>Не знаю как у кого, но лично мне практически при каждом серьёзном использовании COM приходится несколько раз ручками вызывать AddRef() при передаче указателей на COM-объекты. Конечно, это не слишком актуально для "одноразовых" объектов, но когда объект глобальный и длительного использования — приходится для надёжности. Только так есть гарантия, что все экземпляры классов и все потоки не получат "мусор", уже удалённый кем-то.


Как-то звучит подозрительно, видимо, я не очень хорошо понимаю? Что значит "для надежности"? А присваивание по два раза для надежности вы не пишете?

A>А в конце работы, кстати, в отладочной версии всегда ставлю проверку и вывод значения, возвращаемого Release(). Вот такое оно бесполезное.


Я такого и не говорил. Конечно, не бесполезное.
Re[16]: Народ упорно не врубается
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 29.06.05 14:35
Оценка:
Здравствуйте, Mr. None, Вы писали:

MN> Я жду вашего ответа до завтрашнего утра


Можете не ждать. Ложитесь спать спокойно.
Re[2]: Синтаксический оверхед
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 29.06.05 14:39
Оценка: +2 :))
Здравствуйте, eandr, Вы писали:

E>Абсолютная глупость.


Однако же Вы зарегистрировались на этом форуме и первое Ваше сообщение посвятили именно этой абсолютной глупости. Задело за живое, я полагаю...
Re[3]: Синтаксический оверхед
От: Кодт Россия  
Дата: 29.06.05 14:48
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

E>>Абсолютная глупость.


СГ>Однако же Вы зарегистрировались на этом форуме и первое Ваше сообщение посвятили именно этой абсолютной глупости. Задело за живое, я полагаю...


Скорее всего, твоё эссе уже стало достоянием интернета. Кто-то где-то на полном серьёзе ссылочку тиснул, вот реакция и случилась
Перекуём баги на фичи!
Re[4]: Синтаксический оверхед
От: Mamut Швеция http://dmitriid.com
Дата: 29.06.05 15:14
Оценка:
СГ>>Однако же Вы зарегистрировались на этом форуме и первое Ваше сообщение посвятили именно этой абсолютной глупости. Задело за живое, я полагаю...

К>Скорее всего, твоё эссе уже стало достоянием интернета. Кто-то где-то на полном серьёзе ссылочку тиснул, вот реакция и случилась


Это, наверное, как и с приснопамятным распараллеливанием кода на геймдеве (или где он там был). Кстати, а Оберон поддерживает распараллеливание кода?


dmitriid.comGitHubLinkedIn
Re[18]: Идеологически правильный мегарулез
От: jazzer Россия Skype: enerjazzer
Дата: 29.06.05 15:27
Оценка: +1
Здравствуйте, Mr. None, Вы писали:

J>>Потому что этот класс — не POD-тип, так как имеет определенный пользователем конструктор.

MN>Не конструктор, а деструктор ;) . Наличие конструктора не превращает класс в POD-тип:

Ты хотел сказать, в не-POD-тип? :)

MN>Стандарт, 9.4
MN>...A POD-struct is an aggregate class that has no nonstatic data members of type pointer to member, non-POD-struct,
MN>non-POD-union (or array of such types) or reference, and has no userdefined copy assignment operator and no userdefined destructor...


Превращает.

Стандарт, 8.5.1/1
An aggregate is an array or a class (clause 9) with no user-declared constructors (12.1), no private or protected
non-static data members (clause 11), no base classes (clause 10), and no virtual functions (10.3).

jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: Теория
От: Mamut Швеция http://dmitriid.com
Дата: 29.06.05 15:36
Оценка: +2 :))) :)
Наткнулся на следующее выражение в книге "Прорри Гаттер. Двенадцать повигов Сена Аесли. Подвиги 9-12":

Я люблю вовсе не расчеты, а рассуждения. Настоящей, чистой теории не нужны ни расчеты, ни наблюдения, ни подтверждения опытными фактами. А самое главное – у теории не должно быть практических применений, иначе она не будет теорией


Эту фразу можно применить к доброй половине высказываний в этой ветке


dmitriid.comGitHubLinkedIn
Re[5]: Синтаксический оверхед
От: achp  
Дата: 29.06.05 15:41
Оценка: :))) :))
Здравствуйте, Mamut, Вы писали:

M>Кстати, а Оберон поддерживает распараллеливание кода?


Несчастный, да как ты посмел поставить такую скверну рядом со священным именем Оберона?!! Конечно же нет, ведь при параллелизме невозможно обеспечить формального выполнения ложности условия продолжения цикла по его завершении! Как же тогда проводить формальную верификацию программ?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.