I'm working on a Firefox extension.
For those of you who have not attempted this, let me tell you a few things about the experience:
(a) I'm working in JavaScript. JavaScript likes to fail gracefully, which means that it doesn't tend to spew error messages every time something goes wrong. That's nice if you're using it, but annoying when you're trying to track down an error.
(b) And then, in case it wasn't quiet enough, I put it into an add-on, where it's even more silent, and on top of that I can't bring my usual JavaScript debugging tools to bear on it because they only operate on the code in a web page.
So basically, I've been programming for the past few days without all the usual modern coding conveniences. I have been reduced to debugging almost entirely from the equivalent of printf or echo. Thank goodness I at least have syntax highlighting. To use a terrible analogy, this is akin to writing everything on a typewriter -- better than a quill and ink perhaps, but still not quite up to the modern computer when it comes to the easy fixing of mistakes.
I've lost track of the number of times where I've deleted my non-working code, retyped it all, only to find that this time, it works. The problem before was almost certainly a typo, but it was less trouble to re-write than try to find the missing character. Incredibly frustrating.
That said, I actually kinda like Firefox extension development, even if the minutiae are irritating. It's incredibly satisfying when it works, and I can then try my code out on any web page I want, really easily. So much data. And the idea that other people will be able to install my code is surprisingly appealing. (Well, perhaps not that surprising -- I used to write IRC scripts back in the day.)
But I do feel a little like I'm the dark ages here, and I find it hard to believe that other people placidly program in this environment. So I'm guessing there are tools out there, I just don't know them. Last time I tried any was probably pre Firefox 2.0, and I wasn't thrilled, but I'd be happy to take some recommendations now if things have gotten better now that we're up to 3.5!
For those of you who have not attempted this, let me tell you a few things about the experience:
(a) I'm working in JavaScript. JavaScript likes to fail gracefully, which means that it doesn't tend to spew error messages every time something goes wrong. That's nice if you're using it, but annoying when you're trying to track down an error.
(b) And then, in case it wasn't quiet enough, I put it into an add-on, where it's even more silent, and on top of that I can't bring my usual JavaScript debugging tools to bear on it because they only operate on the code in a web page.
So basically, I've been programming for the past few days without all the usual modern coding conveniences. I have been reduced to debugging almost entirely from the equivalent of printf or echo. Thank goodness I at least have syntax highlighting. To use a terrible analogy, this is akin to writing everything on a typewriter -- better than a quill and ink perhaps, but still not quite up to the modern computer when it comes to the easy fixing of mistakes.
I've lost track of the number of times where I've deleted my non-working code, retyped it all, only to find that this time, it works. The problem before was almost certainly a typo, but it was less trouble to re-write than try to find the missing character. Incredibly frustrating.
That said, I actually kinda like Firefox extension development, even if the minutiae are irritating. It's incredibly satisfying when it works, and I can then try my code out on any web page I want, really easily. So much data. And the idea that other people will be able to install my code is surprisingly appealing. (Well, perhaps not that surprising -- I used to write IRC scripts back in the day.)
But I do feel a little like I'm the dark ages here, and I find it hard to believe that other people placidly program in this environment. So I'm guessing there are tools out there, I just don't know them. Last time I tried any was probably pre Firefox 2.0, and I wasn't thrilled, but I'd be happy to take some recommendations now if things have gotten better now that we're up to 3.5!
no subject
Date: August 8th, 2009 01:48 am (UTC)