On Friday, 19 December 2014 at 12:52:32 UTC, uri wrote:
This is true. The first week for a new developer where I work
is developing a better boot loader. The debugger is not allowed
during this induction week and as a result our devs learn how
to write better code first time through careful planning and
understanding of what's going on at the machine level.
As you beat your chest over your boot loader - consider both this
example and in general Walter's lack of need for a debugger.
Could this lack of need be attributable to understanding of the
entire code base being used? I imagine you don't have many
outside dependencies for your boot loader. I imagine most of what
Walter works on involves an entire stack that he has either
written from ground up or when pulling outside dependencies in
has much less surface area to deal with that is new to him.
Contrast that with someone wanting to tie into a framework
(vibed) or use a sophisticated library (websockets). Yes, you can
stick with the "real men don't use debuggers" line, but that is
much easier to stomach when your outside dependencies are small
in scope. Isn't one of the best ways to learn a new codebase to
step through it in the debugger?
Maybe your devs learn how to write better code the first time
through. But what happens when they are thrown new requirements
on dependencies that are challenging to deal with?