Why Ruby does not nead an ide

1: ruby is an efisiont clean languige that is digsined to minamize
boilerplate code
2: lets say you have an array of strings and you want to find all
strigs that maches a patern and print them space seperated
<code>
i = %w{foo bar baz qux quux quuux quuuux}
puts i.find_all{|x| x =~ /qu+x/}.join(' ')
</code>
3: java on the other hand has a lot of boiler plate like setters and
getters. i chose java because of the good ide suport. I am a emacs guy
and what i like about it is this lets say you want to deleat a block

C-space C-S end
C-w

I am much more efective with ruby and emacs than with eclipce and java
becaus the languige is almost sudocode like this echo utilaty or the
mach utilaty above

<code>
puts ARGV.join(' ')
</code>

unknown wrote:

1: ruby is an efisiont clean languige that is digsined to minamize
boilerplate code

That's what's wonderful about Ruby, but that doesn't mean it doesn't
need an IDE. IDE is not about 'boilerplate code'. It's about easy of
coding, viewing, and debugging code.

2: lets say you have an array of strings and you want to find all
strigs that maches a patern and print them space seperated
<code>
i = %w{foo bar baz qux quux quuux quuuux}
puts i.find_all{|x| x =~ /qu+x/}.join(' ')
</code>

Again, this has nothing to do with an IDE.

3: java on the other hand has a lot of boiler plate like setters and
getters. i chose java because of the good ide suport. I am a emacs guy
and what i like about it is this lets say you want to deleat a block

C-space C-S end
C-w

I am much more efective with ruby and emacs than with eclipce and java
becaus the languige is almost sudocode like this echo utilaty or the
mach utilaty above

<code>
puts ARGV.join(' ')
</code>

And again... Just because it's easier to write Ruby code does not mean
we don't need an IDE.

I can write any language I know on a whiteboard. That doesn't mean I
don't need an IDE to be most productive.

On a side note, Quanta's voting system has an item for Ruby code
completion that was just confirmed. Anyone interested might want to add
their weight to it. A link for those who care:
http://bugs.kde.org/show_bug.cgi?id=129279

···

--
Posted via http://www.ruby-forum.com/\.

atbusbook@aol.com wrote:

1: ruby is an efisiont clean languige that is digsined to minamize
boilerplate code
2: lets say you have an array of strings and you want to find all
strigs that maches a patern and print them space seperated
<code>
i = %w{foo bar baz qux quux quuux quuuux}
puts i.find_all{|x| x =~ /qu+x/}.join(' ')
</code>
3: java on the other hand has a lot of boiler plate like setters and
getters. i chose java because of the good ide suport. I am a emacs guy
and what i like about it is this lets say you want to deleat a block

C-space C-S end
C-w

I am much more efective with ruby and emacs than with eclipce and java
becaus the languige is almost sudocode like this echo utilaty or the
mach utilaty above

<code>
puts ARGV.join(' ')
</code>

Nothing really to say, just thought I'd make the subject a bit more appropriate.

···

--

atbusbook@aol.com wrote:

1: ruby is an efisiont clean languige that is digsined to minamize
boilerplate code
2: lets say you have an array of strings and you want to find all
strigs that maches a patern and print them space seperated
<code>
i = %w{foo bar baz qux quux quuux quuuux}
puts i.find_all{|x| x =~ /qu+x/}.join(' ')
</code>
3: java on the other hand has a lot of boiler plate like setters and
getters. i chose java because of the good ide suport. I am a emacs guy
and what i like about it is this lets say you want to deleat a block

One would wonder why he enumerated random unrelated points...

2: lets say you have an array of strings and you want to find all
strigs that maches a patern and print them space seperated
<code>
i = %w{foo bar baz qux quux quuux quuuux}
puts i.find_all{|x| x =~ /qu+x/}.join(' ')
</code>

grep?

<code>
puts ARGV.join(' ')
</code>

