In a recent weblog entry, Tim Bray wrote about some things he thought
Ruby lacked. Since he doesn't have comments enabled, I thought I
would share my opinions here, as a series of disjointed thoughts.
He said "Ruby needs an IDE. All programming languages need IDEs."
Well, I completely agree with that, and for my serious Python
programming (as opposed to noodling around in Python), I tend to use
Eclipse, because it's there. Perhaps Ruby could take the same
approach...
Of course, he also said a couple of things where I think he's a
little off the mark. For instance "I should never have to scroll
much; IDEs go to a lot of trouble to make it trivial to jump from
wherever to the source for the method being called, or its docs, or
the next compile error or breakpoint, or variable declaration, or
whatever. Scrolling back and forth in a source-code file is just
stupid." This I see more as a problem with his choice of editor, or
perhaps his knowledge of its features. I'm fairly sure both emacs and
vi allow you to jump to the things he's asking for...
"certain aspects of Unicode are, on the surface at least,
objectively racist; for example, why does UTF-8 encoding of characters
become progressively less efficient as you move from the languages of
the Western hemisphere to those of the East?" Hmm... I don't know...
My first guess would be because Western languages have approximately a
10,000th the number of characters as Eastern languages. My second
guess would have something to do with Huffman coding and the
prevalence of Western Language (mainly English) documents on the net,
but I do recognize that this could be due to my only being able to
read English.
As for Integration, isn't that what Parrot, .NET, and the JVM are
supposed to provide us? If I'm wrong, and the language level is the
appropriate level to solve this problem, then I sincerely hope that
it's the Ruby and Python communities who get together to do
something.
And finally, he missed what I consider to be the most important
part of an IDE. (No, not Source Control Integration!) An integrated
debugger. I had to go back to print statements to figure out what was
happening in Demokritos recently, and it just sucked. So I added in
some pdb support, and while it was easy to add the breakpoints, using
it also sucked. Can we please show me the list of variables in a box
at the top of my screen, and more than zero lines of context around
the currently executing line? Please? It was so bad that I'm
actually going to install Eclipse on my Mac Mini, just to avoid it in
the future.