Ruby on Rails IDE

On Tue, Aug 24, 2010 at 5:15 AM, Mauro [email protected] wrote:

I develop under linux that doesn’t have textmate.
I’m using netbeans and I think it is a complete ide for develop rails apps.

Thought I’d chime in here. Although I use mac+textmate [1] now,
earlier I used gEdit under Ubuntu. You can pimp it out to be like TM
by following these instructions:

http://grigio.org/pimp_my_gedit_was_textmate_linux

Cheers,
Ed

[1] Got the mac only to use textmate with RoR work.

Ed Howland

http://twitter.com/ed_howland

On Wednesday 25 August 2010, Bill W. wrote:

On Wed, Aug 25, 2010 at 3:22 PM, Michael S.
[email protected] wrote:

My ~/.netbeans/6.9 directory has grown to an amazing 856MB, largely
consisting of downloaded updates, I reckon.

Ouch. OTOH, that’s like $0.10 worth of storage now, right?

Yeah, and I was celebrating too early anyway. The freezes are still
there.

The problem with the obsolete files is not so much the space they’re
taking up. They are in my backup set as well, meaning that they are
wasting space in other places and have to be checked for changes each
time I make a backup (i.e., often).

Michael


Michael S.
mailto:[email protected]
http://www.schuerig.de/michael/

I think it is deplorable that there aren’t any good [1] Ruby IDEs out
there. Python comes with one (Idle).

[1] By good I mean free/open source and best of breed.

Rewriting the Python description of IDLE:

“coded in 100% pure Ruby, using the tkinter GUI toolkit
cross-platform: works on Windows and Unix
multi-window text editor with multiple undo, Ruby colorizing and many
other features, e.g. smart indent and call tips
Ruby shell window (a.k.a. interactive interpreter)
debugger (not complete, but you can set breakpoints, view and step)”

It seems to me we have all these pieces already. Wirble, ruby-debug,
window library wrappers.

It should be so good, X-Platform that it should ship with the basic
Ruby distribution (like rubygems does now w/1.9). Or it could ship as
a gem.

Other features I’d like. RVM and Bundler support. Rails/Sinatra
colorizing*, code completion. (I don’t like tips or hints - hated
BBedit for that reason).

*extensible with snippets/bundles.

Cheers,
Ed

Ed Howland

http://twitter.com/ed_howland

On Thu, Aug 26, 2010 at 3:56 PM, Ed Howland [email protected]
wrote:

[1] Got the mac only to use textmate with RoR work.

So you got yourself a $3500 text editor? Congrats.


Greg D.
destiney.com | gregdonald.com

On Thu, Aug 26, 2010 at 4:58 PM, Greg D. [email protected] wrote:

On Thu, Aug 26, 2010 at 3:56 PM, Ed Howland [email protected] wrote:

[1] Got the mac only to use textmate with RoR work.

So you got yourself a $3500 text editor? Congrats.


Greg D.
destiney.com | gregdonald.com

Yes! And I’ll never go back. :slight_smile:

