Why is there no Smalltalk-like IDE for Ruby?

On 6/25/06, Julian G. [email protected] wrote:

carmen wrote:

i guess you dont mind committing to a niche of niches …

Windows has been called many things but I’ve never heard it called
“niche” before.

I’d like to hear people refer to Windows as a niche more often :slight_smile:

Peter

On 6/25/06, carmen [email protected] wrote:

well hopefully Huw doesnt listen to our discouragement and proceeds to make a kickass IDE anyway :smiley:

A lot of people say they don’t need an IDE to do Rails. Well duh, if
you’re getting by without one then you don’t NEED it.

But the tone of these “I don’t need an IDE” comments suggests that an
IDE would be bothersome. That’s pretty laughable, assuming someone
comes out with a good, simple IDE. TextMate with code completion
(yes, I know about snippets), class browser, and refactoring support
would kick major ass. Sure we do fine without them right now, but I
doubt I could find someone who genuinely does not want those tools.

Pat

Lets face it. Almost all errors that we do in Ruby are single line
errors because of either spelling or wrong parameters.

Wouldn’t that issue be solved by intellisense and design-time syntax
checking (like VS has)? And if yes, that time would easily off-set any
cost of the tool :slight_smile:

In addition, usually the the project the more complex bugs there are.
I am working on a fairly large project right now (approx. 500 business
objects) and most of the bugs are not syntax issues. Obviously a nice
debugger would help here…

Personally, I would like to have the best debugging tools possible for
Rails applications. Suffice to say that we are trying to work out ways
of implementing some :slight_smile: so I have a keen personal interest in
understanding the kinds of tools which Rails developers would find
useful (even if those tools do not currently exist).

How about a “feature” where the IDE would let me correct the code
WHILE debugging without requireing to restart the server/resubmit the
request? Same functionallity that VB has had for ages…(ducks for
cover)

Raf

On 6/26/06, Rafael S. [email protected] wrote:

Lets face it. Almost all errors that we do in Ruby are single line
errors because of either spelling or wrong parameters.
Wouldn’t that issue be solved by intellisense and design-time syntax
checking (like VS has)? And if yes, that time would easily off-set any
cost of the tool :slight_smile:

Except that useful intellisense is damned-near next to impossible in
Ruby the way that Ruby works. And, frankly, I find that IDEs get in
my way
of developing. They require that you think a particular way to
program. Well, guess what: I don’t think that way. I am at least as
productive – and on more platforms – as my colleagues who depend on
VS for their C++ work. I honestly have yet to need anything more
complex than syntax highlighting for gvim with Ruby development.

-austin

Austin Z. * [email protected] * http://www.halostatue.ca/
* [email protected] * You are in a maze of twisty little passages, all alike. // halo • statue
* [email protected]

On 6/26/06, Rafael S. [email protected] wrote:

Personally, I would like to have the best debugging tools possible for
Rails applications. Suffice to say that we are trying to work out ways
of implementing some :slight_smile: so I have a keen personal interest in
understanding the kinds of tools which Rails developers would find
useful (even if those tools do not currently exist).
How about a “feature” where the IDE would let me correct the code
WHILE debugging without requireing to restart the server/resubmit the
request? Same functionallity that VB has had for ages…(ducks for
cover)

This, of course, misunderstands the fundamental behaviour of Ruby. I
don’t think that this would be possible in the current Ruby
environment. It may be possible in future environments. It’s certainly
beyond the scope of a mere IDE. It’s a language/interpreter change.

-austin

Austin Z. * [email protected] * http://www.halostatue.ca/
* [email protected] * You are in a maze of twisty little passages, all alike. // halo • statue
* [email protected]

Great conversation, everyone. I’d like to extend an extra-hardy
‘thank you’ to Huw, Jeff R., and Raf.

But (and isn’t there always a “but”, and usually a “butt”?), I feel
that one argument/theme is orthogonal to the “Why is there no
Smalltalk-like IDE for Ruby?” discussion: the “We don’t need one”
argument. Several people have stated that they just can’t imagine
when they would use full featured IDE functionality in their daily
Ruby or Rails development.

The key word here is “imagine”. I’m willing to bet that most of those
who don’t see the need for a full featured Java or Smalltalk-like IDE
have never used one, have never worked on a large-scale application
with an IDE, or have never maintained a complicated application with
and IDE. They have never had that “ah-ha!” moment where hours of
tedious work was accomplished in seconds, and the doors what they
could be doing were opened.

And they have definitely never had those tools taken away.
Otherwise their comments would not be in this discussion, and they
would not reply to this post. And if you are thinking about hitting
the Reply button to say “but it isn’t very hard to figure out X or to
fix Y or to just remember Z”, then, as Raf said before, what if you
didn’t have to? What else could you be doing?

