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)Debugging
Date: August 8th, 2009 07:34 am (UTC)Re: Debugging
Date: August 8th, 2009 07:36 am (UTC)I wish these livejournally/dreamwidthy things had options other than anonymous and sign-up-for-something like real true genuine blogs do.
Asad.
Re: Debugging
Date: August 8th, 2009 03:33 pm (UTC)And yeah, maybe we should suggest some sort of name field to the dreamwidth folk?
Re: Debugging
Date: August 10th, 2009 06:50 am (UTC)Also, while I do respect the need for having a woman-friendly online open source project, does the whole pink thing make it more friendly or does it reinforce stereotypes? I mean that seriously.
Asad
Re: Debugging
Date: August 10th, 2009 05:48 pm (UTC)And the pink thing... we have the same issue with Linuxchix, in that the name, itself, can be considered derogatory. We had some discussion about it a while back, and the end result is that there's no way to please everyone. Some people love the "chix" because it's fun and not too serious (or obnoxious, like womyn, which as you know I find a little ridiculous). So I'm guessing the dreamwidth team feels similarly -- sure, it's stereotypical, but if the people involved like it, why not have a little fun with colour?
JS Development
Date: August 8th, 2009 06:37 pm (UTC)I do a lot of my JS coding in Dreamweaver, Textpad or Scite, which all do a pretty good job of code hinting and colouring, but none do very good (any) bug catching.
I've heard there's a pretty good Javascript Development Toolkit for Eclipse, if you're comfortable coding using their IDE. I have no experience with it, but it may be worth exploring.
-Jay
Re: JS Development
Date: August 9th, 2009 04:08 am (UTC)