Здравствуйте, BulatZiganshin, Вы писали:
BZ>я лично именно притфом пользуюсь интеснивно для отладки. и помню именно форматы вывода чисел/указателей. равно как и вывести ровно 80 байт в текстовом виде. и думаю, по этому вопросу можно отлавливать таких вот ide-мизантропов
А я не просто пользуюсь принтфом для отладки принтфом, у меня еще и принтф самодельный, и при этом очень неплохо совместимый со стандартом C89. А вот хоть убейте, не помню, как вывести ровно 80 байт, и каждый раз либо пробую, либо смотрю с изумлением на код собственного же форматера
Здравствуйте, Pzz, Вы писали:
Pzz>А я не просто пользуюсь принтфом для отладки принтфом, у меня еще и принтф самодельный, и при этом очень неплохо совместимый со стандартом C89. А вот хоть убейте, не помню, как вывести ровно 80 байт, и каждый раз либо пробую, либо смотрю с изумлением на код собственного же форматера
Незачот. Я в логах забил каждый раз формат вспоминать и пытаться втиснуться в "стандарт C89" — и просто набросал свои форматтеры по одному на каждый нужный мне случай. С фантазией у меня плохо, потому "форматтер на 80 байт" у меня так и назывался (бы): format80b. На худой конец "printf80b". Хотя тогда уж правильно "log80b" или даже "log_dump80b".
ЗЫ: "b" вместо "byte" — это потому что манагеры над душой стоят и считают каждую нажатую клавишу, а я иногда забываю как правильно "байт" пишется...
Здравствуйте, Pzz, Вы писали:
TL>>О! Еще один отличный "вопрос на засыпку": "способен ли printf выводить указатели?" (к) Pzz>Спросите лучше, "что делает функция printf?" Потом расскажете, как много было правильных ответов
BZ>я лично именно притфом пользуюсь интеснивно для отладки. и помню именно форматы вывода чисел/указателей. равно как и вывести ровно 80 байт в текстовом виде. и думаю, по этому вопросу можно отлавливать таких вот ide-мизантропов
Оффтопик, но все же напишу: в моей личной практике "IDE-мизантропы" имеют продуктивность точно такую же, как и printf-джедаи. Однако ж, "мизантропы" почему-то успевают при этом еще и в форумах посидеть, и книжки почитать. Видать, IDE экономит достаточно времени.
Здравствуйте, The Lex, Вы писали:
TL>Незачот. Я в логах забил каждый раз формат вспоминать и пытаться втиснуться в "стандарт C89" — и просто набросал свои форматтеры по одному на каждый нужный мне случай. С фантазией у меня плохо, потому "форматтер на 80 байт" у меня так и назывался (бы): format80b. На худой конец "printf80b". Хотя тогда уж правильно "log80b" или даже "log_dump80b".
Принтф удобен тем, что можно одним вызовом сразу несколько переменных распечатать.
А что до самодельных форматеров — мой принтф расширяется, и у меня есть, например, форматеры для печати в текстовом виде struct sockaddr* (понимает IPv4 и IPv6), времени и текстового представления errno (GetLastError() для виндовс)
TL>ЗЫ: "b" вместо "byte" — это потому что манагеры над душой стоят и считают каждую нажатую клавишу, а я иногда забываю как правильно "байт" пишется...
Здравствуйте, The Lex, Вы писали:
TL>>>О! Еще один отличный "вопрос на засыпку": "способен ли printf выводить указатели?" (к) Pzz>>Спросите лучше, "что делает функция printf?" Потом расскажете, как много было правильных ответов
TL>Хм... А в чем подкол?
Я думаю, не все знают ответ. Теперь же модно писать << в cout.
Здравствуйте, GGoga, Вы писали:
GG>А "собственные" горячие клавиши подойдут (Tools -> Options -> Environment -> Keyboard -> Press shortcut keys...)? Если да, то можно мега-гуру показаться, можно столько комбинаций понапридумывать... :)
Если придумаешь по-настоящему удобные сочетания, то возьмут на работу специалистом по юзабилити :-)
Здравствуйте, SkyDance, Вы писали:
SD>Оффтопик, но все же напишу: в моей личной практике "IDE-мизантропы" имеют продуктивность точно такую же, как и printf-джедаи. Однако ж, "мизантропы" почему-то успевают при этом еще и в форумах посидеть, и книжки почитать. Видать, IDE экономит достаточно времени.
Вы, наверное, не знаете значения слова мизантроп. Буквально, мизантроп — человеконенавистник. Вероятно, "IDE-мизантроп" — IDE-ненавистник. Т.е., как раз printf-джедаи в вашей терминологии
Но как бы то ни было, нелюбители IDE тоже успевают и в форумах посидеть, и книжки почитать. Это ни о чем не говорит.
Здравствуйте, Pzz, Вы писали:
Pzz>Вы, наверное, не знаете значения слова мизантроп. Буквально, мизантроп — человеконенавистник. Вероятно, "IDE-мизантроп" — IDE-ненавистник. Т.е., как раз printf-джедаи в вашей терминологии
Насчет противопоставления "printf-джедаи vs. IDE" я не очень понял: вроде как очень удобно перенаправлять вывод логгирования в Debug и его оттуда окно out в студии подхватывает — притовостояния логам и студии нет.
Здравствуйте, Pzz, Вы писали:
Pzz>Принтф удобен тем, что можно одним вызовом сразу несколько переменных распечатать. Pzz>А что до самодельных форматеров — мой принтф расширяется, и у меня есть, например, форматеры для печати в текстовом виде struct sockaddr* (понимает IPv4 и IPv6), времени и текстового представления errno (GetLastError() для виндовс)
Кстати, ты в теме не копался: "плюсовыми" стримами сильно оверхед по производительности получается в сравнении с printf?
TL>>ЗЫ: "b" вместо "byte" — это потому что манагеры над душой стоят и считают каждую нажатую клавишу, а я иногда забываю как правильно "байт" пишется...
Pzz>К чорту таких менеджеров
Хотелось бы, но имеем то, что имеем, а не имеем, соотв., денег — а они, соотв., имеют.
Здравствуйте, The Lex, Вы писали:
TL>Кстати, ты в теме не копался: "плюсовыми" стримами сильно оверхед по производительности получается в сравнении с printf?
Понятия не имею — я не пользую ни плюсами, ни ихними стримами.
Но в принципе, должно сильно зависеть от реализации. И то и другое может быть быстрым, и не очень.
Pzz>>К чорту таких менеджеров
TL>Хотелось бы, но имеем то, что имеем, а не имеем, соотв., денег — а они, соотв., имеют.
По-моему, это какой-то бред, оценивать труд программиста в байтах.
Здравствуйте, Pzz, Вы писали:
Pzz>Здравствуйте, The Lex, Вы писали:
TL>>>>О! Еще один отличный "вопрос на засыпку": "способен ли printf выводить указатели?" (к) Pzz>>>Спросите лучше, "что делает функция printf?" Потом расскажете, как много было правильных ответов
TL>>Хм... А в чем подкол?
Pzz>Я думаю, не все знают ответ. Теперь же модно писать << в cout.
Здравствуйте, The Lex, Вы писали:
TL>Насчет противопоставления "printf-джедаи vs. IDE" я не очень понял: вроде как очень удобно перенаправлять вывод логгирования в Debug и его оттуда окно out в студии подхватывает — притовостояния логам и студии нет.
а причём тут это? экранные отладчики представляют альтернативу printf-отладке, более того — современный средний девелопер и не умеет печатью отлаживать
Здравствуйте, BulatZiganshin, Вы писали:
BZ>а причём тут это? экранные отладчики представляют альтернативу printf-отладке, более того — современный средний девелопер и не умеет печатью отлаживать
Здравствуйте, Pzz, Вы писали:
Pzz>Но в принципе, должно сильно зависеть от реализации. И то и другое может быть быстрым, и не очень.
Тут я вообще в смятении. А много есть реализаций printf? Не ради спора — есть вопросы по производительности и по настраиваемости в проекте — брось ссылку на известные тебе реализации и теорию какую на тему — спасибо!
Pzz>>>К чорту таких менеджеров TL>>Хотелось бы, но имеем то, что имеем, а не имеем, соотв., денег — а они, соотв., имеют.
Pzz>По-моему, это какой-то бред, оценивать труд программиста в байтах.
Мы тут неоднократно ломали копья, а в чем же его, труд программиста, оценивать. В реальных проектах, в которых куча людей учавствует и уровни и сами требования к уровням разные.
Здравствуйте, The Lex, Вы писали:
TL>Тут я вообще в смятении. А много есть реализаций printf? Не ради спора — есть вопросы по производительности и по настраиваемости в проекте — брось ссылку на известные тебе реализации и теорию какую на тему — спасибо!
В каждой libc — своя. Со своими специфическими вкусностями, типа возможности подсунуть, э..., абстрактный stream (т.е., не FILE* и не фиксированный буфер
в памяти, а самодельный объект, с операциями типа "дописать N байтов в конец") и возможности добавить свой нестандартный спецификатор формата.
Никакой специальной теории я не знаю, поскольку исследованием вопроса не занимался. Следует так же понимать, что производительность принтфа зависит и от производительности собственно форматера, и от производительности того, куда печатаем — FILE*, например.
Pzz>>По-моему, это какой-то бред, оценивать труд программиста в байтах.
TL>Мы тут неоднократно ломали копья, а в чем же его, труд программиста, оценивать. В реальных проектах, в которых куча людей учавствует и уровни и сами требования к уровням разные.
Да черт его знает. Но не в строках/байтах кода точно.
Например, можно спрашивать, сколько времени уйдет, чтобы сделать такую-то работу, и учитывать два фактора: как соотносится запрошенное время с оценкой сложности данной работы, и насколько программист уложился в названные им же сроки. Причем заметьте, если он всегда ошибается ровно в N раз, особых трудностей это не вызывает: просто умножаете в уме запрошеный срок на N (говорят, типичное значение N для большинства людей — 2 Пи ).
Количество проблем, которые оставляет после себя программист, тоже важно. Но не в терминах количества багов в багтреккере или количества строк, которые пришлось исправить, а в терминах убитого на это времени — и его, и коллег, если они тоже пострадали.
При этом остается, конечно, открытым вопрос, как оценивать саму по себе сложность работы. Хорошо при этом, если тот, кто оценивает, сам программировать не разучился — тогда он хоть со своим опытом может это соотнести.
умный и принципиальный студент из анекдота в таком случае должен был не растеряться и, c хорошей артикуляцией, громко начать чеканить по алфавиту или в случайном порядке что-то из серии "Агафонов Петр Иваныч, Патрикеев Просфорий Кузьмич, Апанасенко Тарас Михайлович... Головко Георгий Николаевич " и так вплоть до отмашки запросившего пощады препода.
PS так сдают экзамены профессионалы: там где другой получает при прочих равных на балл меньше\незачет, они выжимают максимум
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.