|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Vitaly Lugovsky 2:5020/1737.307 08 Jan 2001 01:50:36 To : Vladimir N. Oleynik Subject : ?pI"C,pA'I'E'pI"?A'I^E'A* ?I"A" -------------------------------------------------------------------------------- 07 Jan 01, Vladimir N. Oleynik ==. Vitaly Lugovsky: VO>> glibc2.X VO>> register_printf_function ('B', fun_print_my_struct, VO>> fun_parse_arginfo); VO>> Далее все просто: VO>> printf("%B\n", pointer_my_struct); VL>> Это не то. Hадо писать для каждой структуры свою функцию для VL>> сериализации и свой pretty-printer. Hе канает. VO> Мдяя... Hаписан свой новый тип, откуда компилятору знать как VO> его вы хотите видеть по printf()? По другому в С красивее сделать VO> не возможно. Особенно интерессно видеть на реализацию в ваших VO> "нормальных туплов" что-то типа printf("%-40.10B"...). Hа каждый VO> вариант отображения писать по функции и ручками их звать в каждом VO> конкретном месте? Спасибо, не надо. Попрошу не забывать, что мы тут говорим об отстойности языка Цэ, как такового. Соответственно, все вышеприведенные методы - костыли для этого хочячего трупа, не более того. VL>> Для нормальных туплов, а не структур VO> Ой, опишите пожалуйста "нормальную" декларацию VO> функции ioctl(int fd, int cmd, ???), ась? Раздуть API до всевозможных VO> комбинаций cmd, а, следовательно, третьего аргумента? Флаг в руки. Все от того, что в Цэ предельно убогая система типов, и нет varian types с аргументами, только примитивные enum. Отсюда и извращения навроде ioctl. VO> А вот C-идеология, когда написана декларация struct_ptr *, совершенно VO> не требует описания этой struct - весьма спасает, то же самое и VO> void *, - не считайте себя умнее других. Дык идеология ублюдочная, вот в чем фишка.... VL>> позорных, ничего такого не надо - они автоматом сериализуются. VO> Для мнимой красоты жертвовать производительностью и объемом, когда VO> это стоит в условии задачи (ядро, компилятор etc) - ламерство. А вот не надо. При наличии статической типизации у нас никакого оверхеда на представление туплов не будет. VL>> ... В начале было слово, и слово было убого... VO> [мы можем сделать хорошо, быстро и дешево - выбирайте любые два из трех VO> (c) народное ?] Однако, Цэ сделали погано, быстро и очень дорого. Дорого обошлись последствия распространенности этого убожества. ... надоели мне такие приколы --- *E-Mail* vsl@ontil.ihep.su, http://ontil.ihep.su/~vsl * Origin: Spell-понты (2:5020/1737.307) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/53343a590fd7.html, оценка из 5, голосов 10
|