The “what I could be doing instead of X” part is key: rich tools can
lessen the, well, crappy parts of software development and help the
developer focus on adding value. This gets deeper into why I care so
much about this, deeper into my philosophy about software development:
I am not paid to prove how much I can memorize. I am not paid to
prove how well I can code while trapped on an island with only a bash
shell, vi, and a college CS textbook. I am not paid to prove that I
can quickly cycle between and translate between 5 unrelated tools. I
am not paid to be an Amish programmer. I am not paid to be a
“tougher” programmer. Instead, I am paid to produce value. And if a
rich toolset can help me produce value, and maintain value, then I
want that toolset. Not only that, my employer/customer/client wants
me to have that toolset.

And a funny thing happens when I add a lot of value: I do feel proud
of myself. I do feel proud of what I’m producing. I get excited
about my projects. I forget that I’m getting paid and instead think
about how much fun I’m having. I stop thinking of my code as code and
starting thinking of it as art.

As the great philosophers Cinderella once said, you “Don’t Know What
You Got (Till It’s Gone)”.

– Joe

On 6/26/06, Joseph M. [email protected] wrote:

The key word here is “imagine”. I’m willing to bet that most of those
who don’t see the need for a full featured Java or Smalltalk-like IDE
have never used one, have never worked on a large-scale application
with an IDE, or have never maintained a complicated application with
and IDE. They have never had that “ah-ha!” moment where hours of
tedious work was accomplished in seconds, and the doors what they
could be doing were opened.

The ah-ha moments that I’ve had have never come from the IDE, Mr
Moore. I have used probably a half-dozen IDEs at various times in my
development career – and aside from nice interactive debuggers,
they’re all good at generating poor code and helping developers forget
how to write good, tight code. :wink:

And they have definitely never had those tools taken away.
Otherwise their comments would not be in this discussion, and they
would not reply to this post. And if you are thinking about hitting
the Reply button to say “but it isn’t very hard to figure out X or to
fix Y or to just remember Z”, then, as Raf said before, what if you
didn’t have to? What else could you be doing?

Again, you’re wrong. I had to do something in C++ recently that wasn’t
supported by the IDE, but saved us a lot of time and heartache in
development. For the first 15 instances of this something, I did it
manually. After that, I wrote a code generator – in Ruby – and now I
routinely generate 70 classes to do what I need for this part of the
code. The IDE didn’t support me here. I supported me. I had a need, I
got the job done. In part because I’m not constrained to thinking
“what can the IDE do for me?”

If I got used to a tool and it was taken away, I would either try to
figure out how to use the tool anyway – or I would make an
alternative, if the tool mattered enough.

[…] I
am not paid to be an Amish programmer. I am not paid to be a
“tougher” programmer. Instead, I am paid to produce value. And if a
rich toolset can help me produce value, and maintain value, then I
want that toolset. Not only that, my employer/customer/client wants
me to have that toolset.

Yes, that’s true. But IDEs will only provide x% more value. Smarter
programming – and being willing to roll your own tools if you need –
will often provide x^2% more value.

Reality check: if you know your low-level tools well, you will often
be as productive or more productive than you would ever be in an IDE.
There are some things for which an IDE is perfect. Debugging can be
one (but more often than not, you’ll have to loop through a bunch of
code; I always start with debug output statements – tracers, if you
will). GUI design can be another. IntelliSense, however, is of limited
use. I’ll use it from time to time when I’m having to deal with a
particularly large and stupid API (C++ STL or MFC anyone?), but I can
often get my code working faster without it getting in the way.

You might want to be careful with your assumptions. They might bite
you on the ass some day.

-austin

Austin Z. * [email protected] * http://www.halostatue.ca/
* [email protected] * You are in a maze of twisty little passages, all alike. // halo • statue
* [email protected]

Thanks for all the ideas, folks!

While I certainly do not believe that a good IDE makes for good coding,
you will not be surprised to know that my prejudice is very much in
favour of an IDE :wink:

I have been through the text-edit/compile/debug style of development
many years ago and do not feel any great desire to return to it. In my
opinion, the Smalltalk IDE developed in the late '70s/early '80s was one
of the most important innovations in programming and, yes, I too had
that “aha!” moment…!

Incidentally, a few people have remarked that certain IDE features would
be ‘impossible’ for Ruby. I don’t want to say too much on that subject
at the moment. However, let’s just say that I don’t think that they are
all necessarily impossible. Difficult, yes. But not impossible…

best wishes
Huw
http://www.sapphiresteel.com

On Mon, 26 Jun 2006 02:08:57 -0400, Austin Z. wrote:

Except that useful intellisense is damned-near next to impossible in
Ruby the way that Ruby works.

That said, IIUC someone’s working on that for RDT during the Summer of
Code. Obviously, it can’t be perfect, with method_missing, but perhaps
they’ll surprise us.

