про дебаггеры
Правда, вы оба известные в своих кругах неадекваты.
Статистика есть? Без неё это мнение ничего не стоит .
Статистика есть? Без неё это мнение ничего не стоит .Статистика чего? Это мнение отдельного человека.
"дебаггерами пользуются только плохие кодеры"
You can use aТы как раз отталкиваешь — запятнал себя дебагером => плохой кодер.
kernel debugger ... and I won't give you the cold shoulder
because you have "sullied" yourself.
I happen to believe that not having a kernel debugger forces people toДовольно странное утверждение. Получается единственная причина думать на правильном уровне это отсутствие дебагера. Какие-то неразумные люди получаются.
think about their problem on a different level than with a debugger. I
think that without a debugger, you don't get into that mindset where you
know how it behaves, and then you fix it from there. Without a debugger,
you tend to think about problems another way. You want to understand
things on a different _level_.
I
think that without a debugger, you don't get into that mindset where you
know how it behaves, and then you fix it from there.
Ошибка вот тут, посмотреть под дебагом не означает немедленное наложение заплатки по месту. Быдлокодеры так делают, да, но не все же быдлокодеры.
Если человек может легко исправить ошибку, он исправляет не задумываясь - т.е. это слабо способствует развитию.
Не льсти себе, между тобой и Торвальдсом очень большая разница.Ну Эйнштейну же тоже сначала не верили.
Это психология говнокодера. Не думаю, что запрет на дебагер сделает из говнокодера хорошего программиста. Потребность писать не говнокод лежит гораздо глубже.
А вообще "дебаггер не нужен" - типичный пример туннельного зрения. Часто это самый простой способ найти ошибку. Совершенно незаменимый если ты не контролируешь части системы, и никакие изменения твоего кода не позволяют инкрементально приблизиться к источнику проблемы.
Можно еще заставлять писать код в блокноте
Можно еще заставлять писать код в блокнотеВроде на бумаге самое кошерное.
На доске ещё можно. Пусть мучаются.
Можно еще заставлять писать код в блокнотеа что, нормальный метод
http://plus.google.com/114658067490332530482/posts/6EzCRLGd...
+Paul McKenney is giving his "Validating Core Parallel Software" talk at #lca2013. He says write the code on paper using pen, fix bugs, and rewrite it on a new piece of paper, keep rewriting until the last two copies are identical.Если кто не знает это изобретатель RCU
http://stackoverflow.com/questions/7050896/logging-all-metho... )
Я когда ищу причину бага, расставляю отладочную печать а потом удаляю ее, это правильно?
Кто нибудь использует логирование всех вызовов для отладки? (например Я когда ищу причину бага, расставляю отладочную печать а потом удаляю ее, это правильно?
Очевидно неправильно, удалять отладочную печать не нужно, надо лишь менять уровень log verbosity.
Я когда ищу причину бага, расставляю отладочную печать а потом удаляю ее, это правильно?Я тоже так делаю.
причем завел за правило, делать printf или log_error, а сами функции лепить слева без отступов. потом когда всё отладишь просто в виме пишешь /^pr
и далее на каждый найденный вариант dd/ пока не удальшь всё.
Логгированием в режиме дебага тоже можно, но я не умею в cmake прописывать как делать этот режим дебага. Ну и как-то лень даже смотреть, я только в релизе всегда собираю.
http://lwn.net/2000
> 2000
Сейчас у него мнение поменялось, насколько я знаю. Потому что он стал менее плохим кодером, я подозреваю! Он даже писал что=то про это, но мне влом искать.
Потому что я не знаю, то, как ты например дебагаешь код, меня не особо затрагивает (в отличие от других вещей относящихся к культуре программирования если тебе по приколу тупить полдня над багом который я пофикшу за 15 минут посмотрев в дебаггере на значения всех интересных переменных и поняв какой именно код мне нужно почитать повнимательней — это чисто твоя проблема, живи в своём каменном веке, лол.
Алсо, разговоры про Настоящих Мужчин и дебаггеры меня смешат: я дебагал код в 8051 эмуляторе когда у тебя волосы на яйцах ещё не росли. В основном потому, что довольно тяжело дебагать при помощи отладочной печати когда глючит всё включая отладочную печать. Ну и перезапись флешки довольно геморройный процесс.
> > 2000
Сейчас у него мнение поменялось, насколько я знаю. Потому что он стал менее плохим кодером, я подозреваю! Он даже писал что=то про это, но мне влом искать.
Потому что я не знаю, то, как ты например дебагаешь код, меня не особо затрагивает (в отличие от других вещей относящихся к культуре программирования если тебе по приколу тупить полдня над багом который я пофикшу за 15 минут посмотрев в дебаггере на значения всех интересных переменных и поняв какой именно код мне нужно почитать повнимательней — это чисто твоя проблема, живи в своём каменном веке, лол.
Алсо, разговоры про Настоящих Мужчин и дебаггеры меня смешат: я дебагал код в 8051 эмуляторе когда у тебя волосы на яйцах ещё не росли. В основном потому, что довольно тяжело дебагать при помощи отладочной печати когда глючит всё включая отладочную печать. Ну и перезапись флешки довольно геморройный процесс.
> http://lwn.net/2000Да конечно поменялось, в 2.6.26 Торвальдс замерджил поддержку kgdb. Замечу, что в 2000-м Торвальдс был ну совсем карикатурным настоящим программистом, которому и система контроля версий не нужна была, вероятно, при желании можно из архивов мэиллистов каких-нибудь аналогичных его цитат надёргать, где он утверждает, что и инструментами SCM только недотёпы пользуются.
> 2000
Paul McKenney is giving his "Validating Core Parallel Software" talk at #lca2013. He says write the code on paper using pen, fix bugs, and rewrite it on a new piece of paper, keep rewriting until the last two copies are identical.Метод несущественно отличается от работы с системой контроля версий, электричества расходуется меньше, бумаги больше. Нормальный такой метод для человека, рождённого в 1950-х.
а что, нормальный методНормальный метод состоит в том, чтобы написать сразу дофига, а потом поправить несколько багов. Если будешь на бумаге чего-то писать, прослывешь идиотом. Впрочем, под ядро код сильно проще, чем в бизнес задачах, там и правда можно силой мысли попытаться его охватить.
Впрочем, под ядро код сильно проще, чем в бизнес задачахсмело
система контроля версий не нужна была, вероятно, при желании можно из архивов мэиллистов каких-нибудь аналогичных его цитат надёргать, где он утверждает, что и инструментами SCM только недотёпы пользуются.Судя по его более поздним высказываниям, ты его не совсем правильно понял. В своей достаточно знаменитой git talk он, говоря о истории vcs, сказал, что «В начале был CVS. Он был настолько ужасен, что использовать тупо тарболлы было и то удобнее, чем пользоваться CVS». И таки я не вижу в этом утверждении ничего спорного
Хорошо что хотя бы дебаггер не глючил!
---
"Для того, чтобы не пройти мимо цели, иногда необходимо пойти ко дну."
"Для того, чтобы не пройти мимо цели, иногда необходимо пойти ко дну."а для этого Торвальдс написал http://github.com/torvalds/subsurface
Оставить комментарий
Werdna
тут как-то меня за мнение "дебаггерами пользуются только плохие кодеры" минусовали.В вот вам мнение Торвальдса:
http://lwn.net/2000/0914/a/lt-debugger.php3