5 ms·
Interesting, but what I'd really like to know about and the author didn't mention is the debugging situation. The debugging tools and styles available on a plat
by joesmo 11y ago
Interesting, but what I'd really like to know about and the author didn't mention is the debugging situation. The debugging tools and styles available on a platform are truly a make it or break it deal for me. It's a huge factor in productivity, sometimes the main one. Maybe someone with experience in this area can delve into this topic a bit further? I think the availability of third party libraries in various areas is another huge factor that the author missed.
- ominous_prime 11y agoNot that there's anything wrong with using a debugger as a tool, but I find it hard to understand why it's such a stringent requirement for some. I've never really had the need for one outside of a few instances over many languages, and I know many others that feel the same, which covers a much greater range of languages and styles of programming. Even so, I'm eagerly awaiting a good Go debugger when one arrives. There are some being worked on, like delve (https://github.com/derekparker/delve/ https://github.com/derekparker/delve/), which might be the most ambitious, but it's only recently becoming usable. The problem is partly due to my first statement, there's not a huge demand for these in the language ecosystem, so development has been slow.
- joesmo 11y agoAfter using a proper debugger, I can almost say I'll never go back to a language without one. It's such a useful tool, I use it a lot even when writing code. I think if you asked a functional programmer to give up their REPL, they might not be so happy. The debugger is essentially the REPL of imperial languages (because a REPL by itself is not enough for imperial languages since all the state has to be set up). Also, it's extremely useful when learning a new codebase as well as actually debugging bugs. I also think it's necessary to have one for a language to gain mainstream support.
- StavrosK 11y agoI also pretty much debug crashes from just the traceback (in Python), but a debugger (pudb is awesome) has been invaluable in quickly figuring out what's breaking in third-party code. You don't have to read all of the code, just step through a bit until the crash and you're done.
- ominous_prime 11y agoYes, a stack trace at a particular point is often the most helpful bit of debugging info. I'm not sure if it would be nearly as helpful in Go to step through an chunk of unknown code that crashed, since python's execution is generally linear, whereas Go usually has a high degree of concurrency.