I've started to use Python almost exclusively for all development over the last year or so on both Linux and Windows environments, including TCP daemon style apps.

I did try going back to C, but I've been spoilt by C# over the last 7 years and don't really want to live without my garbage collector.

I recently needed to write reasonably complex TCP server and after trying Php - which is realistically about as close to C that I want to get - went back to Python, it just feels like a more natural language. Python comes with a decent Socket Server and can be daemonized relatively easily.

As for how to catch those errors and bugs, I'm sure I'm teaching you how to suck eggs, but.... try...catch (or its equivalent) is your friend :-)

N.