3 ms·
If you are designing or implementing a language, do the debugger first. Well, very early, anyway. Think of this as deep introspection into how well your design
by kabdib 4y ago
If you are designing or implementing a language, do the debugger first. Well, very early, anyway.
Think of this as deep introspection into how well your design holds together. If you can't write an effective debugger for the thing you're hatching (or at least, an API and some good tests), then maybe you're looking at a design flaw.
And in any event, you'll have a debugger when you need one. And you will need one. This will probably speed up your development, and your users will hate you less.
- mbrodersen 4y agoI happens to be a professional compiler developer (among other things). And nope that is not the right answer. The right answer is 1k tests making sure that a new version is (almost) never released with bugs. I haven’t had a bug in production for 5+ years. And routinely completely rewrite and optimised parts of the system with no fear.
- kabdib 4y agoI think we can agree that if you don't have tests, you don't have a compiler. You don't have anything, really not even a toy. But there are too many languages out there in production that don't have debugging support worth a tinker's damn. (I spent quite a few years working on toolchains, jitters and runtime systems. It's fun stuff).