While our host waxes poetic about dinosaurs, I'm going to take an opportunity to update you on all the good that's gone down this morning. Sun Microsystems senior staff engineer Tor Norbye kicked us off this morning with Ruby Tooling: State of the Art. For those expecting the him to get dangerously gung-ho about Ruby's merits (Sun is, after all, getting quite intimate with jRuby), we (yeah, we) were mildly disappointed. Tor remained diplomatic, assuring all that while his presentation was by no means objective, his IDE revelations were not exclusively Ruby-specific either.
Full-fledged integrated development environments significantly boost programmer productivity for just about any language. Though there are some exceptions, most recent IDE advancements are not Ruby specific and in the case of Sun's work, the tooling changes do tend to apply more broadly.
Norbye noted that a common perspective is, "You Java people need IDEs to help with boiler plate code. Ruby is cleaner than that." "Real" programmers don't need an IDE crutch, yeah? Not when you've got Emacs!
Tor argues that Emacs is a sort of IDE, since its facilities include:
* Support for code-related tasks
* Team collabo tasks and TODO management
* Debugging infrastructure (balloon eval and thread view)
* Plug-in management
Norbye also discussed code completion in the context of Sun's NetBeans IDE and its evolving support for the Ruby language, one of his favorite subjects. To start with, he wanted to clear out some rumors of over simplification on Sun's part. He stated that Sun had gone far beyond simple pair matching. Their efforts, he admits, are not yet perfect but they are however deeply focused on determining the exact set of applicable methods, instance variables, class variables, classes or modules in the current context.
He added that the fundamental hurdle for quality code completion is global contextual knowledge -- knowing about user classes in advance and knowing about available libraries (both Ruby built-ins and gems). This focus and the resulting functionalities are what he says typically separate editors from fully functional IDEs.
If you remain among the undecided or one of those displeased with current Ruby dev tools, keep an eye on Tor's blog for more IDE news and Sunny wise-osities. If you're a NetBeans user ready to get on the Rails train, check out the NetBeans Ruby extension (wiki, downloads). Sun's own Tim Bray has some additional perspective on getting started with NetBeans 6 and Ruby.
For the rest of you, NetBeans is a free, open-source for IDE software developers. Written in Java, the tool runs a variety of platforms including Windows, Linux, Solaris, and Mac. As you'd expect of a Sun-sponsored effort, the project is squarely focused on Java technologies, but via a robust catalog of plugins includes support for C, C++, UML modeling, XML, PHP and (but of course!) Ruby. The NetBeans Community claims over 12 million downloads and hundreds of thousands of developers using their tools.
NetBeans 5.5 is the current release, with NetBeans 6 the one Ruby developers in particular want to focus on.