Invaluable Helpers
Posted on July 28, 2008
Filed Under Programming |
Programmers have help.
Thousands of tools have been created to make our lives easier when we are organizing, designing, coding, debugging, unit testing, regression testing, and maintaining.
I’m under no illusion that I’m using the best tools imaginable, but I sure as hell rely on a few supporting characters:
- A good editor is invaluable. The Emacs editor (OS?) with org-mode has become invaluable to my programming.
- In the land of C/C++ memory leaks, valgrind is a miracle worker.
- Visual Studio’s debugger and GDB are invaluable in tracking down logical flaws.
- Matlab and Mathematica are great for checking my numbers.
- I’ve yet to find a better design tool than a sheet of paper and a pencil.
- As recent as Friday, I’ve used this little Python echo server to debug send/receive functions in network applications:
import socket s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind(('localhost',12345)) s.listen(5) while 1: c, a = s.accept() data = s.recv(1024) if data: print data client.send(data) client.close()
- I use Wireshark to see programs talk to each other over network interfaces.
What do you use?
Popularity: 12% [?]
Comments
3 Responses to “Invaluable Helpers”
Leave a Reply

I find that [quickly erased] print statements can sometimes be as helpful as a full gdb session, but take far less time (especially when I’m working on someone else’s setup).
PyChecker is necessary for getting any but the most trivial of Python programs correct.
Lua for little scripting tasks (for instance, I wrote a server really similar to your Python example for my last project.)
Beyond Compare 2 for diffs.