On Tue, Apr 12, 2011 at 9:45 PM, Phillip Gawlowski
<cmdjackryan / googlemail.com> wrote:
> On Tue, Apr 12, 2011 at 6:11 PM, Martin DeMello <martindemello / gmail.com> wrote:
>>
>> He does raise a good point - it would be nice to have a classic 3 pane
>> IDE (files, program text, output window) that bundled a copy of ruby
>> in an all-in-one installer, so that you just launched it, typed in
>> some code, ran it, and saved it when you were happy with it. It
>> needn't be very powerful in the grand scheme of things, just trivial
>> to install and run "hello world" from.
>
> So, a package like NetBeans 6.9, then, which includes an IDE (I don't
> think that a total newby to programming should have to deal with a
> full fledged IDE, though, considering the mental overhead *that*
> introduces), and a JRuby runtime, all in one installer.

Yep, though NetBeans is way overkill for the task. Something small and
ruby-focused would be ideal (though since the OP asked for rails as
well, maybe NetBeans or Eclipse with a few ruby and rails plugins
really would be the better way to go). Here's the sort of feature list
I have in mind:

1. A metainstaller that installs ruby (I'm thinking RVM on linux and
the one-click installer on windows) and the IDE
2. The IDE will be preconfigured with the ruby and gem paths that the
installer installs into
3. A GUI for the common gem commands (install/uninstall/list
installed/search remote)
4. A "run" button, with output pane.
5. A file pane listing the contents of the current working directory
(so that the user can see what 'require_relative' can access)
6. A plugin architecture that allows frameworks like rails to supply
plugins that
6a. generate a project skeleton
6b. augment the "run" button as needed (in rails's case, for example,
starting up the webserver and/or reloading all the code)

The common view of an IDE is as something that helps people with
*language* features, but I think an even bigger win for a newcomer is
something that helps setup and maintain an environment within which he
can write code.

martin