4 ms·
> Honestly, my programs tend to be simple enough that logic errors are reasonably rare That says more about the particular programs you write than about the la
by E6300 9y ago
> Honestly, my programs tend to be simple enough that logic errors are reasonably rare
That says more about the particular programs you write than about the language, frankly. Writing trivial bug-free programs is easy in any language. The trick is writing complex bug-free programs.
> println debugging
This is something you should only need to do if you have a wretched debugger of if you're working on a bug where the presence of the debugger alters its behavior.
- vertex-four 9y ago> Writing trivial bug-free programs is easy in any language. Not really. Writing programs which don't crash the first few times I run them in a dynamic language is surprisingly hard. Just having a compiler prevents having to get to that point - and then Rust ensures that I handle potential errors correctly and avoid segfaults. > This is something you should only need to do if you have a wretched debugger of if you're working on a bug where the presence of the debugger alters its behavior. Or if I can't be arsed configuring gdb with breakpoints for everything from the command line. I can add a println!(), save my file, and watchman will recompile and run my program in a much more reasonable (to me) workflow. I assume that I can somehow integrate gdb into my editor, but that involves a pile of learning new things. For a so-called "trivial" app I'm most of the way through writing right now, is an OpenID Connect and SCIM server that has had to implement a decent chunk of functionality (JWTs, key fetching and caching, juggling between postgres and redis, etc) from scratch. But for most of the particularly fiddly parts, I've managed to have the type system ensure that I either outright can't have logic errors or they're detected and the program panics, which is rather nice.
- E6300 9y ago> Writing programs which don't crash the first few times I run them in a dynamic language is surprisingly hard. Writing correct programs in JS is difficult, I agree. Writing correct trivial programs is easy, though. > Or if I can't be arsed configuring gdb with breakpoints for everything from the command line. I can add a println!(), save my file, and watchman will recompile and run my program in a much more reasonable (to me) workflow. I assume that I can somehow integrate gdb into my editor, but that involves a pile of learning new things. That's not a third alternative, that's just gdb being wretched, as it's always been.