Jay L.

carmen wrote:

I’m afraid we do not support the free Express editions of VS. We would
if we could but Microsoft has not enabled the plugin capabilities of
those versions so we have been unable to support them. Ruby In Steel
requires a minimum of Visual Studio 2005 Standard Edition. The full
price of this edition is $299

add to that Windows XP Professional, which $189? $249? i admire your
efforts, i guess you dont mind committing to a niche of niches, with the
$500 outlay and microsoft requirement eliminating probably 80% then 95%
on top of that potential developers.

sigh
Here’s another that wants everything for free…

Joseph M. wrote:

Great conversation, everyone. I’d like to extend an extra-hardy
‘thank you’ to Huw, Jeff R., and Raf.

But (and isn’t there always a “but”, and usually a “butt”?), I feel
that one argument/theme is orthogonal to the “Why is there no
Smalltalk-like IDE for Ruby?” discussion: the “We don’t need one”
argument. Several people have stated that they just can’t imagine
when they would use full featured IDE functionality in their daily
Ruby or Rails development.

I agree.
You have those people on the board that just want to argue without
putting much thought into want they are saying.
But most of them just want us to believe that they are the “SUPER”
developer.
The way that they talk about themselves, you wonder if they even need a
computer at all.

As I said, I agree with you Mr. Moore and I also believe that Ruby would
be in a much better place if it had a great IDE.

Please don’t respond to this Austin, because I’m done with this thread.

<…>

The key word here is “imagine”. I’m willing to bet that most of those
who don’t see the need for a full featured Java or Smalltalk-like IDE
have never used one, have never worked on a large-scale application
with an IDE, or have never maintained a complicated application with
and IDE. They have never had that “ah-ha!” moment where hours of
tedious work was accomplished in seconds, and the doors what they
could be doing were opened.

Assumptions, assumptions. Did you forget that Ruby is not Java and
workflow
is not exactly the same?

<…>

The “what I could be doing instead of X” part is key: rich tools can
lessen the, well, crappy parts of software development and help the
developer focus on adding value.
<…>

The thing is - many of the crappy parts of software development are
by design removed from Ruby on Rails.

Regards,
Rimantas

http://rimantas.com/

Austin Z. wrote:

The ah-ha moments that I’ve had have never come from the IDE, Mr
Moore. I have used probably a half-dozen IDEs at various times in my
development career – and aside from nice interactive debuggers,
they’re all good at generating poor code and helping developers forget
how to write good, tight code. :wink:
I’ve used as many IDEs and a number of editors for various development.
I’m typically not a fan of code-generation; but I had an ah-shit moment
lately. I work primarily with Java in my non-crime-fighting day-job.
We’ve recently had to switch back to the VS IDE and get a bridge DLL
working for a client to call into our application via web services.
I’ve been hunting for a plugin, but I can’t find even a simple “property
getter/setter” generator; so I’ve had to code a bunch of tedious stuff
by hand. (The point here is not that I’m stupid because I couldn’t
google enough to find xxx plugin, but that my productivity has suffered
greatly by the lack of an easily obtainable generator. Today, the
morning will be spent writing a Ruby script for C# code generation.)

I’m glad you don’t need an IDE. I don’t need one either… But
sometimes they sure come in handy if they are written well. I would
dare say they are downright indispensable in a large-sized Java app.

I could list a long list of things I love about Eclipse (including it’s
intelligence of Java) and a few things I don’t like about it (freezing
while editing JSP pages, etc). An IDE could reduce the frequency of
some questions on this list (for instance when an object is not
recognized in the includes paths, etc). It could also provide many
benefits for those who would like one. It could probably even be
written in Ruby. :slight_smile:

-Curtis

I have never used smalltalk and I am a RoR newb…but I’ve been using
RadRails (www.radrails.org) and it’s pretty decent considering it’s free
(eclipse based so also cross-platform). It’s made specifically for
Rails, so I guess some specific Rails nice-to-have features should be
available either now or soon if it’s still under developpment.

P.S. No idea why but the at the time of writting this the link was not
working…


Jackdan

On Mon, 2006-06-26 at 15:12 +0200, Reggie Mr wrote:

on top of that potential developers.

sigh
Here’s another that wants everything for free…


not an entirely uncommon notion from a Linux/BSD user - please don’t dis
on the logic.

Those that use Linux or BSD generally recognize the limitations which
are narrowing all the time.

I will point out that while I am developing software for a non-profit
organization, the development environment being a “free” source is
important not only because of the 1-time cost for the development tools
not being expended but also no need to furnish the same tools for others
who collaborate, no need to purchase an endless stream of ‘feature’ or
‘compatibility’ upgrades, no subjugation to corporate whim which may get
bought out or simply discontinue a product.

Craig