Seriously, I wanted to add a few items to my wish list for a Pure Ruby
IDE:

  • Access to Rake tasks (with ability to set environment (production,
    test)
  • RSpec and Cucumber aware/runners
  • Generators (Rails/RSpec/Cucumber others)
  • Code/Object inspectors - tied to the file (in the gem) where defined.
  • Code completion on require ‘gemname’.
  • generate a new project file (rails/sinatra app, gem or standalone).
  • integrate with git (or swappable to svn, etc with API)
  • (optional) DB inspector (like phpMyAdmin).

Customizable by code snippets/bundles written in Ruby.

Not limited to Ruby. Colorize/Syntax completion
HTML/CSS/Javascript/ERb/HAML/SASS/SQL.

And while were at it: Integrate with Johnson to run/debug JS.

Cheers,
Ed

Ed Howland

http://twitter.com/ed_howland

On Thu, Aug 26, 2010 at 4:56 PM, Ed Howland [email protected]
wrote:

So you got yourself a $3500 text editor? Congrats.

Yes! And I’ll never go back. :slight_smile:

I say the same thing about Emacs.


Greg D.
destiney.com | gregdonald.com

Johndel Deliyiannis wrote:

I feel that the whole community is supporting mac and textmate but I
found that this is a problem. We should use cross platform tools if we
want more people to try rails. All the screencasts I have seen are
using with textmate, for example how easy it is to setup an autotest
without growl, rspec without output from textmate etc.? How do you do
that with other editors, like komodoedit?

You don’t. You use the shell like God meant you to. :smiley:

I’ve said it before and I’ll say it again: Rails doesn’t need an IDE.
For Rails, your editor should just be a project-aware editor, not an
editor/shell/VCS manager/godknowswhatelse. Save the IDEs for frameworks
that need them.

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

I recommend Rubymine without any hesitation. Well worth the money.

I feel that the whole community is supporting mac and textmate but I
found that this is a problem. We should use cross platform tools if we
want more people to try rails. All the screencasts I have seen are
using with textmate, for example how easy it is to setup an autotest
without growl, rspec without output from textmate etc.? How do you do
that with other editors, like komodoedit?

Well, here we have it, everyone has their favorite and if it makes you
more productive and your development time more enjoyable, good on you.

Personally, I think diversity is a good thing. I for one don’t really
like all-in-one IDEs, other people do. Linux people generally already
have a favorite editor before they come to RoR and are happy they can
just keep on using it. TextMate on the Mac is a really nice editor,
but there are other valid choices as well. On Windows, you also have
plenty of choices. If you want Textmate on Windows, buy e-TextEditor:
it works the same, it almost looks the same and it uses the same
bundles as TextMate does. If you’d rather go with something else
you’re already used to, by all means, go for it. No one is touting any
editor as being “the editor for HTML & CSS”, “the editor for
Javascript development” or “the editor for PHP development”, so why
would there need to be one for RoR development?

Am I willing to spend money on a Mac (which is far less expensive than
$3500 btw)? Yes. Is it because of TextMate… hardly. It’s because
working on a Mac makes me a happy programmer and provides me with an
OS and application suite that feels solid and intuitive to me, i.e. a
Mac makes me more productive. Being productive leads to nice
applications which hopefully lead to a solid revenue for the company I
work for.
Do I get the same feeling on another platform? No. Is this a personal
preference? Yes. Should it matter to someone else what I’m spending my
hard earned money on? I don’t think so.
And besides, even if I would run Linux, you can be sure I would be
buying a powerful, i.e. > $1500, computer anyway. Why? Because I don’t
like waiting, whether that is due to lack of processing power or memory.
Do Macs come with a premium in terms of specs compared to what you can
get with a self-assembled PC? Most probably. Does it feel as a premium
when looking at a Mac as a whole, i.e. hardware, OS and applications?
Not at all.

On 27 Aug 2010, at 01:21, Yiannis wrote:

I say the same thing about Emacs.

Best regards

Peter De Berdt

On Fri, Aug 27, 2010 at 9:45 AM, Ed Howland [email protected]
wrote:

Some people just take to a language if it comes with a nice
environment to work in.

You mean like a bash prompt on Linux?


Greg D.
destiney.com | gregdonald.com

Peter makes very good points. Thanks for the wrap-up. (And I was just
being tongue-in-cheek about the my reasons for getting a Mac.)

Yiannis has a valid point too. There should be a nice X-Platform IDE
that ships with Ruby core or is at least considered the de-facto
standard. Some people just take to a language if it comes with a nice
environment to work in. Eclipse for Java, VS for C++. Just a personal
choice, but one that should be available, and might attract more
developers.

I think there is a golden opportunity here. Almost all the pieces
exist to create a community developed IDE. Perhaps limited in scope at
first, but extensible.

There is the TKText widget for the editor. guirb [1] for the irb
shell, and we can link to ruby-debug-ide for debugging support.

I think we have to figure out syntax colorizing, and code-completion.
Does anyone know of a tabbed window widget for Tk?

Also, is it possible to just eval Tk directly as a string? Then
additonal widgets could be added at runtime.

[1] GitHub - martindemello/guirb: Graphical IRB wrappers

Cheers,
Ed

Ed Howland

http://twitter.com/ed_howland

On Fri, Aug 27, 2010 at 4:49 AM, Peter De Berdt

Ed Howland wrote:

Yiannis has a valid point too. There should be a nice X-Platform IDE
that ships with Ruby core

Marnen Laibow-Koser wrote:

I’d be curious to see what the Ruby community could come up with. I do
like the idea of something like IDLE that’s actually designed for and
benefits typical Ruby projects.

I’d love to see the result of such a project. Can it be finished by
yesterday? :). I’d volunteer to help, but I’m too new to Ruby to
actually be helpful. :slight_smile:

Ed Howland wrote:
Some people just take to a language if it comes with a nice
environment to work in.

Marnen Laibow-Koser wrote:

A good OS, a good text editor, and a good terminal emulator make up a
very nice environment. Not everything needs an IDE.

