Здравствуйте, IB, Вы писали:
SV.>>Вы не осилили текст, а я — ваши комментарии к нему. По-моему, все честно. IB>Конечно же нет.. Комментарии были не к тексту, а к комментариям, так что слив не засчитан.
А я не буду тратить время на бесконечное обсуждение комментариев в столь любимом вами стиле нитпикинга. У меня вторая часть недописанная лежит. Поэтому я буду делать свое дело, а вы на здоровье продолжайте делать свое.
Здравствуйте, SV., Вы писали:
SV.>А я не буду тратить время на бесконечное обсуждение комментариев в столь любимом вами стиле нитпикинга. У меня вторая часть недописанная лежит.
Ну конечно, чукча не читатель — мнение аудитории его не интерисует.. =) В принципе, типичная позиция графомана.
С другой стороны, если автора не интересует мнение аудитории, то я, как модератор ресурса, в праве удалить ссылку на статью автора, так как форум — это прежде всего место обмена мнениями, но автор явно не желает этого делать.
Согласен?
Здравствуйте, eao197, Вы писали:
SV.>>И насчет идиотизма. Ни изиотов, ни приверед, ни профи я идиотами ни в коем случае не считаю (просто по факту принадлежности).
E>В вашем изложении поведение всех трех категорий выглядит идиотским, поскольку вы не говорите о том, что у каждой из категорий есть объективные причины вести себя так и, кроме того, есть объективые выгоды от такого поведения. По крайней мере мне так показалось.
Идиотским это твои домыслы.
Когда я выбираю стиральную машину я изиот. А когда мне нужна IDE, я профессионал, а если вдруг беру TV-тюнер или телефон то прагматик.
Здравствуйте, IB, Вы писали:
SV.>>А я не буду тратить время на бесконечное обсуждение комментариев в столь любимом вами стиле нитпикинга. У меня вторая часть недописанная лежит. IB>Ну конечно, чукча не читатель — мнение аудитории его не интерисует.. =) В принципе, типичная позиция графомана.
Ниткипинг не интересует. Ну а графоманства на форумах хватает, да.
IB>С другой стороны, если автора не интересует мнение аудитории, то я, как модератор ресурса, в праве удалить ссылку на статью автора, так как форум — это прежде всего место обмена мнениями, но автор явно не желает этого делать. IB>Согласен?
Здравствуйте, IB, Вы писали:
SV.>>А я не буду тратить время на бесконечное обсуждение комментариев в столь любимом вами стиле нитпикинга. У меня вторая часть недописанная лежит. IB>Ну конечно, чукча не читатель — мнение аудитории его не интерисует.. =) В принципе, типичная позиция графомана. IB>С другой стороны, если автора не интересует мнение аудитории, то я, как модератор ресурса, в праве удалить ссылку на статью автора, так как форум — это прежде всего место обмена мнениями, но автор явно не желает этого делать. IB>Согласен?
Уважаемые господа читатели и обсуждатели, большая просьба: в дальнейшем оставляйте вопросы, комментарии и проч. в самой заметке или на том же форуме. Спасибо за понимание. Вторая часть — в пятницу в то же время.
Здравствуйте, SV., Вы писали:
SV.>Уважаемые господа читатели и обсуждатели, большая просьба: в дальнейшем оставляйте вопросы, комментарии и проч. в самой заметке или на том же форуме.
Господа графоманы, большая просьба, анонсы своих статей так же делать там же. Спасибо за внимание..
Здравствуйте, Ikemefula, Вы писали:
I>Ниткипинг не интересует.
А что это?
I> Ну а графоманства на форумах хватает, да.
Ну, мы боремся по мере сил.
I>Кого ты на понт хочешь взять, а ?
О каком понте речь? Я своего добился, теперь непрекрытой и довольно неуклюжей демагогии будет поменьше.
Здравствуйте, IB, Вы писали:
I>>Ниткипинг не интересует. IB>А что это?
Это твои придирки например.
I>>Кого ты на понт хочешь взять, а ? IB>О каком понте речь? Я своего добился, теперь непрекрытой и довольно неуклюжей демагогии будет поменьше.
Насчет безопасности висты и overrun. Традиционно фирма Микрософт отличается какой-то неряшливостью в мелочах. Например, они объявили deprecated почти все стандартные строковые функции языка C и предлягают взамен их якобы более безопасные, типа strcpy_s. Это само по себе является феерическим идиотизмом, но речь не об этом. Например, есть такая функция strtod. На фоне той паранои с безопасностью, функция strtod может запросто уронить программу, потому что — фанфары! — она внутри вызывает strlen. Хотя этого делать совершенно не нужно и даже очень вредно — если стока имеет размер в сотню мег, то strtod будет работать очень долго, хотя ее задача — всего-лишь добежать до первого невалидного символа. И может запросто упасть по seg fault. В спецификации сказано, что null так же является невалидным символом. Каким же надо быть идиотом, чтобы интерпретировать это так, что null обязан существовать? Если программист так небрежно относится к стандартным функциям, то его можно смело считать быдлокодером. Но проблема еще и в том, что этих мелочей очень много. Другой пример — почему toupper работает в 10-20 раз медленнее, чем примитивный алгоритм с бинарным поиском для Unicode? Просто получается так, что мне приходится заниматься изобретением велосипедов и убирать нечистоты за "великим Микрософтом". Соответсвенно, не стоит удивляться и дырявости систем. И не важно, какие там великолепные дот-неты они придумают, дырявость все равно останется, просто как результат нечистоплотности.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, eao197, Вы писали:
SV.>>>И насчет идиотизма. Ни изиотов, ни приверед, ни профи я идиотами ни в коем случае не считаю (просто по факту принадлежности).
E>>В вашем изложении поведение всех трех категорий выглядит идиотским, поскольку вы не говорите о том, что у каждой из категорий есть объективные причины вести себя так и, кроме того, есть объективые выгоды от такого поведения. По крайней мере мне так показалось.
I>Идиотским это твои домыслы.
Мне, как читателю, замыслы автора должны быть понятны после первого прочтения. Если у автора с помощью нескольких страниц текста это не получилось, то это проблемы произведения и автора. С моей необъективной читательской точки зрения.
А автора на этот счет могут быть свои мысли, но он может засунуть их куда захочет, поскольку меня, как читателя, это уже не касается.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, McSeem2, Вы писали:
MS>Здравствуйте, SV., Вы писали:
SV.>>Топор – лучшее средство от головы, Часть 1
MS>Насчет безопасности висты и overrun. Традиционно фирма Микрософт отличается какой-то неряшливостью в мелочах. Например, они объявили deprecated почти все стандартные строковые функции языка C и предлягают взамен их якобы более безопасные, типа strcpy_s. Это само по себе является феерическим идиотизмом, но речь не об этом.
Это не "феерический идиотизм", это стремление избавиться от двух сидящих друг на друга феерических идиотизмах:
1) строки ограниченные NUL за пределами тех немногочисленных случаев, где они реально нужны;
2) безнадёжно тупой и опасный интерфейс работы с такими строками.
Комплект функций *_s(), предложенный в ISO TR 24731 (так что не надо грешить на один Microsoft) не решает первое, зато хотя бы является тем средством, которым реально можно решить второе, причём в уже существующем коде с минимальной его переделкой. Разумеется, лучше было бы решить этот вопрос раз и навсегда отказом от таких строк в принципе и переходом на что-то более удобоваримое. Но это для нового кода,
MS> Например, есть такая функция strtod. На фоне той паранои с безопасностью, функция strtod может запросто уронить программу, потому что — фанфары! — она внутри вызывает strlen.
Если у них просто до чего-то не дотянулись руки, или пропущено по забывчивости, это не значит, что это глобальная политика. Видите тут проблему? Напишите problem report, это обойдётся Вам максимум в доллар, зато полезно будет всем.
MS> Хотя этого делать совершенно не нужно и даже очень вредно — если стока имеет размер в сотню мег, то strtod будет работать очень долго, хотя ее задача — всего-лишь добежать до первого невалидного символа. И может запросто упасть по seg fault. В спецификации сказано, что null так же является невалидным символом. Каким же надо быть идиотом, чтобы интерпретировать это так, что null обязан существовать?
Я не смог найти такого утверждения в документации на strtod. Где Вы его нашли? И я прошу Вас быть точным в терминологии, ибо:
NUL — ASCII название символа с кодом 0
NULL — в Си указатель со специальным значением "никуда"
null — такого в данном контексте нет и что Вы имели в виду — непонятно.
MS> Если программист так небрежно относится к стандартным функциям, то его можно смело считать быдлокодером. Но проблема еще и в том, что этих мелочей очень много. Другой пример — почему toupper работает в 10-20 раз медленнее, чем примитивный алгоритм с бинарным поиском для Unicode? Просто получается так, что мне приходится заниматься изобретением велосипедов и убирать нечистоты за "великим Микрософтом". Соответсвенно, не стоит удивляться и дырявости систем. И не важно, какие там великолепные дот-неты они придумают, дырявость все равно останется, просто как результат нечистоплотности.
Что Microsoft достаточно часто пишет странно и криво — факт.
Но если бы Вы её обвиняли корректно и по сути — это имело бы смысл. В данном письме я таких относительно корректных утверждений (не проваливших проверку с первого раза) нашёл 2 и 5. Не знаю, что показала бы более глубокая проверка, но даже того, что есть — слишком мало.
Здравствуйте, netch80, Вы писали:
MS>> Хотя этого делать совершенно не нужно и даже очень вредно — если стока имеет размер в сотню мег, то strtod будет работать очень долго, хотя ее задача — всего-лишь добежать до первого невалидного символа. И может запросто упасть по seg fault. В спецификации сказано, что null так же является невалидным символом. Каким же надо быть идиотом, чтобы интерпретировать это так, что null обязан существовать?
N>Я не смог найти такого утверждения в документации на strtod. Где Вы его нашли? И я прошу Вас быть точным в терминологии, ибо: N>NUL — ASCII название символа с кодом 0 N>NULL — в Си указатель со специальным значением "никуда" N>null — такого в данном контексте нет и что Вы имели в виду — непонятно.
Как-то ты хреново искал. Цитирую контент по твоей же ссылке:
strtod stops reading the string nptr at the first character it cannot recognize as part of a number. This may be the terminating null character.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Ikemefula, Вы писали:
I>Это твои придирки например.
Ну правильно, как кто-то несогласный нашелся — так придирки, ага.
Да еще эта непрекрытая демагогия в каждом сообщении, аж тошнит.
I>Ню-ню
То есть, по делу сказать нечего, но что-то вякнуть хочется — это ты сейчас nit-picking демонстрировал?
Здравствуйте, eao197, Вы писали:
E>Если у автора с помощью нескольких страниц текста это не получилось, то это проблемы произведения и автора. С моей необъективной читательской точки зрения.
Возможно, если другим понятно, а тебе — нет, то это твоя проблема
Здравствуйте, Sinclair, Вы писали:
MS>>> Хотя этого делать совершенно не нужно и даже очень вредно — если стока имеет размер в сотню мег, то strtod будет работать очень долго, хотя ее задача — всего-лишь добежать до первого невалидного символа. И может запросто упасть по seg fault. В спецификации сказано, что null так же является невалидным символом. Каким же надо быть идиотом, чтобы интерпретировать это так, что null обязан существовать?
N>>Я не смог найти такого утверждения в документации на strtod. Где Вы его нашли? И я прошу Вас быть точным в терминологии, ибо: N>>NUL — ASCII название символа с кодом 0 N>>NULL — в Си указатель со специальным значением "никуда" N>>null — такого в данном контексте нет и что Вы имели в виду — непонятно. S>Как-то ты хреново искал. Цитирую контент по твоей же ссылке: S>
strtod stops reading the string nptr at the first character it cannot recognize as part of a number. This may be the terminating null character.
Согласен, правлю формулировку: в средних по отрасли формулировках, а не MS, и всё равно при этом принципиально, что null character (в таком случае null — общепринятое прилагательное), а не просто null.
Остаётся как минимум вопрос, где это сказано что "null так же является невалидным символом" (cannot recognize — это невалидный?)
Подсчёт длины в таком варианте, конечно, неэффективен, хотя формально допустим — потому что на входе требуется обычная NUL-terminated string. Чтобы не гоняться за ним, можно было бы оптимизировать это через strspn():
len_to_check = strspn(s, "0123456789+-eE.");
И ещё всё-таки интересны причины нападок именно на MS за кросс-вендоровский ISO TR 24731.
Здравствуйте, Ikemefula, Вы писали:
I>Возможно, если другим понятно, а тебе — нет, то это твоя проблема
Другие в данном случае идут лесом. Я прочитал статью сам. Т.е. автор посредством статьи общался со мной. Следовательно, автор не смог _мне_ объяснить суть статьи.
I>Что именно тебе непонятно в статье ?
После прочтения у меня сложилось впечатление, что автор рассказывает о трех категориях людей, которые пользуются программами. Но не понятно было, для чего это деление.
После наводящих вопросов выяснилось, что это деление важно с точки зрения продавца ПО. Что для меня явилось открытием.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, netch80, Вы писали: N>Согласен, правлю формулировку: в средних по отрасли формулировках, а не MS, и всё равно при этом принципиально, что null character (в таком случае null — общепринятое прилагательное), а не просто null.
Это передёргивание. McSeem2 критикует поведение функции в соответствии с её официальной документацией. Требовать в форумной дискуссии fully qualified name на каждый чих — перебор. N>Остаётся как минимум вопрос, где это сказано что "null так же является невалидным символом" (cannot recognize — это невалидный?)
Да, очевидно, что в данном контексте речь идет именно о том, что null character трактуется точно так же, как и non-digit. Надеюсь, это требование ты сможешь найти самостоятельно?
N>Подсчёт длины в таком варианте, конечно, неэффективен, хотя формально допустим — потому что на входе требуется обычная NUL-terminated string. Чтобы не гоняться за ним, можно было бы оптимизировать это через strspn():
Вот именно. N>И ещё всё-таки интересны причины нападок именно на MS за кросс-вендоровский ISO TR 24731.
А ISO TR 24731 разве регламентирует бездумное применение strlen внутри strtod? Или он описывает только внешний интерфейс?
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, eao197, Вы писали:
E>Здравствуйте, Ikemefula, Вы писали:
I>>Возможно, если другим понятно, а тебе — нет, то это твоя проблема
E>Другие в данном случае идут лесом. Я прочитал статью сам. Т.е. автор посредством статьи общался со мной. Следовательно, автор не смог _мне_ объяснить суть статьи.
Да, а с точки зрения тех, кто понял и с т.з. автора это ты не смог прочитать и понять
E>После прочтения у меня сложилось впечатление, что автор рассказывает о трех категориях людей, которые пользуются программами. Но не понятно было, для чего это деление. E>После наводящих вопросов выяснилось, что это деление важно с точки зрения продавца ПО. Что для меня явилось открытием.
В статье был небольшой ликбез, на пальцах, потому как девелоперы не являются проф. маркетологами например.