C>>Поздравляю. Вот Вы и ответили вопросом на вопрос. Знаете поговорку про сучок в чужом глазу?
DC>Да повесь себе медаль .
DC>А ты продолжай съезжать с темы у тебя это хорошо получается, правда других достоинств чего-то не видно.
Вы все сказали?
Re[10]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, criosray, Вы писали:
ГВ>>>>Ну как это — о чём? В заглавном сообщении ты утверждал, что произойдёт бесконечный цикл (в своеобычной манере гуру, раскрывающего тайны мироздания плебсу). C>>>Он и произойдет. ГВ>>Это не обязательно. C>Этого я и не утверждал.
Ты уж сам разберись в своих посланиях: не то ты утверждал про цикл, не то не утверждал. Поясняющих ремарок про "обязательность" ты тоже не сделал, так что полагаем, что ты всё же уверен именно в бесконечном цикле.
ГВ>>>>На самом деле спецификация языка не предусматривает каких-то определённых эффектов в этом случае. Это всем известно, никакой Америки тут не открыто. C>>>Язык ущербный, что поделаешь. ГВ>>Иными словами, ты не понимаешь разницы между неопределённым и определённым эффектом. C>Только не эффектом, а поведением — детерменированным или недетерменированным. Да, я понимаю конечно и получше Вашего.
Молодец, формально правильно именно "поведение", кстати, именно "определённое" (defined), а не "детерминированное". Вопрос: что это меняет? Пропала разница между детерминированностью (определённостью) и недетерминированностью (неопределённостью)?
C>>>Зависимость тут не от окружения, а от компиллятора. Поэтому если тестировать продакшн левел бинарник, как это делается в нормальных системах разработки, то проблема будет тут же выявлена — будет сгенерировано исключение с сообщением о выходе за границы массива во время выполнения теста. ГВ>>Дудки! Тому, кто уверяет, что программировал на C++ аж 10 лет и продолжает нести восхитительную ахинею касательно этого же C++, C>Какую ахинею? Вы действительно не знаете С++, раз думаете, что это ахинея.
Я думаю, что у тебя каша в голове. Предметно её распутывать, честно говоря, не имею ни малейшего желания. Добро бы ты ещё по-человечески спросил, а так, в порядке пикировки доказывать, что белое, это белое, хотя на нём можно нарисовать всё, что хочешь любой краской...
ГВ>>проводить ликбез я не буду по принципиальным соображениям. C>Еще бы. Яйцо курицу не учит.
Разумеется. Сам себя не похвалишь, адепты и не додумаются.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[10]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, criosray, Вы писали:
C>>>if (i = n) {...} M_>>незнание синтаксиса — не причина ругать язык. C>Проблема в том, что это корректный синтаксис. Корректный синтаксис допускающий некорректное поведение — более чем причина, чтоб ругать язык.
Это корректный синтаксис и корректное поведение. Современные компиляторы выдают на такие конструкции предупреждения, но некорректными они от этого не становятся.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[10]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>>>>>Ну как это — о чём? В заглавном сообщении ты утверждал, что произойдёт бесконечный цикл (в своеобычной манере гуру, раскрывающего тайны мироздания плебсу). C>>>>Он и произойдет. ГВ>>>Это не обязательно. C>>Этого я и не утверждал.
ГВ>Ты уж сам разберись в своих посланиях: не то ты утверждал про цикл, не то не утверждал. Поясняющих ремарок про "обязательность" ты тоже не сделал, так что полагаем, что ты всё же уверен именно в бесконечном цикле.
Я не собираюсь играть с Вами в слова. Свою точку зрения я уже доказал.
ГВ>>>>>На самом деле спецификация языка не предусматривает каких-то определённых эффектов в этом случае. Это всем известно, никакой Америки тут не открыто. C>>>>Язык ущербный, что поделаешь. ГВ>>>Иными словами, ты не понимаешь разницы между неопределённым и определённым эффектом. C>>Только не эффектом, а поведением — детерменированным или недетерменированным. Да, я понимаю конечно и получше Вашего.
ГВ>Молодец, формально правильно именно "поведение", кстати, именно "определённое" (defined), а не "детерминированное".
Определенное поведение это такое, которое БЫЛО кем-то заданно.
Детерменированное поведение это такое, которое однозначно предопределенно.
Не видите разницы?
ГВ>Вопрос: что это меняет? Пропала разница между детерминированностью (определённостью) и недетерминированностью (неопределённостью)?
В данном случае поведение недетерменированное. Недетерменированное поведение в программировании ведет к огромному числу проблем в самых неожиданных местах.
C>>>>Зависимость тут не от окружения, а от компиллятора. Поэтому если тестировать продакшн левел бинарник, как это делается в нормальных системах разработки, то проблема будет тут же выявлена — будет сгенерировано исключение с сообщением о выходе за границы массива во время выполнения теста. ГВ>>>Дудки! Тому, кто уверяет, что программировал на C++ аж 10 лет и продолжает нести восхитительную ахинею касательно этого же C++, C>>Какую ахинею? Вы действительно не знаете С++, раз думаете, что это ахинея.
ГВ>Я думаю, что у тебя каша в голове. Предметно её распутывать, честно говоря, не имею ни малейшего желания.
Вы свою бы распутали для начала.
ГВ>>>проводить ликбез я не буду по принципиальным соображениям. C>>Еще бы. Яйцо курицу не учит. ГВ>Разумеется. Сам себя не похвалишь, адепты и не додумаются.
Никакой хвальбы — просто констатация фактов.
Re[5]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, Sheridan, Вы писали:
ГВ>> Тпру! А признать свою ошибку с бесконечным циклом слабо? S>Он? Признать свою ошибку? Не смеши. Щас накидает тебе обвинений во лжи, закидает вопросами итд. Отстает только когда игнорируя все настаиваешь на своем. Да и то просто перкращает разговор.
Не подсказывай.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[11]: Модульные тесты и "безопасные" языки - хорошо.
C>>>>if (i = n) {...} M_>>>незнание синтаксиса — не причина ругать язык. C>>Проблема в том, что это корректный синтаксис. Корректный синтаксис допускающий некорректное поведение — более чем причина, чтоб ругать язык.
ГВ>Это корректный синтаксис и корректное поведение.
Вы сами-то в это верите? ГВ>Современные компиляторы выдают на такие конструкции предупреждения, но некорректными они от этого не становятся.
Ну хорошо, как же мне включить предупреждения в самом что ни на есть современном VC++?
Re[11]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, criosray, Вы писали:
ГВ>>Ты уж сам разберись в своих посланиях: не то ты утверждал про цикл, не то не утверждал. Поясняющих ремарок про "обязательность" ты тоже не сделал, так что полагаем, что ты всё же уверен именно в бесконечном цикле. C>Я не собираюсь играть с Вами в слова. Свою точку зрения я уже доказал.
Это тебе кажется, что ты её доказал. На самом деле ты доказал, что "бумага всё стерпит". Тоже мне, новость...
ГВ>>Молодец, формально правильно именно "поведение", кстати, именно "определённое" (defined), а не "детерминированное". C>Определенное поведение это такое, которое БЫЛО кем-то заданно. C>Детерменированное поведение это такое, которое однозначно предопределенно. C>Не видите разницы?
В данном контексте этой разницей можно пренебречь. UB — undefined behavior. Термин вполне устоявшийся и общепонятный.
ГВ>>Вопрос: что это меняет? Пропала разница между детерминированностью (определённостью) и недетерминированностью (неопределённостью)? C>В данном случае поведение недетерменированное. Недетерменированное поведение в программировании ведет к огромному числу проблем в самых неожиданных местах.
Ага, теперь ты со мной будешь играть в слова, вообще отвязанные от контекста. Прикольно. С одной стороны, это, конечно, хорошо, что ты проявляешь интерес к словам и формулировкам (не всё ж языком парадигматично ООП-нутых трипов изъясняться), а с другой, ты пока ещё слишком торопишься. Ну ничего, различение приходит с опытом — практикуй с должным усердием и не пугайся трудностей.
C>>>>>Зависимость тут не от окружения, а от компиллятора. Поэтому если тестировать продакшн левел бинарник, как это делается в нормальных системах разработки, то проблема будет тут же выявлена — будет сгенерировано исключение с сообщением о выходе за границы массива во время выполнения теста. ГВ>>>>Дудки! Тому, кто уверяет, что программировал на C++ аж 10 лет и продолжает нести восхитительную ахинею касательно этого же C++, C>>>Какую ахинею? Вы действительно не знаете С++, раз думаете, что это ахинея.
ГВ>>Я думаю, что у тебя каша в голове. Предметно её распутывать, честно говоря, не имею ни малейшего желания. C>Вы свою бы распутали для начала.
Так как же я её распутаю? У меня ж миелофона нет, чтобы ход твоих мыслей проследить и правильно вербализовать. Вот и приходится дешифровывать твои сообщения.
ГВ>>>>проводить ликбез я не буду по принципиальным соображениям. C>>>Еще бы. Яйцо курицу не учит. ГВ>>Разумеется. Сам себя не похвалишь, адепты и не додумаются. C>Никакой хвальбы — просто констатация фактов.
Хм. Факт, я так понимаю, это то, что ты считаешь фактом, безотносительно объективной реальности. Э... Дружище, ну вот говорил я тебе, не кури ООП-траву, да всё впустую.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[12]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, criosray, Вы писали:
ГВ>>Это корректный синтаксис и корректное поведение. C>Вы сами-то в это верите?
Зачем мне в это верить? Я это знаю.
ГВ>>Современные компиляторы выдают на такие конструкции предупреждения, но некорректными они от этого не становятся. C>Ну хорошо, как же мне включить предупреждения в самом что ни на есть современном VC++?
Warning C4706. Ключи: /W4 или, например, /w14706.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[13]: Модульные тесты и "безопасные" языки - хорошо.
ГВ>Warning C4706. Ключи: /W4 или, например, /w14706.
Если сильно мучает паранойя, то можно /we4706.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[12]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, criosray, Вы писали:
C>Что сказать-то хотели?
Прочитать написанное, я так понимаю, принципы не позволяют.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[6]: Модульные тесты и "безопасные" языки - хорошо.
C>>>if (i = n) {...} C>Проблема в том, что это корректный синтаксис. Корректный синтаксис допускающий некорректное поведение — более чем причина, чтоб ругать язык.
Это совершенно корректный синтаксис. И совершенно корректное поведение. Если лично ТЫ не знаешь, как работает оператор присваивания и конструкция if — то так и скажи.
C>>>Это С++ болеет детскими болезнями. До таких языков как С#, Nemerle, Boo, F#, Haskell, OCaml, Erlang, Python, Ruby... ему как от земли до неба.
brain fcuk забыл.
Да здравствует мыло душистое и веревка пушистая.
Re[11]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, Vamp, Вы писали:
C>>>>if (i = n) {...} C>>Проблема в том, что это корректный синтаксис. Корректный синтаксис допускающий некорректное поведение — более чем причина, чтоб ругать язык. V>Это совершенно корректный синтаксис. И совершенно корректное поведение.
Корректное поведение... смешно. Ну покажите мне код, где такое поведение корректное. V>Если лично ТЫ не знаешь, как работает оператор присваивания и конструкция if — то так и скажи.
Я-то прекрасно знаю, как работает оператор присваивания и конструкция if — именно потому и говорю. В 9 из 10 случаев в С/С++ исходниках можно увидеть if (NULL == something) {} вместо if (something == NULL) {}. Это наверно от хорошей жизни, да?
C>>>>Это С++ болеет детскими болезнями. До таких языков как С#, Nemerle, Boo, F#, Haskell, OCaml, Erlang, Python, Ruby... ему как от земли до неба. V>brain fcuk забыл.
Узнали для себя много нового?
Re[7]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, Sheridan, Вы писали:
c>> Вы, уважаемый, за собой бы последили. S>Да я вообще за ум взялся — Мамут вон даже поттвердит.
Держите крепче, а то убежит.
Re[8]: Модульные тесты и "безопасные" языки - хорошо.
C>Конструкция напечататьхелловорлд имеет побочные эффекты, а именно подразумевает вывод на устройство вывода, что автоматически делает ее небезопасной в отличии от чисто функционального f(x) -> x * x, к примеру.
Ну-ну. И что потом с этим ха квадрат делать? Он так и останется в памяти компьютера вещью в себе? В реальном мире программам приходится заниматься такими небезопасными вещами, как пользовательский ввод-вывод и даже! о черт! генерировать случайные числа.
C>Вы, мой друг, еще очень много не знаете, я так погляжу...
Есть многое на свете, друг Горацио
Да здравствует мыло душистое и веревка пушистая.
Re[9]: Модульные тесты и "безопасные" языки - хорошо.
Здравствуйте, Vamp, Вы писали:
C>>Конструкция напечататьхелловорлд имеет побочные эффекты, а именно подразумевает вывод на устройство вывода, что автоматически делает ее небезопасной в отличии от чисто функционального f(x) -> x * x, к примеру. V>Ну-ну. И что потом с этим ха квадрат делать? Он так и останется в памяти компьютера вещью в себе? В реальном мире программам приходится заниматься такими небезопасными вещами, как пользовательский ввод-вывод и даже! о черт! генерировать случайные числа.
Да что Вы говорите?! Не может быть!..
Re[12]: Модульные тесты и "безопасные" языки - хорошо.
C>Корректное поведение... смешно. Ну покажите мне код, где такое поведение корректное.
A фиг ли скрывать?
struct crioscray {
handle crioscray_mind_handle;
const crioscray operator=(const crioscray& ccray) { synch_with_cryoscray_mind(ccray.crioscray_mind.handle); return *this};
operator bool() const {return is_crioscray_sane(crioscray_mind_handle)};
}
...
crioscray cray1, cray2;
if (cray1 = cray2) {
cout << "Crioscray is sane, here are two copies of it, use one and save the other as a backup in case something goes wrong!";
start_experiment(cray1);
} else {
cout << "Now we have two insane crioscray copies, screw them all!";
}
C>Я-то прекрасно знаю, как работает оператор присваивания и конструкция if — именно потому и говорю. В 9 из 10 случаев в С/С++ исходниках можно увидеть if (NULL == something) {} вместо if (something == NULL) {}. Это наверно от хорошей жизни, да?
За 11 лет — видел только в индусских рекомендациях. Это от индуизма.
V>>brain fcuk забыл. C>Узнали для себя много нового?
Нет, ничего нового не узнал.