It does, but it doesn’t appeal to the audience that Ed may be thinking
of. That audience is going to be drawn in much more quickly if they
can download a single package that a) includes both ruby and an IDE (a
low-footprint one similar to IDLE will do), b) does not require any
configuration c) does not require installation of other products
either before or after installation of the package to get started.

That is, I should be able to download, run an installer, click on a
icon, and starting typing ruby code into an editor that can execute
the ruby code. :slight_smile:

Python is very accessible that way. I had a professor in college who
is a big fan of Python, he’d use it for teaching in many of his
courses. The ability to download a single installer, run it, and get
going in IDLE made that possible.

Iain

Iain D. wrote:
[…]

It does, but it doesn’t appeal to the audience that Ed may be thinking
of. That audience is going to be drawn in much more quickly if they
can download a single package that a) includes both ruby and an IDE (a
low-footprint one similar to IDLE will do), b) does not require any
configuration c) does not require installation of other products
either before or after installation of the package to get started.

That is, I should be able to download, run an installer, click on a
icon, and starting typing ruby code into an editor that can execute
the ruby code. :slight_smile:

You can do that already. irb comes standard, and you can use any text
editor for files. If you want to run scripts, “ruby my_script.rb” will
do fine. Where’s the problem?

Python is very accessible that way. I had a professor in college who
is a big fan of Python, he’d use it for teaching in many of his
courses. The ability to download a single installer, run it, and get
going in IDLE made that possible.

Again: you can do this already. You already have a text editor and a
shell suitable for the purpose. Just as with Python, the only
installation necessary is the interpreter and standard library.

Iain

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

On Fri, Aug 27, 2010 at 12:20 PM, Iain D. > It does, but it doesn’t
appeal to the audience that Ed may be thinking

Python is very accessible that way. I had a professor in college who
is a big fan of Python, he’d use it for teaching in many of his
courses. The ability to download a single installer, run it, and get
going in IDLE made that possible.

Iain

I agree with Iain, here. I’m not trying to preach to the converted. Or
to further fan the flames in the editor/IDE wars. But lot’s of
universities have settled on Python for just that reason: jump in
simplicity.

I think that irb is nice. wirble even nicer. ruby-debug is great. But
these are all separate tools that you have to install (except for
irb).

And I agree with Iain that it should have a low footprint.

I checked out arcadia, but it blew on a missing (non-obvious)
dependency But it sounds like it might fit the bill, being X-platform
and based on Ruby/Tk.

As far as Tk goes. I am not particularly married to any one windowing
toolkit. Would wx, gtk or qt be a better fit, and still be X-platform?
I think we should target Windows, Linux and Mac. Tk caught my eye
because IDLE is written in it (Tkinter) and makes it a breeze to
create other desktop type apps in Python.

I know this sort of thing has been tried before. Scite, FXruby etc.
But since they have fallen (or nearly so) the radar, perhaps a fresh
approach is needed.

Cheers,
Ed

Ed Howland

http://twitter.com/ed_howland

Ed Howland wrote:

Peter makes very good points. Thanks for the wrap-up. (And I was just
being tongue-in-cheek about the my reasons for getting a Mac.)

Yiannis has a valid point too. There should be a nice X-Platform IDE
that ships with Ruby core

I’d be curious to see what the Ruby community could come up with. I do
like the idea of something like IDLE that’s actually designed for and
benefits typical Ruby projects.

(I don’t dislike IDEs in general, and I’m even using NetBeans for a
JRuby/Monkeybars/Swing project, and loving it. I just believe that IDEs
are completely inappropriate for Rails.)

or is at least considered the de-facto
standard.

Why?

Some people just take to a language if it comes with a nice
environment to work in.

A good OS, a good text editor, and a good terminal emulator make up a
very nice environment. Not everything needs an IDE.

Eclipse for Java,

What? No. Eclipse doesn’t come with Java, it’s not as nice as
NetBeans, and in fact Sun is behind NetBeans. Analogy FAIL. :slight_smile:

VS for C++.

Is that really an advantage?

[…]

I think there is a golden opportunity here. Almost all the pieces
exist to create a community developed IDE. Perhaps limited in scope at
first, but extensible.

No one is stopping you! I for one will be very, very interested to see
what you come up with.

There is the TKText widget for the editor. guirb [1] for the irb
shell, and we can link to ruby-debug-ide for debugging support.

I think we have to figure out syntax colorizing, and code-completion.
Does anyone know of a tabbed window widget for Tk?

Also, is it possible to just eval Tk directly as a string? Then
additonal widgets could be added at runtime.

