←back to thread

376 points turrini | 1 comments | | HN request time: 0.001s | source
Show context
alexhutcheson ◴[] No.42146843[source]
GDB also has a built-in text user interface (TUI) that is surprisingly easy to use[1]. It even supports mouse interaction.

[1] https://sourceware.org/gdb/current/onlinedocs/gdb.html/TUI.h...

replies(4): >>42146899 #>>42149505 #>>42150401 #>>42151565 #
genpfault ◴[] No.42146899[source]
Only works if GDB has been built with TUI support, sadly :(
replies(2): >>42147067 #>>42147820 #
cyberpunk ◴[] No.42147067[source]
… If you are debugging c code surely you’re able to compile a debugger with whatever options you want?
replies(1): >>42150865 #
rty32 ◴[] No.42150865[source]
In theory, yes, but in practice, people who know how to compile gdb is a small subset of people who need to debug c code.

Not to mention that it actually takes extra time to do so, when people are used to debug Python/JavaScript/Go code with one single click these days.

replies(1): >>42153622 #
Gormo ◴[] No.42153622[source]
Just grabbed the source, and it's a pretty bog standard ./configure ; make. Simple build instructions in the readme. Not sure this is a daunting challenge for any even moderately skilled developer.
replies(2): >>42155825 #>>42156098 #
desdenova ◴[] No.42155825[source]
Most people who use C nowadays are students, not "moderately skilled developers".

Students barely know how to manually put together a Makefile.

replies(2): >>42156666 #>>42187337 #
dahart ◴[] No.42156666{3}[source]
As long as the number of programmers is growing rapidly, it’s likely that most people who use any language are probably students. The distribution automatically skews toward beginner.

That has no bearing on whether we should have good tools for skilled developers, including debuggers & makefiles & source distributions. Eventually, students become moderately skilled. And we used gdb in class when I was a student.

replies(1): >>42180991 #
TeMPOraL ◴[] No.42180991{4}[source]
> That has no bearing on whether we should have good tools for skilled developers, including debuggers & makefiles & source distributions.

Unfortunately, it's also the best explanation as for why we don't have them in practice, and why all software seems perpetually developed by fresh juniors (because it is).

replies(1): >>42189014 #
dahart ◴[] No.42189014{5}[source]
I don’t quite understand where this is going nor why. This little sub-thread stemmed from a good tool that does already exist, and from unsubstantiated claims that C devs are students and that the simple build steps are too hard for most people. Sure, a lot of software is written by junior devs but that has no bearing on whether gdb exists, or even how hard it is to build. We have lots of good debuggers, and luckily it only takes a few experts to write them, which is why we do have them in practice.
replies(1): >>42191373 #
1. TeMPOraL ◴[] No.42191373{6}[source]
> This little sub-thread stemmed from a good tool that does already exist, and from unsubstantiated claims that C devs are students and that the simple build steps are too hard for most people.

It's next to impossible to properly source any claim in this area; as for a lighter standard of substantiation, C wasn't a big deal in university courses 15 years ago, so it's unlikely to suddenly become it now.

N=1, but back then, between C++ and Java courses jumping straight to IDEs (to focus on language instead of build steps), and Unix/C course sticking to direct calls to GCC, at least my year at my uni managed to go through 5 years without much exposure to make and Makefiles...

Anyway,

> Sure, a lot of software is written by junior devs but that has no bearing on whether gdb exists, or even how hard it is to build.

But it does have a bearing on GDB evolution and GDB GUIs, which almost universally expose less than the bare minimum of useful GDB features; of those that expose more, I'm yet to find one that works.

> We have lots of good debuggers, and luckily it only takes a few experts to write them, which is why we do have them in practice.

Well, yes. WinDbg, that debugger in Visual Studio, etc. :). GDB, too.

My point here is that, for better or worse, size and type of the target audience determines how much and what kind of attention the project gets. "Skilled, experienced developers" are a small niche; the vast majority of developers are fresh juniors (per the growth argument), creating pressure to satisfy them at their level. Which, for GCC, I guess it means the build steps remain arcane even relative to other GNU projects, and powerful GUI frontends for it are not a thing.