• 0 Posts
  • 25 Comments
Joined 3 years ago
cake
Cake day: June 15th, 2023

help-circle
  • I have barely any experience with raw gdb, but debugging is something that allows for a lot of contextual actions. Even just placing a breakpoint is simpler if you can click the line instead of copy-pasting the line number. But also evaluating expresssions while on a breakpoint, or a graph with an overview of all threads. I doubt these are straight-forward commands in gdb, and if they are, you need to figure out the exact parameters (like line number).

    Furthermore, I have tried raw gdb once, and got super confused as to what I was supposed to do or look at. Yet every IDE makes it trivial to use debuggers. Learning the options available to you is much easier in a well designed GUI.


  • GUIs just being front-ends for a CLI tool is a horrible idea. This is why most git GUIs fail so terribly. I have seen too many of those where all the buttons were just replacements for CLI calls. If it is just a front-end for a CLI, then why the heck not just use the CLI?

    A good git GUI has not been designed to just wrap the CLI. Instead, it works with the structure of git (commits, branches, tags, etc), and builds around those from the ground up. Only once the functionality has been designed should the question arise: What CLI commands do we need to implement this?




  • I doubt they do mich different than you do with their OS.

    People are more motivated by feelings than actual logic. The person you are responding to even states that Ubuntu “feels good to use”. That is some car advertisement level of feeling based reasoning.

    Another thing is that people really hate it when things change. Especially a UI change. Every change in the Windows UI has been met with disgust. And if there is one thing different between linux distros, it’s where they place all the buttons, menus, etc. So people prefer to stay with the distro they know.



  • The problem with C++ is not the lack of safety features. It’s the ever lasting backwards compatibility that is keeping it both alive and down at the same time.

    Having to support 50 year old code, is going to limit any restriction you place. But it is usually the restrictions that make a language good.

    Example: You can write perfectly good modern C++ code without any pointers. But pointers are so ingrained into the language, that it is impossible to remove them.