What you say about Python, Ruby, and Perl is consistent with my understanding of those languages a year or two ago. However, there has been a big push within the dynamic language and Eclipse community to implement visual debuggers for these languages, and the progress is impressive. They have jumped forward and are now almost as good as Java and C# debuggers. Example include Komodo (commercial) and many Eclipse plugins. While many efforts have to date been separate, the Dynamic Languages Toolkit for Eclipse is attempting to bring them together so that they can reuse code (and simplify development). This means that Scheme is now falling pretty far behind the other languages, although they are much younger. I love Eclipse. I would use it just for the CVS and SVN plugins alone. And I'm happy contributing to it, because I feel I'm participating with and leveraging a very large user base.
I am good at debugging too.. also from many years experience. Perhaps its bad that I rely on my debugging skills rather than proving everything up front. But, that's the way it goes.
I guess I hadn't realized the degree to which Scheme is simply a tiny niche language without a big user base. Perhaps Scheme is plagued by too many implementations and so there is no critical mass on any of them.
Sigh.
William
David Rush wrote:
Cool. I'm all for that. But here's the thing. All your comparisons are to languages with a much larger user/implementation ratio. So the Scheme community in general (and Gambit in particular, but not especially) is resource-starved on the tools side. And by & large all open-source languages have sucky debuggers: debuggers are the world's most unrewarding programs to write (believe me I know what I'm talking about here). There are a fortunate few languages where debuggers have been built as later add-ons. Frankly, even a fairly popular newcomer like Ruby has completely sucky debugging facilities. As far as I'm concerned the VMS debugger ca 1990 was nearly perfect - and it has to be said that the u$oft debugging tools are not bad either, but once again these debuggers have corporate sponsorship.
So I'm still using debugging techniques that date back to what I had to do when I was cross-assembling Univac assembly to 80286 machines. printf() and reading and *reasoning* about the code. And people wonder how I am able to find and fix so many pernicious bugs that baffle the rest of the engineering team...
And to bring this full-circle, I'd love a great Scheme debugger. I'd be happy enough with a great Gambit debugger (and it does have one of the best inn Scheme - which is pretty damning). But not under eclipse (which I hate for a myriad of reasons). And the current state of affairs *is* workable and not much worse than working in Python, Ruby, Per, or Tcl.
david rush