Emacs *is* an IDE. It just doesn't have "advanced" features like code
completion based on the type of the objects.

I don't know, as a recent arrival from Java I sure miss my IDE.

- Having a background parser running all the time means I never save a file with a syntax error.
- It's totally silly that I have to type method names for things like File and IO and so on, the system should guess them for me
- Refactoring! I find that I want to change the names of classes and fields and methods quite often, and having the IDE do it is a big time-saver.
- In NetBeans there's this window on the side (I'm sure Eclipse has the same thing) called the "Navigator", which is just a list of all the methods and fields in the file you're editing, you click on any of them to go there; huge time-saver.
- One-click to run the tests for whatever the cursor's on
- One-click to find all usages of whatever the cursor's on
- One-click to open the docs for whatever the cursor's on
- scope-sensitive select. Expand scope to current block, next enclosing scope, next, next, etc

Yeah, you can do something in Ruby in a third the lines of code that Java would take. But you might be able to write the Java about as fast, with a good IDE.

[Oh, btw, I know that dynamic typing makes some of these things a lot harder than for statically-typed languages like Java. Doesn't mean they wouldn't be helpful.]

  -Tim

I think it's fair to say that Ruby removes the *need* for an IDE but that doesn't mean it can't benefit from one. A bit like living in walking distance of work and the shops means you don't need a car, but there are times when it still comes in handy.

When RadRails has a visual debugger, then I will be tempted to start using it (but probably still set TextMate as the default editor). I'll still do all my admin scripts using an editor and shell though.

Ashley

···

On Aug 26, 2006, at 10:40 am, William Crawford wrote:

1: ruby is an efisiont clean languige that is digsined to minamize
boilerplate code

That's what's wonderful about Ruby, but that doesn't mean it doesn't
need an IDE. IDE is not about 'boilerplate code'. It's about easy of
coding, viewing, and debugging code.

"William Crawford" <wccrawford@gmail.com> wrote in message
news:78392af611b0461304d3a6f278cb140e@ruby-forum.com...

unknown wrote:

1: ruby is an efisiont clean languige that is digsined to minamize
boilerplate code

OK, let me say up front that (for, perhaps, obvious reasons) I have very
strong views on IDEs. :wink:

If you want to find a tersely expressed language, you need look no further
than Smalltalk. Then look at the Smalltalk IDE. This is built from the
ground up to support the language - editing, browsing, debugging,
evaulating, inspecting, navigating the code. The Smalltalk language is an
intrinsic part of its IDE.

Now look at the way that Smalltalk code is structured. Typically it has lots
of classes with many 'levels' of descent. Each class has many methods that
rely upon ancestor classes. The code in any one method is often just 1 or 2
lines long. A really long method may be 10 lines or so long.

Now look at Ruby code. In my experience, most Ruby coders write big classes
with very few ancestors. Moreover, Ruby methods are typically (by comparsion
with Smalltalk) huge. In my view, this style of coding is relatively verbose
and takes little advantage of the real benefits of OOP.

So why do people code Ruby (typically) in a more verbose manner than
Smalltalk? In my view, this has nothing do do with the language itself and
everything to do with the environment. Lacking a really good IDE, Ruby makes
it hard to navigate the class hierarchy, to find the methods of ancestors
and derive new methods from them. So people do a lot of unnecessary
recoding. If Ruby had a Smalltalk-like IDE, I am sure that people would
rapidly start coding in a much terser style taking greater advantage of the
ancestor/descendent relationship of classes.

best wishes
Huw Collingbourne

http://www.sapphiresteel.com
Ruby Programming In Visual Studio 2005

Murdoc wrote:

Nothing really to say, just thought I'd make the subject a bit more appropriate.

<troll>
Speaking of which, is there any way to block anything he sends and quotes in replies? I swear I feel my ability to write proper English leak out my ears from that.
</troll>

David Vallner

Squeamizh wrote:

