00:01:23 <sitkarev> Михалыч, а у тебя аккаунт есть?
00:01:26 <sitkarev> На вики?
00:01:45 <seik0> неа
00:02:36 <sitkarev> Безобразие.
00:02:45 <sitkarev> Сделайте Михалычу учётку!
00:02:48 <seik0> Надо что-то по регекспам вам добавить
00:02:53 <sitkarev> Обязательно.
00:03:01 <sitkarev> У меня есть материал уже, его надо викифицировать просто.
00:03:37 <seik0> по регекспам мне бы лично было интересно знать чем POSIX отличается от реализаций отдельных языков
00:03:47 <seik0> хотя, конечно, это сильно справочная информация
00:04:01 <seik0> хотя, основных классов не так много
00:04:09 <seik0> POSIX-like, PERL-like
00:04:19 <sitkarev> Самое смешное, Михалыч, в том.
00:04:28 <sitkarev> Что почти все реализации так или иначе пересекаются и с тем и с другим.
00:04:30 <sitkarev> И можно без хлеба.
00:04:33 <seik0> само собой
00:05:02 <seik0> по другому даже и представить сложно
00:05:11 <sitkarev> Т. е. они все диалекты.
00:05:30 <snegovik1> ребят я спать
00:05:32 <snegovik1> всем пока
00:05:33 <sitkarev> Потому и POSIX есть, как-то утрясти их более-менее.
00:05:34 <sitkarev> Спокойной!
00:05:54 <seik0> Довай, Лёша, за меня тоже поспи хоть полчаса
00:06:36 <snegovik1> посплю)
00:06:49 <seik0> ну в целом, конечно, почти все популярные соответствуют POSIX, хотя могут быть различия в синтаксисе. + сахар, + финтиплюшки
00:07:57 <seik0> я вот недавно тебя спрашивал, когда пытался ctags немножко на свой путь направить )
00:09:12 <seik0> я всё никак не могу подружиться с тем, что в regex-выражении grep'а нужно экранировать. судя по последним экспериментам - почти всё что не буквацифра )
00:09:43 <sitkarev> Ты можешь включить там extended.
00:09:52 <sitkarev> grep -E
00:09:56 <seik0> да, знаю
00:10:20 <seik0> знаю что могу, но не знаю, что это даёт)
00:10:37 <seik0> я так помню что grep -e
00:11:03 <seik0> сегодня баловался
00:11:31 <sitkarev> Нет, именно -E.
00:11:35 <sitkarev> -e -- это другое совсем.
00:11:58 <seik0> настроил на мобиле PPTP до офиса, на мобиле же настроил sip-аккаунт до астериска в офисе и звонил таким макаром
00:12:24 <sitkarev> С Антоновым несколько лет назад говорили, я ему дал прогноз, что традиционные сети сотовой связи выродятся в пакетные.
00:12:32 <sitkarev> Т. е. голосовой трафик будет ходить в пакетах ))
00:12:36 <sitkarev> через IP ))
00:13:48 <seik0> да, с учётом того, что мобильный трафик в разы дешевле мобильной связи
00:14:17 <seik0> щас же приложения типа WhatsApp и Viber просто летят в миллионы
00:15:51 <wolong> Да, у меня те же мысли были, когда в мтс работал. мобильные операторы станут продавцами трафика.
00:16:09 <seik0> я всё не могу внимательно прочитать этот раздел про -E и разницу между basic и extended )
00:16:32 <seik0> ОпСоСы не захотят так просто отдавать прибыль от мобильной связи
00:16:57 <seik0> хотя не думаю, что для них на текущий момент потери сильно заметны
00:18:38 <wolong> а куда им деваться? пейджинговые компании тоже жить хотели-)
00:18:42 <seik0> вообще, мне очень нравится цитата с башорка, я её всем цитирую: Если у вас есть проблема и вы решаете её с помощью регеспов, то поздравляю - теперь у вас две проблемы
00:19:32 <seik0> на самом деле я удивилися, как резко и быстро упали цены на мобильные интернет
00:19:46 <seik0> буквально за два года
00:20:03 <wolong> б
00:20:08 <wolong> Да.
00:20:47 <sitkarev> Зря цитируешь всякую дрянь )))
00:20:48 <sitkarev> :-D
00:21:01 <seik0> смешная цитата ), в ней глубина )
00:21:40 <seik0> на самом деле, регексп нехорошая вещь - его очень сложно читать
00:22:28 <sitkarev> Они должны быть компактными.
00:22:29 <seik0> но зато позволяет очень лаконично делать непростые вещи
00:22:36 <sitkarev> Не надо на них делать то, что должно быть сделано на awk.
00:22:39 <seik0> trade off, как говорится
00:24:13 <wolong> инструмент под задачу, короче.
00:25:01 <seik0> не совсем согласен, но не могу сформулировать )
00:25:40 <seik0> инструмент более чем под тысячи задач, но при неумелом обращении может покалечить )
00:26:46 <wolong> а это любой, наверное, довольно развитый инструмент.
00:27:21 <wolong> и на одну задачу может быть сразу много инструментов.
00:31:16 <wolong> чего-то я на очевидности съехал.
00:33:40 <wolong> Добрых всем!
00:38:47 <seik0> да, я тоже спать, бывайте все!
01:02:54 <dzruyk> Когда это я вопросы с каверзой задавал?)
01:08:36 <serezha_mob> Андрей тут?
01:09:04 <serezha_mob> Wolong
01:34:26 <dzruyk> Григорий Александрович, вы здесь?
02:30:36 <sitkarev> )
02:30:41 <sitkarev> Я же сплю!
02:30:42 <sitkarev> )))
07:29:19 <seik0> xxx> Я умею читать чужие мысли!
07:29:19 <seik0> yyy> А я умею читать чужие регулярные выражения
07:29:19 <seik0> xxx> Ок, ты победил
10:38:46 <dzruyk> Давайте оставим в сторону претензии по поводу качества кода. Я с ними согласен и надеюсь что когда-нибудь смогу это исправить. Вы подметили то что я говнюкаю код итерациями, хаотически выбрасывая старый говнокод, замещаю его новым. Да, это так. Книжку про AWK я читал давно-давно, и в процессе говнюканья этого кода несколько раз проглядывал по диагонали. Но гораздо интереснее услышать комментарии по поводу парсера. Я так понял вам кажется что делать мини
10:39:15 <dzruyk> Вчера интернет отвалился, не получилось это сообщение отправить)
10:41:54 <michail> не все пришло
10:42:05 <michail> что делать мини....
10:42:38 <michail> я сам не читал книжку по awk ) но читал чужие исходники
10:42:49 <michail> я ее просмотрел только немного
10:43:50 <michail> я просто думаю там парсер ненужен вовсе, а можно все обработать регулярными выражениям
10:44:07 <michail> sub/gsub
10:48:23 <dzruyk> Почему я не воспользовался тем что было у тебя - ты заменял последовательности %LETTER, встречающиеся в тексте, это могло бы привести к багам когда один из параметров ссылки уже содержал бы знак %. Например %T I watch you %USERNAME% подставилось бы в ссылку и следующий параметр %U подставился бы не туда куда хотелось бы.
10:49:30 <dzruyk> ну и я подумал что наверное было бы правильно убедиться что мы подставляем в область строки формата.
10:50:23 <dzruyk> потом в этом самом ГОСТ'е каждый параметр выделяется РАЗНЫМИ знаками препинания, и соответственно если их нет то их и не надо ставить.
10:53:09 <dzruyk> Именно поэтому я и ввязался в говнюканье парсера. Потому что пришёл к выводу что легче будет сделать его, а потом быстрее подстраиваться под то, что желает пользователь.
10:53:20 <michail> правильно я понял или нет, но всегда можно использовать boundaries в выражении,
10:53:31 <michail> /\<%U\>/
10:53:48 <michail> делай как думаешь ;-)
10:55:00 <snegovik> я кстати тоже не полностью читал эту книгу
11:03:19 <dzruyk> Спасибо, я подумаю как упростить)
11:03:35 <dzruyk> а у вас много на awk на работе пишут?
11:04:37 <michail> да у нас вообще мало пишут ) кто его знает тот пишет, я знаю -- я пишу кхыы.
11:04:57 <michail> опять же писать на уровне однострочников, то многие, а как более серьезный тул, наверное только я
11:06:19 <michail> в основном шелл, ну а питончик и перл пореже, но это кто, чего знает
11:10:41 <snegovik> lua например?
11:11:27 <snegovik> ты просто как-то говорил про него
11:15:52 <michail> lua для себя, для души, симпотичный, учится за пару вечеров
11:17:04 <michail> есть прикольная либа для рисования love называется
11:17:16 <michail> игрушки есть в стиле денди, в плоскости играть
11:17:27 <snegovik> это на луа?
11:17:47 <snegovik> как-то почитал про него, используется в gamedev
11:18:11 <snegovik> для развлекухи можно накатать ченить
11:18:18 <michail> она на си конечно написана, рендерится все вроде в sdl, + двиган физический там box2d используется, но сделано чтобы писать на Lua
11:19:00 <michail> приятная штука
11:19:15 <michail> luа он реально ламповый ) кхыы как свет
11:21:20 <snegovik> я заинтересовался
11:21:23 <dzruyk> вроде есть DE, которая под lua - awesome.
11:21:35 <dzruyk> там все конфиги в lua)
11:22:37 <dzruyk> довольно интересная, но у меня не получилось перелезть:(
11:22:42 <michail> ну там фактически вся инфа, которая отображается вытягивается c /sys /proc средствами lua + есть объекты предопределенные, которые обозначают элементы
11:23:19 <michail> до 3 версии awesome и использовал awesomectl + shell
11:23:26 <michail> lua не было
11:24:09 <michail> ну это так же как Xmonad все на Haskell сделано
11:24:18 <michail> и идеология такая же, тайловый менеджер окон
11:26:44 <michail> менеджеры для тех кто любит пилить ) кхаа все время
11:29:33 <snegovik> Миха, а сам чем пользуешься?
11:30:22 <michail> я скромно на Lxde, awesome когда то использовал, помню 2 версию, тогда в debian 3 еще не было
11:31:19 <michail> наверное это было еще Lenny
11:36:51 <snegovik> Миха, а ты можешь смотреть исходники у ребят кто у вас там пишет
11:36:54 <snegovik> из других отделов
11:37:02 <snegovik> я может спрашивал но забыл
11:42:47 <michail> нет только у своих
12:27:54 <wolong> здорово, зомбари ватные! два дня до отпуска!
12:30:20 <Igorek> :-D
13:00:27 <snegovik> Ребят что лучше unlink или просто rm?
13:00:36 <snegovik> больше ссылок нет на фаил
13:00:39 <snegovik> он один
13:00:53 <snegovik> удалить хочу
13:02:15 <snegovik> сделаю кароче unlink
17:40:18 <michail> "Perl is Awk with skin cancer" (Henry Spencer)
17:40:31 <michail> :-D
17:44:46 <snegovik1> он наверно рано или поздно станет как М
17:46:11 <michail> http://doc.cat-v.org/henry_spencer/amazing_awk_assembler/
17:46:54 <michail> если про awk думаю что нет
17:47:03 <snegovik1> про перл)
17:55:05 *** michail has left #lab
19:14:11 <sitkarev> Слова "говнюкать", "говнять код" исключить из лексикона.
19:14:20 <sitkarev> Потому что писать будете только хороший качественный код.
19:15:38 <sitkarev> На счёт кода, который делает Боря, основная претензия -- он не продуман, потому и безобразен. Изложи мысли в виде краткой записки.
20:31:22 <sitkarev> Так вот, дорогие друзья.
20:31:31 <sitkarev> Предлагаю выкинуть Борькин парсер на помойку.
20:31:45 <sitkarev> А раз я предлагаю его выкинуть, то есть что предложить в замен.
20:31:49 <sitkarev> Готовы послушать?
20:32:07 <michail> тут
20:32:18 <sitkarev> Так, перекличка. Кто ещё есть?
20:32:36 <michail> в хистори многие читают, я по утрам ночные дискуссии читаю
20:32:42 <michail> так что не пройдет мимо я думаю
20:32:47 <sitkarev> Ну, и много не надо. Мне достаточно тебя, Миша. Если честно.
20:32:54 <michail> кха ))
20:32:59 <sitkarev> Т. к. пока остальные не особо поймут даже :((( Потому что я плохой ((
20:33:00 <michail> я как раз Борин код смотрю
20:33:09 <sitkarev> Объясняю суть своего предложения.
20:33:11 <sitkarev> Отлично!
20:33:13 <michail> хочу понять, что надо
20:33:15 <sitkarev> Тогда ты вообще тот, кто нужен.
20:33:19 <sitkarev> Да, вот смотри, как я теперь ставлю задачу.
20:33:26 <michail> вложеные эти блоки [ ] опициональные
20:33:28 <sitkarev> С формированием библиографии мы уже разобрались.
20:33:30 <sitkarev> Верно?
20:33:36 <sitkarev> Пока оставим Борин парсер, Миш.
20:33:41 <sitkarev> Я сейчас изложу тебе свой вариант.
20:33:50 <michail> дело в формате, как оформлять
20:33:58 <sitkarev> Да.
20:34:11 <michail> как задавать формат, потом уже думать как аккуратно сгенерить
20:34:12 <sitkarev> Т. е. про буквы %A, %B, %T и др. я уже не буду объяснять.
20:34:13 <sitkarev> Да.
20:34:36 <sitkarev> Это просто массив ассоциативный, некоторые ключи могут быть множественными, т. е. там ещё и список есть.
20:34:39 <sitkarev> Всё, закончили с этим.
20:34:45 <sitkarev> Теперь с выводом.
20:34:55 <sitkarev> Сложность связана с тем, что по сути там есть маленький язык.
20:35:10 <sitkarev> И Боря здесь тоже верно решил, что нужна некая форматная строка.
20:35:27 <sitkarev> Так вот, теперь по сути предложения.
20:35:48 <sitkarev> Препроцессор определяет стиль библ. записи, их будет у нас три: статья, книга, журнальная статья.
20:35:54 <sitkarev> Можно их снизить до двух вообще.
20:36:00 <sitkarev> Форматная строка задаётся так:
20:36:38 <sitkarev> Всё, что будет помещено внутрь \[...\] становится строкой только в том случае, если внутри была выполнена хотя бы одна успешная подстановка.
20:36:49 <sitkarev> Оператор \[...\] может быть вложенным.
20:37:13 <sitkarev> Оператор \. -- это подавляющая точка.
20:37:36 <sitkarev> Т. е. если до неё следовал символ "точка", то она подавляется.
20:37:47 <sitkarev> Просто . без слеша -- буквально точка.
20:37:58 <sitkarev> Соотв. два слеша (\\) буквально слеш.
20:38:02 <sitkarev> Это понятно?
20:38:20 <michail> а зачем подавляющая?
20:38:25 <sitkarev> Сейчас увидишь.
20:38:30 <sitkarev> Это важно.
20:38:40 <sitkarev> Ты понял, когда она подавляет и как работает?
20:38:41 <wolong2> читаю и наслаждаюсь. что несколько точек вместе кушать.
20:38:54 <wolong2> до меня дошло, кажется.
20:38:59 <sitkarev> Например, Sitkarev G.A.\. на выходе будет Sitkarev G.A. всё равно.
20:39:00 <michail> все что эспейпится контрольные вещи
20:39:03 <michail> кроме \\
20:39:13 <sitkarev> Если будет Sitkarev G.A\. тоже будет Sitkarev G.A.
20:39:59 <sitkarev> Suppressive dot,
20:40:04 <sitkarev> Понятно это?
20:40:18 <michail> дальше лучше идти
20:40:20 <sitkarev> Ага.
20:40:32 <sitkarev> Теперь пример форматной строки для стиля book.
20:42:38 <sitkarev> $author\[, $shortsurname\]\. $title[ \. $edition] \. --\[ $city:\]\[ $publisher,] $year\. -- $volume\.
20:42:49 <sitkarev> На имена пока забейте, мы потом придумаем им более удобные.
20:43:27 <sitkarev> Я забыл поставить слеши вокруг [ \. $edition ], там должно быть так: \[\. -- $edition\]
20:43:48 <sitkarev> Символы "--" это длинное тире, у нас здесь KOI8-R, поэтому я их пишу двумя дефисами.
20:44:04 <sitkarev> Да, ещё я забыл список авторов, секунду.
20:44:09 <sitkarev> Сейчас перебью.
20:46:27 <sitkarev> $author\[, $shortsurname\]\. $title / $surname, $author\[, $surname, $author ...\]\[\. -- $edition]\. --\[ $city:\]\[ $publisher,] $year\. -- $volume\.
20:46:57 <sitkarev> Значит, там смысл такой, что в этой форматной строке нужно уметь делать списки, т. к. авторов много может быть, это мы придумаем синтаксически.
20:46:58 <sitkarev> Пока важна сама суть.
20:47:07 <sitkarev> На выходе показываю что вылазит.
20:48:41 <sitkarev> Lipin, B. R. The Beginner's Guide to Writing Bad and Ugly Code / Boris R. Lipin .-- 2nd ed. -- Syktyvkar: AMPLab Publishing, 2019.
20:49:48 <sitkarev> Можно переиграть в обратную, сделать [ и . без слешей, тогда буквально точка и [ будет \. и \[.
20:50:35 <sitkarev> $author[, $shortsurname]. $title / $surname, $author[, $surname, $author ...][. -- $edition]. --[ $city:][ $publisher,] $year. -- $volume.
20:51:04 <sitkarev> Я знаю, как можно сделать со списком.
20:51:11 <sitkarev> Предыдущее выражение помещаем в (...)
20:51:36 <sitkarev> Тогда ... заменяется на предыдущее выражение с индексами в +1.
20:51:50 <sitkarev> По сути цикл, который закончится тогда, когда они станут пустышками.
20:52:25 <sitkarev> $author[, $shortsurname]. $title / $surname, $author[(, $surname, $author) ...][. -- $edition]. --[ $city:][ $publisher,] $year. -- $volume.
20:52:31 <sitkarev> Суть ясна????
20:53:00 <michail> с форматом понятно
20:53:10 <sitkarev> Да, и там пробел лишний, до трёхточия его не должно быть.
20:53:15 <sitkarev> Всё.
20:53:39 <sitkarev> Так вот, теперь по названию полей.
20:53:42 <sitkarev> Можно поступить интереснее.
20:54:02 <sitkarev> Поля вставлять буквально, т. е. через %A, %B и т. д., но для предобработки ввести встроенные ф-ии.
20:54:27 <sitkarev> Например, $F(%A) -- извлекает фамилию автора
20:54:37 <sitkarev> $S(%A) извлекает короткие инициалы.
20:56:21 <sitkarev> $F(%A)[, $S(%A)]. %T / $s(%A), $F(%A)[(, $s(%A), $F(%A))...][. -- %E]. --[ %C:][ %P,] %Y. -- %V.
20:56:36 <sitkarev> Я плохой?
20:56:45 <michail> честно я думаю это сложно
20:57:41 <sitkarev> Эта сложность соответствует сложности задачи.
20:57:45 <sitkarev> Ни больше ни меньше.
20:58:57 <sitkarev> Нам по сути нужен макропроцессор для библиограф. данных, чтобы формировать из них уже в готовом виде текст.
20:59:01 <sitkarev> Это он и есть.
20:59:15 <michail> вопрос, в нашей упрощенной, вики, где неть всех наворотов MediaWiki, нужна ли такая мощная разметка для библиографии. Как задача сделать такой парсер для серьезного формартирования -- хорошая задача. А для вики?
20:59:32 <sitkarev> Это не так сложно, Миш, как кажется.
20:59:40 <michail> нет я не про парсер и как писать
20:59:42 <michail> я про разметку
21:00:00 <sitkarev> Да, нужна. И в ней ничего такого нет. Посмотри на список литературы в ЯзыкSed.
21:00:09 <sitkarev> Это же минимальный минимум, ничего такого.
21:00:42 <sitkarev> И у нас не упрощённая вики, у нас нормальная вики. Это у них перекормыш ))))
21:01:31 <sitkarev> Нам нужна нормальная библиография, т. к. мы делаем учебные материалы и ведём исследов. работу.
21:02:57 <sitkarev> Если делать форматную строку, то вот так. А можно её и не делать, а просто сконвертировать это сразу в код на awk.
21:03:12 <sitkarev> Это же код просто, его можно просто кодом написать.
21:03:41 <sitkarev> Я это вообще зачем, я это всё написал для того, чтобы показать, как эту задачу с парсером (а парсер решил делать не я и форматную строку, это Боря) предложил бы реализовывать я.
21:04:05 <sitkarev> Очень много Я сегодня )))
21:04:07 <sitkarev> :-D
21:04:44 <sitkarev> Фишка в том, что там _просто_ форматная строка не прокатит.
21:04:54 <sitkarev> Т. к. там должны быть некие if-else и for.
21:05:00 <sitkarev> Квази-язык.
21:06:44 <sitkarev> Кроме того, про точку подавляющую, если не понятно. Точка -- это символ разделитель разделов библиогр. описания. Если у тебя инициалы заканчиваются точкой, то её второй раз после них не ставят, т. к. она уже там есть. Это уже if-else, как минимум, if.
21:07:47 <sitkarev> Миш, знаешь в чём фокус, наверное?
21:08:04 <michail> у чем?
21:08:27 <sitkarev> В том, что я писал на M4, а вы, скорее всего нет (((
21:08:29 <sitkarev> Ну и потому что я плохой ((((
21:10:01 <sitkarev> На данном этапе можно Борю просто уломать на без парсера. Набить это кодом для двух стилей и всё.
21:10:22 <sitkarev> А в этой форматной строке по сути компактно записан код, который Боре надо сделать для случая с книгой.
21:11:16 <sitkarev> Со статьёй в журнале или сборнике чуть-чуть иначе, там идёт автор, название статьи, потом два слеша // и дальше уже журнал описывается, разве что должны быть указаны страницы от-до и номер журнала, выпуска или что там у него.
21:11:30 <sitkarev> Но это указывает сам пользователь в описании.
21:12:10 <sitkarev> Подавляющую точку можно втыкать прямо в саму строку, потом после того, как она будет сформирована, пройтись по ней и поудалять дубли.
21:12:11 <sitkarev> Вот и всё.
21:12:57 <sitkarev> Форматной строки нет, парсера нет, два фиксированных стиля.
21:13:28 <sitkarev> Будет только подавляющая точка "\.", которая будет удалять предыдущую, если такая есть. Это уже финальный проход по строке.
21:13:36 <sitkarev> Вот и ус1.
21:13:38 <sitkarev> *усё
21:13:39 <sitkarev> (((
21:13:48 <sitkarev> Где Борька (((
21:14:00 <sitkarev> Что скажешь, Миш?
21:14:17 <sitkarev> Я с тобой согласен, что на прямо сейчас полный макро-парсер не нужен.
21:14:22 <sitkarev> Это будет Боре домашнее задание.
21:14:26 <sitkarev> Уже для включения потом в mdroff.
21:15:29 <michail> Боря оценит )
21:16:26 <sitkarev> Кстати, Миш.
21:16:41 <sitkarev> Тебе на вечернее чтение по скриптовым языкам матералы Б. Кернигана.
21:16:42 <sitkarev> http://www.eecs.harvard.edu/cs152/lectures/CS152-Lecture_14-Kernighan.pdf
21:16:48 <sitkarev> Это его лекция в Гарварде.
21:17:06 <michail> я ее читал )
21:17:30 <sitkarev> :(
21:18:16 <seik0> я не читал
21:18:48 <michail> вот от дяди Миши слайдики тоже https://www.usenix.org/legacy/events/woot11/tech/slides/oakley.pdf о том как страшно жить, и сложности системного софта
21:19:02 <sitkarev> Дядя Миша сделал?
21:19:21 <michail> нет )
21:19:28 <michail> тоже коледж какой то
21:20:09 <michail> я лошара еще
21:25:16 <sitkarev> Статья класс, как страшно жить.
21:25:17 <sitkarev> :-D
21:25:49 <michail> да это жопа вообще
21:26:30 <sitkarev> Покажу пацанам из конторы, хотя может уже знают.
21:26:50 <sitkarev> Миш, короче, я от тебя не услышал мыслей по предложению и библиографии.
21:26:55 <sitkarev> Борю куда запинаем?
21:27:08 <sitkarev> Я думаю, пусть сделает вариант без всяких парсеров.
21:27:12 <michail> зачем пинать )
21:27:16 <sitkarev> Ну, не сильно же.
21:27:19 <sitkarev> В ватник оденем.
21:27:22 <sitkarev> Чтобы синяков не было.
21:27:29 <michail> пусть делает, кхаа ватник, в советский???
21:27:34 <sitkarev> Конеш )))
21:27:38 <michail> если не советский тогда синяки будут
21:27:44 <sitkarev> Советский, стёганый.
21:27:57 <michail> если стеганка, то можно
21:28:32 <michail> с unwinder-ами все серьезно очень ) на арме ксто сделан свой формат для секции разворачивания стека
21:28:55 <michail> все они копируют dwarf, но со своей заумью
21:30:19 <sitkarev> Пишут, что нет документации на некоторые вещи вообще.
21:30:32 <sitkarev> Речь про .gcc_except_table.
21:30:45 <sitkarev> Что и не мудрено, т. к. по существу gcc -- закрытый корпоративный продукт )))))
21:30:48 <sitkarev> С открытым исходным кодом.
21:30:49 <sitkarev> :-D
21:31:13 <michail> очень мало народу разбирается во всех этих вещах, хоть они и стандартизированы и документы многостраничные есть, но очень сложно
21:31:22 <michail> нужны люди которые только этим и занимаются
21:31:36 <michail> я сам только обзорно понимаю, как это все работает
21:43:34 <michail> кстати, исключения часто используются как метод управления потоком исполнения. Т.е не только кидать исключения в момент ошибки, но и логику завязвыют на исключение. Но переход на место обработки исключения, на сколько я понимаю выполняется запуском как раз виртуальной машины, для того чтобы раскрутить стэк.
21:44:57 <michail> а это большой overhead, ну и кто таким злоупотребляет пусть не удивляется, что этот механизм работает не эффективно
21:48:00 <sitkarev> Боря, читай историю.
22:00:19 *** michail has left #lab
22:34:23 <serezha_mob> ГА, стоит знать плюсы? А то Попова даёт их, а я особо даже не вникаю. Классы какие-то учатся писать.
22:35:01 <vadim> Стоит их знать, что бы понимать почему это как то не так уж круто писать на плюсах
22:35:08 <vadim> ну и на любом оопе
22:35:24 <vadim> когда сам граблями по лбу получаешь эффект поразительный получается)
22:36:55 <serezha_mob> Вадим, я еще не восстановился кстати после трени :D
22:38:04 <vadim> у меня тоже колено болит) перетянул ногу видимо слегка правую) да и в руки отдает :D завтра опять будем отжиматься ногами в потолок)
22:40:18 <sitkarev> Стоит.
22:40:27 <sitkarev> Да.
22:40:47 <sitkarev> Чтобы понять, почему ООП не панацея
22:41:03 <sitkarev> А я завтра в зал схожу, хоть народ повидаю, а то уже спрашивают, чего это меня не видно.
22:41:22 <sitkarev> Стоит ещё знать, как писать на классическом Си классы.
22:42:18 *** vik has left #lab
22:50:33 <wolong|2> привет!
22:53:38 <seik0> ООП не панацея, но ООП при правильном подходе позволяет комплексные вещи сделать проще
22:53:52 <seik0> проще, прежде всего, для поддержания
22:54:39 <seik0> ООП - просто следствие структуризации процедурного кода
22:55:52 <seik0> с тем же С++ есть огромный соблазн и опасность "использовать всю мощь языка"
22:56:20 <seik0> лично мой опыт подсказывает, что ООП - это хорошо, но нужно чтобы классы были как можно проще
22:56:29 <seik0> бритву оккамы. как говорится, ещё никто не отменял
22:57:52 <seik0> кроме того, что ООП является плодом структуризации кода, ООП ещё и является (опять же, при правильном использовании) удобным представлением структур реального мира
22:58:26 <seik0> такие вещи позволяют писать более простой код
23:00:49 <wolong|2> да, соглашусь. некоторые задачи удобнее решаются им. но, только некоторые. идея панацеи вообще довольно дурная.
23:01:16 <seik0> конечно некоторые, всегда нужно выбираь инструмент по задаче
23:02:00 <seik0> На с++ можно ведь писать так, будто это си? Память же меня не подводит?
23:02:10 <wolong|2> да. только вот его суют везде. при этом суют совершенно бездумно.
23:02:11 <seik0> ну типа main(argv, argc) ?
23:02:13 <wolong|2> я про ООП.
23:02:16 <wolong|2> да и про Си.
23:02:17 <serezha_mob> Спасибо всем, что объяснили.
23:02:17 <wolong|2> си++
23:02:33 <wolong|2> Сережа, в любом случае, хуже не будет, если ты поучишь это.
23:02:50 <wolong|2> т.е. между С++ и вк.ком надо выбирать первое-)
23:03:08 <wolong|2> а между С++ и С -- смотря что делаешь.
23:03:09 <seik0> ООП особенно полезен тогда, когда используя процедурные языки, своим желанием структурировать код приходишь к идеям, которые и вопрощены в ООП
23:08:57 <sitkarev> Михалыч, мы знаем, что ты тайный адепт ООПа и Антоновй.
23:09:07 <sitkarev> У тебя даже ник был на вконтакте С++шко.
23:09:07 <sitkarev> :-D
23:12:29 <sitkarev> Schreiner A. T. Object oriented programming with ANSI-C. 1993.
23:17:39 <sitkarev> Сейчас Боря посмотрит историю.
23:18:00 <sitkarev> Кто-то спрашивал, в какой книге упоминается Стив Борн?
23:18:15 <sitkarev> Который сделал из Си Алголо-Паскаль?
23:18:27 <seik0> у меня и сейчас такой ник вроде )
23:18:30 <sitkarev> В Expert C Programming: Deep C Secrets, на 8-й странице.
23:19:10 <sitkarev> И, если мне не изменяет моя старческая память, в The Practice of Programming тоже.
23:19:13 <sitkarev> Потом найду, покажу.
23:21:30 <sitkarev> А сами исходники есть в архивах Unix Heritage Society.
23:21:39 <seik0> некоторые базовые ООП вещи сложновато поддерживать в С
23:23:00 <sitkarev> Значит они там не нужны :-D
23:24:04 <seik0> да-да, скрипач не нужен
23:33:02 <sitkarev> Что-то Боря молчит (((
23:33:05 <sitkarev> Наверное, я плохой (((
23:33:46 <sitkarev> Кстати, а что за история с публикацией в группе??
23:38:18 <wolong|2> девочка скинула со своего иПхона ШестьЭс просьбу помочь в лабораторной работе.
23:38:35 <wolong|2> задачи типа: "подсчитайте минимум нечетных элементов массива".
23:38:48 <wolong|2> наверное, на экономе в Вышке учится-)
23:42:03 <sitkarev> )))
23:48:56 <sitkarev> Я сегодня Дурягина встретил, посидели чуть-чуть, поговорили за жизнь.
23:49:21 <sitkarev> Он, похоже, подкалымливает в том же заведении по репетиторству, где и wolong был.