Please, not Tk. The Ruby API is apparently awful, and the resulting
applications tend to be really ugly. This is probably a good candidate
for Swing/Monkeybars, or maybe wx.

[1] GitHub - martindemello/guirb: Graphical IRB wrappers

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

Ed Howland wrote:

On Fri, Aug 27, 2010 at 12:20 PM, Iain D. > It does, but it doesn’t
appeal to the audience that Ed may be thinking

Python is very accessible that way. I had a professor in college who
is a big fan of Python, he’d use it for teaching in many of his
courses. The ability to download a single installer, run it, and get
going in IDLE made that possible.

Iain

I agree with Iain, here. I’m not trying to preach to the converted. Or
to further fan the flames in the editor/IDE wars. But lot’s of
universities have settled on Python for just that reason: jump in
simplicity.

Really? Or is it simply that Python has had longer to get traction than
Ruby? Ruby has the same jump-in simplicity as Python – in fact, it has
more, since it’s easier to write working code in Ruby (IMHO – I can’t
seem to get anything done in Python, and I know of other Ruby developers
who feel similarly).

Do you know of anyone who actually chose Python over Ruby based solely
(or mostly) on the presence of IDLE?

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

Ed Howland wrote:

[…]

I think that irb is nice. wirble even nicer. ruby-debug is great. But
these are all separate tools that you have to install (except for
irb).

I’ve never used Wirble as far as I recall. ruby-debug is one gem.
Where’s the big barrier?

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

Iain D. wrote:

That is, I should be able to download, run an installer, click on a
icon, and starting typing ruby code into an editor that can execute
the ruby code. :slight_smile:

Marnen Laibow-Koser wrote:

You can do that already. irb comes standard, and you can use any text
editor for files. If you want to run scripts, “ruby my_script.rb” will
do fine. Where’s the problem?

Not quite the same. irb can execute code, but (at least I believe this
to be true, I’m still new around here…) it isn’t an editor. Yes, you
can edit code in a text editor, and execute code from the command
line…but that doesn’t fulfill the criteria.

There’s still going to be folks that aren’t going to be interested in
a product where they have to go to the command-line/shell to start
using the product. The idea isn’t even part of their world-view, even
if they have a vague notion of what a shell is.

I switch back and forth across the GUI/shell dividing line pretty
frequently, but that sort of thing was a complete mystery to most of
the people I’ve worked with in the past. On occasion, when we had
projects that there just wasn’t GUI tools for, I had do some
hand-holding through those portions of the project.

My own preference right now for Ruby/Rails is Emacs+shell, but I’ve
worked with folks for whom that’d be an exercise in frustration. Both
come from an entirely different world than the one they know.

I think the question to ask is: As Rubyists, what do we want them to
learn? Ruby.

So everything else [installation, editing, execution, debugging]
should be provided in a form familiar to the target audience and
arranged so that it is transparent/smooth. Whatever the solution (IDE
or some other clever idea) it should follow the conventions of the
platform/OS it is being installed/used on.

Absolutely nothing wrong with Shell+Favorite text editor. That’s a
route I go often. For me, it is the fastest route to producing code,
because I already know that environment. Eclipse was a frustration to
me, because I needed to be writing code (Java at the time), but
instead I was spending the time learning Eclipse. Eventually, I’ll
have to admit the bias that created and give Eclipse another try. :slight_smile:

However, the combination of tools that I find familiar and comforting,
could be an exercise in frustration for someone else. For instance,
someone very familiar with Eclipse would be much happier learning Ruby
on that platform (provided the platform supports Ruby). It is
frustrating to have X to be your goal, and have to slog through Y and
Z.

I admit, it may not be possible to provide comfortable and familiar
tools to every potential Rubyist. On the other hand, there’s no reason
not to try. If a new IDE brings in another segment of the audience,
there’s that many more folks using and a few them helping to improve
Ruby. We all benefit from an influx of new ideas from a segment of the
population previously unrepresented.

Okay, I’ll stop flogging this horse, I already have a far longer
message than necessary. :slight_smile:

Iain

As far as Tk goes. I am not particularly married to any one windowing
toolkit. Would wx, gtk or qt be a better fit, and still be X-platform?
I think we should target Windows, Linux and Mac. Tk caught my eye
because IDLE is written in it (Tkinter) and makes it a breeze to
create other desktop type apps in Python.

I’ve not had experience with Tk, gtk, or qt. I will say I’ve used
wxWidgetsC++ in the past and I was impressed by it. I don’t know if
wxRuby carries with it the same qualities as its C++ counterpart,
though. But this discussion makes me interested in giving it a spin.
:slight_smile:

Iain