One would wonder why he enumerated random unrelated points...

Pathological incoherence. Just check his other threads.

The fact he never actually tries to defend his "points" or does anything beyond delivering a random, horribly spelled, and usually very vapid rant would also indicate he's either just a very unskilled troll, or a gruesome attention-seeker.

Then again, I now know what to put on the wishlist for email clients I use: mail filters acting on whole threads.

+++ END OF TROLL FOOD +++

David Vallner

AMEN. I'm glad I'm not the only one tired of hearing Emacs users belittle
IDE users, as though they're running any closer to bare metal. For a
language like Ruby, for which code completion, refactoring, and similar
features are much harder (or impossible) to implement, there's very little
difference in weight between a nice IDE and Emacs. Last time I checked,
Emacs was pretty damn big.

···

On 8/26/06, julesjacobs@gmail.com <julesjacobs@gmail.com> wrote:

Emacs *is* an IDE. It just doesn't have "advanced" features like code
completion based on the type of the objects.

--
Contribute to RubySpec! @ Welcome to headius.com
Charles Oliver Nutter @ headius.blogspot.com
Ruby User @ ruby.mn
JRuby Developer @ www.jruby.org

It's even more than an IDE. It's an operating system.

···

On Sun, Aug 27, 2006 at 01:51:49PM +0900, julesjacobs@gmail.com wrote:

Emacs *is* an IDE. It just doesn't have "advanced" features like code
completion based on the type of the objects.

--
CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ]
unix virus: If you're using a unixlike OS, please forward
this to 20 others and erase your system partition.

julesjacobs@gmail.com writes:

2: lets say you have an array of strings and you want to find all
strigs that maches a patern and print them space seperated
<code>
i = %w{foo bar baz qux quux quuux quuuux}
puts i.find_all{|x| x =~ /qu+x/}.join(' ')
</code>

grep?

<code>
puts ARGV.join(' ')
</code>

Emacs *is* an IDE. It just doesn't have "advanced" features like code
completion based on the type of the objects.

It can be done, check out slime (mode for lisp).

···

--
Surendra Singhi
http://ssinghi.kreeti.com, http://www.kreeti.com
Read my blog at: http://cuttingtheredtape.blogspot.com/
,----

"War is Peace! Freedom is Slavery! Ignorance is Strength!"
    -- Orwell, 1984, 1948

