Blog - /Tech
Delving further into what makes Python difficult for me to debug, I think part of the problem might be the backtraces. Emacs Lisp and Perl backtraces display the affected functions and files from the inside out, while Python takes the unnatural step of reversing the order.
Another specific problem that I have with some Python programs is the sheer number of small classes that they are composed of, often with many classes per file. Better is to have one class per file, with that class having more than just 3 or 4 methods. If it has less, you are abstracting too much! (Aside: This is not to say that Java gets it right. Hell no. The compiler should not care what you name the file that happens to contain your class.)
As for replacing existing programs: I don't really care what language the program is written in, as long as it works. I enjoy Miro now, but when it was broken in the alpha days for Ubuntu Gutsy, it was a huge pain to try to figure out what was going wrong. Things that I enjoy extending and hacking on, such as blogging software (PyBlosxom), are prime candidates for replacement. In the case of PyBlosxom, I am going to try out ikiwiki. I have even done some initial work on getting Emacs Muse to work as a potential extension for it, so that I can push .muse files to my webserver using git, and have them published automatically once there. I still need to buckle down and write the Perl glue to connect to this Emacs Muse "compiler", though.