Posted
by
ScuttleMonkey
on Monday October 17, 2005 @07:03PM
from the more-than-one-way-to-skin-an-app dept.

An anonymous reader writes "IBM Developerworks is running an article that introduces using the Ruby Development Tools (RDT) plug-in for Eclipse, which allows Eclipse to become a first-rate Ruby development environment. Ruby developers who want to learn how to use the rich infrastructure of the Eclipse community to support their language will benefit, as will Java developers who are interested in using Ruby."

I think there is a plug in that should scratch just about any itch. Nice.

Indeed, the Python [sourceforge.net] and Perl [sourceforge.net] plugins are both very nice and from the look of it more featureful than the Ruby plugin at the moment (though I expect it's only a short matter of time before that evens out). I think its more a matter of what languages aren't currently covered? There are apparently plugins for Eiffel [sourceforge.net] and Haskell and Ocaml [sourceforge.net] and SPARK [sri.com] and Scheme [eclipse-plugins.info] (though I can't vouch for quality on any of those) and pretty much anything else you can imagine (given that those were random searches on my part).

Wow, you're right, I can't find much beyond this [robrohan.com] which is a mutlipurpose plugin, but does at least support Objective C, though only really providing syntax highlighting and not all the goodies you can expect from other eclipse plugins.

You forgot CDT Project [eclipse.org] for C and C++ development. The project is growing in popularity to the point where we're having our own developer's conference in a couple of weeks, totally separate from EclipseCon.

It's starting to seem like everyone and their brother that's doing a C/C++ IDE is standardizing on CDT. If the trend continues, perhaps one day we will unseat Visual Studio as king of the heap, although there is a long way to go still.

No, it doesn't. This is currently provided by the Lunar Eclipse [sourceforge.net] project, which publishes a few Eclipse plugins. Specifically, look at the rectangle copy/cut/paste/edit operations in the Editor Enhancements plugin created by that project. (Note: the Emacs-style Alt-/ completion mentioned on these pages was integrated as a part of Eclipse itself.)

Also, Eclipse has a useful stock feature which covers one use case for rectangular edits: block indent

No, it doesn't. This is currently provided by the Lunar Eclipse project . ..

That's not really block selection though, is it? Block selection is drawing a selection rectangle on the text and then being able to directly edit that block by typing or pasting some text. The Lunar Eclipse plugin doesn't get you a selection block on the screen that makes it obvious what you're selecting. It also doesn't let you directly edit the (unseen) block. You have

From vi, to emacs, to eclipse (ratios of memory usage in each generation maintained!)

I actually do not like the eclipse editor component as much as emacs. Ideally, I'd want the GUI-esque browsing/completion/etc of eclipse with the emacs editor. (There have been attempts at this, but none of them feel "right")

It's also harder to write ad-hoc extensions to an eclipse plugin, which is one large benefit emacs has over it.

RadRails is great, but the setup is a bit of a pain in the butt. I have to tell it where Ruby is, for instance... something it doesn't even need to know. It could just run "ruby" and let the path take care of it.

But anyway, any steps towards autocompletion and automated code refactoring for Ruby are fine by me. And moving into an IDE which is capable of these things is a step.:-)

RadRails is an integrated development environment for the Ruby on Rails framework. The goal of this project is to provide Rails developers with everything they need to develop, manage, test and deploy their applications. Features include source control, debugging, WEBrick servers, generator wizards, syntax highlighting, data tools and much much more.

The RadRails IDE is built on the Eclipse RCP, and includes plugins from RDT and Subclipse. The RadRails tools are also available as Eclipse plugins.

I agree. Auto-complete is the one thing that we could really do with here, but is sadly lacking. Sure I can press Ctrl+space and get a Ruby language list, but I really want to see methods available on the current object. This is not possible today.
Having said that, RDT is WAY WAY better than the alternatives. Having installed Mondrian, Scite and FreeRide, RDT on Eclipse blows them all away.
Regarding RadRails, yes it's nice but it's not a huge leap forwards from RDT - it just adds server start/stop in a

It rocks......
I'm using Ruby at work to parse millions of lines of source code across 4 different systems and link that back to literally hundreds of requirements documents. The end result is stored in a database and made available via "Ruby on Rails" [rubyonrails.org]. It's saved the client literally hundreds of hours of debugging and integration time, and the "documentation"? It never gets out of date...
Just run the programs against the source code and document repositories nightly and everything is current.....

And Eclipse? simply the best development IDE available IMHO......
And all of that in only a few thousand lines of code.....

IMHO Ruby seems to have a "quirky" syntax. I checked it out for a short period of time and was thinking about adding it to my list of programming languages. I just don't care for the syntax. I could care less about it being interpreted, etc, it's the syntax that's killing it for me. I come from a C/Perl/Java background, and Ruby just seems too different I can't tell whether it's work taking the time to learn or not.But, that being said, I really like Eclipse and use it for my Java coding. Maybe I'll gi

I come from a C/Perl/Java background, and Ruby just seems too different I can't tell whether it's work taking the time to learn or not.

Once you learn it, you'll find that it is very consistent throughout development. You don't need to worry about certain syntax not working in certain situations, etc. Language consistency is the main reason I use Ruby. If I don't know it, I can guess and be right 95% of the time. It's almost creepy.

That said, I'd have to imagine that closures are the main issue you have with Ruby's syntax, since that's really the only part of Ruby's syntax that differs from other scripting languages.

e.g.

1.upto(5) do |number|
puts numberend12345

Just know that closures are incredibly powerful and can be used to simplify a great deal of things. Don't let the use of |s turn you away.

Once you learn it, you'll find that it is very consistent throughout development. You don't need to worry about certain syntax not working in certain situations, etc. Language consistency is the main reason I use Ruby. If I don't know it, I can guess and be right 95% of the time. It's almost creepy.

I totally agree. That, the clear documentation, and the familiar API (somewhat consistent with Java) are the three things that enabled me to learn it so fast.

This is not an example of a closure, but an example of a block. Of course this is compounded by the fact that closures are enabled by blocks. You probably don't need to worry about closures in order to pick up Ruby, but if you don't know what they are, they are well worth learning. The C equavalent to this particular code is a for loop:

I find it hard to believe that someone with a Perl background is complaining that Ruby has a quirky syntax. I think if you spend a little more time with Ruby you'll find that it has a nice, well thought-out syntax. I think you'll also come to think of Perl as the real quirky language.

I find it hard to believe that someone with a Perl background is complaining that Ruby has a quirky syntax.

Heh... As someone with Python background, I definitely find Ruby syntax very quirky. My theory is that most Ruby users are people who started out with Perl and would never learn Python "because of the whitespace issue" (in truth they just didn't have a need, the time or what it takes to break old habits). Then as Python started becoming more and more popular, it became more and more difficult to adm

You know, I tried Python for a while. It really is nice with the builtin data structures and the slicing and dicing that you can do with sequences. The whitespace thing is kind of annoying. I like having {} or do end or begin end markers around my code blocks. I think it is one feature that they Python community should just give up on. It really is holding the language back. For example it can't easily be embedded into web pages (has it been truly done at all?) because of the whitespace issue. Just about all of the popular languages out there that can be used to generate web pages just use the language itself for embedding. I remember back in 2000 using the Python ASP integration on windows to embedd Python and it wasn't much fun. Another thing that bothered me about Python were the core modules. They just didn't seem consistent and as well structured as what Java uses. Sure there are weird things in weird places in Java but overall I prefer the class libraries available to Java over the Python ones.

I'm currently giving Ruby a shot implementing a little project and so far I find it ok but the syntax in Python or Java definitely seem cleaner. Having to use punctuation to help the compiler|interpreter figure out scope (think @'s in front of variables for object vars) is just plain lazyness on the part of the authors.

The last thing I'm having trouble getting over is the dynamic nature of the languages. Static typing seems to be such a nice warm cozy safety blanket that it is hard to give up. I see where it can be powerful and useful and allow you to take many shortcuts. In fact much of Rails would be impossible without the dyanamic typing and openness of the class structure, but I miss the static class definitions when working with my model objects. It gives me a weird feeling to have to look at the tables themselves so I can figure out what the attributes on my obects are. Yes I know DRY...

It'll be an interesting next few years to say the least. Maybe Ruby will be the next big thing or maybe something else will. I for one would like to see a revamped Python that took the things they did right and fixed the things they did wrong. Perl 6 anyone?

Python encourages good programming practices.Among other, indentation, always document, short code modules, and best of all DO NOT EMBED CODE IN WEB TEMPLATES!Take a look at ZPT (and possibly Kid) if you need to understand why you shouldn't do that. (they succesfully survive round tripping through HTML visual editing, generate only valid html, etc.)

I see no problem with embedding code that deals strictly with presentation. I wouldn't advocate putting business logic into a page and in fact would whack someone upside the head if I caught them doing that. In this day and age there is no excuse for it. Even php has templating capability. The real issue is having to learn a second language to do it. I'd rather learn a small api to do presentation than a whole new template language. A loop in an rhtml (rails) file is the same as it is in ruby just as

> Having to use punctuation to help the compiler|interpreter figure out scope (think @'s in front of variables for object vars) is just plain lazyness on the part of the authors.

Enforcing the use of scope operators to indicate scope was the best thing the Ruby authors did.I'm using C++ at work now and I fucking hate the half-assed naming schemes (hungerian notation, m before all class variables) we have to use because C++ doesn't force you to use this->

I've been using Eclipse with the RDT + Sublipse + RadRails plugins for a week or two on Windows. Its really quite nice. I didn't see an easy way to convert an existing Rails project into one that loads up nicely in the UI. I ended up creating a test project in Eclipse, taking that projects.project file and modifying it, then sticking it over in my existing project's directory. Load the.project file and voila, the IDE shows all the directors (M, V, C, etc). Very nice, and no surprise that.2 doesn't have

Did you install a Sun version of Java? I have Breezy installed and it had gcj aliased as "java". When I tried to install Eclipse I got all kinds of errors. After realizing the problem and installing Java 1.5_05 it works flawlessly. Just make sure the real java is in the PATH before gcj.

Here I was, happily writing stuff with XEmacs, but somehow, there was something missing from my coding stuff and things started to feel a bit wooden.

Weirdly enough, when I grabbed RDT, things started to look surprisingly bright and writing code was not that boring anymore. There are some emacsisms that I miss, but otherwise, this thing is really great. Eclipse was clearly made for bigger projects and it worked just fine when I got the crazy tendency to split my code across zillion little files! Wish XEmac

Ruby's pretty much a repeat of Smalltalk (Which is cooler, more powerful and has less people caring, and in people actually using it, was unsuccessful. But it did influence Java some) with "normal" syntax. Although I do hope Ruby overtakes that blastedly inconsistent language known as Perl.

I do hope Ruby overtakes that blastedly inconsistent language known as Perl.

Them's fightin' words, sorta. That blasted inconsistentcy is why I love Perl. It's the Swiss Army Chainsaw of programming languages.

Smalltalk!?! **choke** **gasp** **coke-coming-out-my-noise** It burnses! It burnses! Make it stop! I had to learn Objective-C (for WebObjects) which is a close to Smalltalk as I want to get. OK I'll take smalltalk over Java any day. Perl will always be the first programming language I fell in lov

I know you're just trolling (and being honest about it), but I just got back from the fifth annual Ruby Conference. The attendance at this year's conference was three times what it was at last year's, due in no small part to the success of Rails over the last year. The latest Rails book, Agile Web Development with Rails, is hovering around the number two spot on Amazon.com's list of popular "Computers & Internet" books. I'm told that they've sold some 20,000 copies of the book since it was published in

Actually, I think Ruby might just be picking up some steam, thanks to Rails. David Heinemeier Hansson won the "Hacker of the Year" award at OSCON for Rails. Just about every week it seems like I see a new article in this magazine or that one about it. Ruby has surpassed Python in Japan. Who knows?

Pfffttt! Eclipse is lame. I use jEdit [jedit.org]. I have used Eclipse quite a bit, but it is just way too fat IMHO. jEdit can work for just about any language (including Ruby) and it is just a lot leaner. Try it! You'll like it!

Why use Eclipse? Why indeed. How about:- best of breed Java development tools, including full refactoring support and full debugger- team integration (comes with CVS support, other stuff can be added with plugins)- awesome browsing support- automatic incremental builds take place in the background. NEVER PRESS THE COMPILE BUTTON AGAIN. Just type some code, hit Save, and see the compile errors appear in the margin immediately. Since there's no need to stop and compile, you can Debug or Run your applicat

The JVM and the J2SE class libraries are the most important contributions made by Sun under the Java technology umbrella. The Java language itself is irrelevant. Many people dislike the language syntax, and they have the right to do so. Syntax is a matter of taste - everybody should be able to program using the language they like the most (for the task at hand). But portability, interoperability, security, and other core features of the Java runtime are often underestimated.

nah, most Ruby coders are or were Java developers. I did java for five years. We just like Ruby better and feel it is much more powerful, beautiful and satisfying, as well as usually requiring one third or less the typing....

One cool features in Ecipse's native mode is when you click on a variable it highlights every other instance of that variable within your current source. I haven't seen any other IDE's do this and the PHPEclipse plugin doesn't do it either. Does this plugin for Ruby-on-rails support it?

Have you actually tried Ruby? I mean, gave it an honest to goodness chance.. say a dozen or so hours of coding and perhaps the first few chapters of a good reference book? I just find it really hard to believe than anyone who actually knew Ruby's syntax would call it disqusting. It is, by a fairly wide margin, the nicest language I've ever used. Everything is incredibly easy and intuitive. If I don't know how to do something, I can usually guess it on my first or second try, and it makes it so easy to write reusable, modular code that it's stupid not to, even for what appears to be a throwaway program.

Ruby is hugely productive. Pretty much everything I've ever wanted to do requires less code, less configuration, and simply less hassle than in every other language I've used.

Now, this is mostly evident when compairing to more traditional statically typed languages like Java and C#, but Ruby's has plenty to offer folks who already use agile languages like Python or Lisp. Ruby has an easy to use and powerful package managment system, Gems. An excellent build tool, Rake. RDoc, a powerful JavaDoc like documentation system. Rails, which is probably the most productive web devleopment platform on the planet. Watir, a web scripting system that makes functional and system testing a breeze. MouseHole, a really slick scriptable proxy. Two extremely well written, freely available books: the first edition of Programming Ruby, and Why's Poignant Guide. An extremely helpful user community. The list goes on and on.

Maybe you should be asking yourself why you dislike Ruby so much, rather than why everyone else likes it. That's not to say that everyone should like it as much as I do, but I suspect you're missing something important.

I have made it something of a crusade to try out as many languages as possible and not pre-judge their usefulness and capabilities. I have recently been using Ruby very successfully for some small scripting projects. I've found in the process that, although there are some things about it that drive me crazy, for this kind of task (file filters, modeling some data structures with a test script built using RubyUnit, etc.) I like it far more than Perl or Python. As far as I'm concerned, it is the logical succe

I tried the Ruby plugin for eclipse and it was too hard to get things to work. It all went together okay but when I started to use it, the thing kept on asking me for pathnames and which workspace to use. I had no idea which workspace to use, I just wanted to edit and run a ruby file.

Also, it kept on giving me lists of errors I could not understand.

I went back to scite and jEdit. I'm thinking of going back to emacs, actually.

In theory I was able to do it, but not very usefully. I found that even a verysimple Rails program kept throwing off uncaught exceptions which kept stopping the debugger.I could press the 'Continue' button to resume, but I would have to step through about15 exceptions before the browser w