`----

Tim Bray wrote:

[Oh, btw, I know that dynamic typing makes some of these things a lot harder than for statically-typed languages like Java. Doesn't mean they wouldn't be helpful.]

Komodo somehow managed the last time I tried with Python. It would offer autocomplete for all method calls it saw used on the same object in that method before, and all methods for an object that was created in that method. Wonder if they have the equivalent done with Ruby - haven't tried the versions with support for the language yet. You might want to have a look though. The personal license isn't that expensive either, and probably for work, neither the commercial one if you're in a position to pester your boss for development tools.

David Vallner

OK, let me say up front that (for, perhaps, obvious reasons) I have very
strong views on IDEs. :wink:

You don't say . . . !

If you want to find a tersely expressed language, you need look no further
than Smalltalk. Then look at the Smalltalk IDE. This is built from the
ground up to support the language - editing, browsing, debugging,
evaulating, inspecting, navigating the code. The Smalltalk language is an
intrinsic part of its IDE.

Now look at the way that Smalltalk code is structured. Typically it has lots
of classes with many 'levels' of descent. Each class has many methods that
rely upon ancestor classes. The code in any one method is often just 1 or 2
lines long. A really long method may be 10 lines or so long.

This is, as you hint below, pretty damned difficult to navigate and work
with outside of an IDE. Unfortunately, it also tends to require that
everyone use the same IDE for everything to work out nicely. This is
fine when working in a closed shop that standardizes on specific
toolsets as well as specific languages, but is less than perfectly
optimal for highly distributed open source software development projects
and the like.

Now look at Ruby code. In my experience, most Ruby coders write big classes
with very few ancestors. Moreover, Ruby methods are typically (by comparsion
with Smalltalk) huge. In my view, this style of coding is relatively verbose
and takes little advantage of the real benefits of OOP.

So why do people code Ruby (typically) in a more verbose manner than
Smalltalk? In my view, this has nothing do do with the language itself and
everything to do with the environment. Lacking a really good IDE, Ruby makes
it hard to navigate the class hierarchy, to find the methods of ancestors
and derive new methods from them. So people do a lot of unnecessary
recoding. If Ruby had a Smalltalk-like IDE, I am sure that people would
rapidly start coding in a much terser style taking greater advantage of the
ancestor/descendent relationship of classes.

Frankly, it's more the "framework" aspect of environments like Squeak
that provides this than the IDE aspect (though both characteristics do
play a part). I don't mean that a framework in the Rails idiom is
necessarily appropriate to general-purpose programming or necessary for
allowing such fine-grained decoupling and code segregation. I mean that
a set of pre-existing code generation defaults that is well designed and
relatively comprehensive within the realm of the sort of work you're
doing is what's needed to provide that sort of convenience.

···

On Sat, Aug 26, 2006 at 07:40:20PM +0900, Huw Collingbourne wrote:

--
CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ]
print substr("Just another Perl hacker", 0, -2);

Chad Perrin wrote:

···

On Sun, Aug 27, 2006 at 01:51:49PM +0900, julesjacobs@gmail.com wrote:

Emacs *is* an IDE. It just doesn't have "advanced" features like code
completion based on the type of the objects.

It's even more than an IDE. It's an operating system.

Ah ... but Forth is an assembler, language, interpreter, compiler, IDE
*and* an OS! Well ... it used to be an OS, anyhow. :slight_smile: Sadly, there *is*
a set of Emacs bindings for Forth :(.

Charles O Nutter wrote:

···

On 8/26/06, julesjacobs@gmail.com <julesjacobs@gmail.com> wrote:

Emacs *is* an IDE. It just doesn't have "advanced" features like code
completion based on the type of the objects.

AMEN. I'm glad I'm not the only one tired of hearing Emacs users belittle
IDE users, as though they're running any closer to bare metal. For a
language like Ruby, for which code completion, refactoring, and similar
features are much harder (or impossible) to implement, there's very little
difference in weight between a nice IDE and Emacs. Last time I checked,
Emacs was pretty damn big.

I don't know about Emacs, but xemacs-sumo was bigger than OpenOffice.org
the last time I looked. :slight_smile:

Please be kind.

M.T.

Charles O Nutter wrote:

I'm glad I'm not the only one tired of hearing Emacs users belittle
IDE users, as though they're running any closer to bare metal.

Now this is one phenomenon I never understood. Why is that a good thing?!

David Vallner

David Vallner wrote:

Tim Bray wrote:

[Oh, btw, I know that dynamic typing makes some of these things a lot
harder than for statically-typed languages like Java. Doesn't mean they
wouldn't be helpful.]

Komodo somehow managed the last time I tried with Python. It would offer
autocomplete for all method calls it saw used on the same object in that
method before, and all methods for an object that was created in that
method. Wonder if they have the equivalent done with Ruby - haven't
tried the versions with support for the language yet. You might want to
have a look though. The personal license isn't that expensive either,
and probably for work, neither the commercial one if you're in a
position to pester your boss for development tools.

David Vallner

I just checked again, and their page say 'full support' for several
languages including Ruby, but when you go to the 'compare versions'
page, autocomplete doesn't have Ruby listed. As that would be the only
reason I would buy it, I find that a shame.

It's worth noting that KDE's Quanta wishlist has just confirmed Ruby
autocomplete as a wish. More people may want to vote on it and make it
happen. 129279 – ruby auto complete class method variables built-in and user defined

···

--
Posted via http://www.ruby-forum.com/\.