What was your trajectory along the correct-by-design vs. debugger-first axis?

Posted by ImYoric@reddit | ExperiencedDevs | View on Reddit | 8 comments

One of the ways I like to describe programming languages and technologies is debugger-first vs. correct-by-design. A perfect example is Go (designed to let you write your code quickly, then write tests and hop into your debugger) vs. Rust (designed to encourage you to clarify your invariants as types, then hopefully not need a debugger at all).

With experience, many of us come to the conclusion that we can use any tool to fulfill the requirement, but we also have preferences and realize that some tools align better with how we think.

So I'm curious: how has experience influenced your preferences on this debug-first / correct-by-design axis?

I, personally, have started debugger-first, took a sharp turn towards correct-by-design as soon as I discovered it, then progressively mellowed out towards debugger-first, to progressively conclude that I can work with either but still prefer correct-by-design.

What about you?