Linked by Thom Holwerda on Tue 28th Aug 2012 19:20 UTC, submitted by MOS6510
General Development "Coming from a background in higher-level languages like Ruby, Scheme, or Haskell, learning C can be challenging. In addition to having to wrestle with C's lower-level features like manual memory management and pointers, you have to make do without a REPL. Once you get used to exploratory programming in a REPL, having to deal with the write-compile-run loop is a bit of a bummer. It occurred to me recently that I could use gdb as a pseudo-REPL for C. I've been experimenting with using gdb as a tool for learning C, rather than merely debugging C, and it's a lot of fun. My goal in this post is to show you that gdb is a great tool for learning C. I'll introduce you to a few of my favorite gdb commands, and then I'll demonstrate how you can use gdb to understand a notoriously tricky part of C: the difference between arrays and pointers."
Thread beginning with comment 532920
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Not REPL
by kwan_e on Wed 29th Aug 2012 08:38 UTC in reply to "Not REPL"
kwan_e
Member since:
2007-02-18

That's why he uses the term pseudo-REPL.

Reply Parent Score: 3

RE[2]: Not REPL
by ndrw on Wed 29th Aug 2012 10:21 in reply to "RE: Not REPL"
ndrw Member since:
2009-06-30

It may look like "pseudo-REPL" but it just isn't one. Not even "pseudo". The whole point of REPL is that you write your program in it, and you get an incremental feedback as you do it. Think of it as of an IDE on steroids (one that really understands and executes your code). You simply can't do that in Gdb at all. Yes, you can analyze the program, but if you want to make any changes you have to go back to your editor and build system.

Reply Parent Score: 1

RE[3]: Not REPL
by kwan_e on Wed 29th Aug 2012 11:29 in reply to "RE[2]: Not REPL"
kwan_e Member since:
2007-02-18

It may look like "pseudo-REPL" but it just isn't one. Not even "pseudo". The whole point of REPL is that you write your program in it, and you get an incremental feedback as you do it. Think of it as of an IDE on steroids (one that really understands and executes your code). You simply can't do that in Gdb at all. Yes, you can analyze the program, but if you want to make any changes you have to go back to your editor and build system.


That's what makes it pseudo. Why don't you read the article? He's not proposing to write programs with it. He's proposing using GDB, in analyzing the program, to simulate the feedback you can get from an REPL language. Not that it is one. Therefore: PSEUDO.

Reply Parent Score: 3