psilogic: (Default)
psilogic ([personal profile] psilogic) wrote2010-09-01 02:17 pm

Ехидно...

Подумалось: если есть параолимпиада по всяким видам спорта, то может быть и параолимпиада по программированию.

Это когда код пишется и отлаживается под Linux с помощью командной строки и vi...

[identity profile] arstneio.livejournal.com 2010-09-01 11:18 am (UTC)(link)
Провокации и возбуждения псто :)

[identity profile] psilogic.livejournal.com 2010-09-01 11:20 am (UTC)(link)
эк вы меня раскрыли ;)

[identity profile] theiced.livejournal.com 2010-09-01 12:46 pm (UTC)(link)
а где тут провокация? вижу пост написанный с позиций человека не умеющего разрабывать эффективно и этого подсознательно стремающегося.

[identity profile] psilogic.livejournal.com 2010-09-01 12:49 pm (UTC)(link)
пытаешься укусить, зосранец? :)

[identity profile] theiced.livejournal.com 2010-09-01 12:56 pm (UTC)(link)
я не прав? понимаешь в чём беда. я программировал в твоём стиле (да - и на msvs! и на трубопаскале! и в дельфях! и через точечку! и мышкой! и отлаживал!) и программирую эффективно. я могу сравнить. ты сравнить не можешь но подсознательно (ведь ты даааалеко не глупый человек) понимаешь что делаешь работу неэффективно.

[identity profile] psilogic.livejournal.com 2010-09-01 01:03 pm (UTC)(link)
Ты можешь знать из моих пстов, что я пользуюсь отладчиком и средой Visual Studio, но не можешь знать, как именно, как часто и с каким эффектом. Таким образом, у тебя почти ноль достоверной информации о том, как программирую я - и тебе приходится дорисовывать образ. А рисуешь ты картинку с себя, молодого, глупого, использующего дебаггер или что там еще.

Это называется "проекция": ты проецируешь себя-молодого-глупого на меня, и сравниваешь не меня с собой, а себя-молодого-глупого с собой теперешним :)

[identity profile] theiced.livejournal.com 2010-09-01 01:14 pm (UTC)(link)
:)))

вот как раз да - знаю что пользуешься вс. видя результаты труда понимаю что опыта валом и используешь вс довольно эффективно (дебаггер для написания звукового софта? хммм... ну не знаю как его там использовать совсем ;]). знаю что можешь увеличить эффективность если перейдёшь на правильные тулзы.

[identity profile] metaclass.livejournal.com 2010-09-01 01:25 pm (UTC)(link)
"Блядь, жопа!"
Не напоминайте мне про дебаггер и звуковой софт. Хуже этого наверно только отлаживать драйвера видеокарт и как хорошо что я оттуда съебал.

[identity profile] theiced.livejournal.com 2010-09-01 01:27 pm (UTC)(link)
ребе, вы пытались звукософт дебагерром отлаживать? :]

[identity profile] metaclass.livejournal.com 2010-09-01 01:58 pm (UTC)(link)
Вообще то логами. Но блядь с этой многопоточностью и событиями тут даже логи с трудом помогают - нужные какие-то строго типизированные логи и интеллектуальный визуализатор для них.

[identity profile] psilogic.livejournal.com 2010-09-01 01:28 pm (UTC)(link)
я там ниже пример привел :)

[identity profile] psilogic.livejournal.com 2010-09-01 01:27 pm (UTC)(link)
Звуковой софт в этом смысле не сильно отличается от любого real-time софта. А там далеко не всегда тебе нужно код исполняемый в норме real-time, в процессе отладки тоже исполнять real-time. Скажем, вчера возился с багой: в одном канале звук образуется, а в другом - нули, причем, со второй половины фрагмента. Алгоритм состоял из двух этапов. В отладчике поставил breakpoint между ними, проиграл до этого места и в отладчике же посмотрел, появились ли нули после второго этапа. То же самое можно было сделать, вставив отладочную печать между этапами, но это дольше по времени.

Дольше в основном за счет факторов:
1) компиляция (код находился в часть включаемом хэдере в форме template, его изменение вызвало бы массовую перекомпиляцию дважды - до и после)
2) саму отладочную печать тоже, возможно, пришлось бы отлаживать - нет гарантии, что напишешь слету без ошибок
3) отладочную печать писать было дольше, чем разворачивать деревья объектов в окне отладчика - по той причине, что звуковые буфера с упомянутыми нулями инкапсулированы в объектах потоков, надо спускаться на несколько уровней, вспоминать, как называется каждое поле и вставлять фрагмент кода, который высчитывает, где находится середина звукового фрагмента

[identity profile] theiced.livejournal.com 2010-09-01 01:30 pm (UTC)(link)
1. ну это проблемы убогости с++. я их для себя решил просто - больше не пишу на с++ ;))
2. имея нормальную либу для этого - всё делается спинным моском и ошибки исключены.
3. это потому что проект изначально не заточен под отладку выводом, да - в этом случае будет дольше. надо было сразу нормально делать ;)

[identity profile] psilogic.livejournal.com 2010-09-01 01:43 pm (UTC)(link)
1. Чем-то мне это напоминает сталинское "нет человека - нет проблемы" :))

2. Нормальную либу для этого - чего? Помянутый код был частью моей либы, которая, я даже надеюсь, что нормальная... местами :)))

3. Есть в нем и отладка выводом, например, можно включать-выключать горячими клавишами логгирование сообщений в окнах, переключать лог в дебаг-окно или на файл, вот только в данном конкретном случае отладка средой оказалась быстрее - по перечисленным причинам. Я бы никогда не подумал, что может понадобиться быстро вычислить и посмотреть уровень чуть дальше, чем в середине блока, причем, в промежутке между двумя конкретными функциями.

[identity profile] theiced.livejournal.com 2010-09-01 01:49 pm (UTC)(link)
1. именно. нет говнокода - нет проблемы.
2. нормальную либы для отладочного вывода.
3. имея набор фунок для дампа всего-что-только-можно (а оно пишется на полном автомате) вывод нужной для тебя инфы в данном случае бы занял минуту какую.

[identity profile] psilogic.livejournal.com 2010-09-01 01:53 pm (UTC)(link)
2. такая либа имеется, но этим инструмэнтом ковыряться дольше - в данном конкретном случае, конечно
3. какое совпадение: есть такой набор фунок, делает дамп всего-что-только-можно - называется "отладчик среды" :) а ты его сам пишешь? бедняга :)

[identity profile] theiced.livejournal.com 2010-09-01 01:56 pm (UTC)(link)
3. но в моём случае я _это_ имею всегда а в твоём надо надрачивать мыша ;)

[identity profile] psilogic.livejournal.com 2010-09-01 01:58 pm (UTC)(link)
я не знаю, в какой именно позе ты это имеешь или надрачиваешь, но, ить, все равно дамперу надо писать параметры, что именно дампить

[identity profile] metaclass.livejournal.com 2010-09-01 02:05 pm (UTC)(link)
Не имееешь ты его всегда, во всяком случае в языках без RTTI/reflection/макросов/метапрограмминга.
Нужно сидеть и рисовать как пню те дампы для произвольных структур :)

[identity profile] nivanych.livejournal.com 2010-09-02 03:31 am (UTC)(link)
;-) Так-то!