Komodo is the IDE for Ruby and Ruby on Rails!

There must be something wrong with my image, then. I’m missing both
syntax coloring and prettyPrint. I can manually color the text an
arbitrary color, that’s it.

Alternatively, maybe I’m just being grumpy. Googling “ide vs text
editor” turns up a lot of results.

On 2/24/07, Martin DeMello [email protected] wrote:

debugger, etc.
Creating Passionate Users: Are our tools making us dumber?

Kathy Sierra seems to disagree with me. Interesting read.

martin

On 2/27/07, Klaus R. [email protected] wrote:

the power
(.class). There could be jBasic, jCobol etc.
(even from project independent poeple).
TRICKY code - in this way - must be named as DIRTY code!
There are too many symbols with special meaning.

OK OK, I’ll bite about the first parts…

Any language, human or computer, effects how you think about the
problem at hand. I can’t cite anything off the top of my head, and
I’m at work so I can’t exactly go looking it up :wink: but there is
research that shows that point.
Programming languages, and human languages, all lack clarity when
they are being abused, used by people who don’t know them well (like
those who are learning and often post basic questions on this list),
and those who are in the habit of using them poorly. To those who
know Perl, Ruby and even Lisp*, they make immediate sense, and are as
clear as any diagram of psudocode on the white board. If you think in
a language, you’ve found the legendary DWIM (Do What I Mean).

And I’ll bring up one more thing. What about the joy of learning the
language? The joy of learning what makes things work? In real code,
yes, the idea of writing the shortest possible program may be silly,
but when learning, when exploring, it’s important to do things like…
Write a self replicating program; Try and make a basic xml validation
method in 100 lines or less; Write Conway’s game of life in as few
calls as possible. Immediately useful? No. Ultimately makes someone
a better programmer? Probably. Ultimately make someone a more fluent
programmer in that language? Definitely.

Heck when you teach people a foreign language you do the same
thing. At some point you have to show them how to play with the
sticky nasty bits of it, otherwise the learner never will gain the
full understanding, the full polish of the language. Think of: the
use of a and an in English; the use of the colons and semicolons I
abuse so regularly; the tricks to make grammatically correct paragraph
long sentences; the use of the apostrophe, which seems to elude the
grasp of many native speakers now a days.

–Kyle A. Schmitt

  • OK yes there are languages that make no reasonable sense at all,
    BF unLambda and VB6 come to mind.

This discussion is plain crazy. Yes it is crucial that students learn
all of the low level underlying concepts in their chosen endevour, but
don’t force inadequate tools on people who write for a living and need
to be as productive as possible.

When I started programming 20+ years ago I did everything in Assembler,
learnt how to squeeze the last byte out of what I wrote, learnt how to
use a debugger in depth and learnt how to profile my code to find the
hotspots. All of these have stayed with me and held me in good stead
over the years. If you are writing in a compiled language and don’t know
how to read assembler or use a debugger (which many students don’t),
then you’ve got a big problem.

Syntax highlighting is a huge boost to productivity as it can instantly
make problems visible while you are writing, instead of waisting time
with edit-compile-edit cycles. Can you spot the difference between: id =
“%x” % (ab * 2) and id = “%x” %(ab * 2) or will you have to wait for
Ruby to tell you?

Do you want to keep pressing space/tab/backspace to get your code
indented nicely or do you want to get on with real task of writing code
and let the editor automatically indent your code for you.

And the person who said they need to know every file and whats in it, is
nuts IMO. I want to edit method abc or class xyw - I don’t care what
file these are in, or what drive or directory that file is in, or be
concerned if another developer has moved them to a different file. I
just want to get on and work with the code, and let the editor keep
track of where every method, class etc is located. If you’ve ever worked
on a complex set of code with hundreds or worse, thousands of files,
then having the code navigation capabilities I’m referring to are
essential.

I write software for a living and like any wise tradespersons, I use the
best tools that enable me to be the most productive, so that I can have
some chance at delivering products to my customers in a timely fashion.

As for Komodo I humbly suggest you look at our IDE, ED4W. See:
http://blog.surfulater.com/2007/02/21/write-ruby-code-faster-with-ed-for-windows/

Neville F., author of ED for Windows and Surfulater.

Martin DeMello schrieb:

type in some code, and hit a button to have it run, interact with the
debugger, etc.

Creating Passionate Users: Are our tools making us dumber?

Kathy Sierra seems to disagree with me. Interesting read.

martin

What is the difference between Error an Horror ?

In my opinion the Community is most helpful but, by the numbers of
questions resp
problems, to me it seems a tremendeous waste of time (and thoughts)
because
this shows that (also) ruby lacks the clarity (not only) I am looking
for.
There would be much less questions and therefore more productivity,
if there would be a clarity in this language - using human language
resp. mnemonic -
like using Basic or Cobol or Pascal or D (or even Assembler).

Using Ruby (and Python …) with its complicated coding, we don`t need
the power
of todays Computers because we do, by this kind of languages,
the precompiling in our heads instead of using the given hardware
(which is much faster in doing this - and every time in the same way /
straight forward -
not asking the number of questions - average about 150 per day - we do
in this forum!)
I think there is only ONE way: using the above mentioned languages in
precompilers

  • for the pupose of transportability to different Sytems - generating
    i.e. Java bytecode
    (.class). There could be jBasic, jCobol etc.

COMPUTER-LANGUAGES should not be treated as a religion but as a tool for
DOING SOME WORK FOR US.
We should not longue for a code consisting of the smallest number of
characters.
There should be very little questions about the language (how will it me
understand,
will it do what I want) but how can I implement the wanted logic using
human language
resp mnemonic so there will be a readable and simple maintainable code
(even from project independent poeple).
TRICKY code - in this way - must be named as DIRTY code!
There are too many symbols with special meaning.

i.e some forum questions:

Is my code using the Ruby way ?

hi im new to ROR and although i know how to work with controllers
I‘m having difficulty understanding what exactly they are and why they
are used?
please help enlighten me :slight_smile:

Yeah, I did the former already (I like it better that way).
And omitting the ==true part makes the code more readable.

Very tricky!
Let‘s make it a little shorter and more robust:
class A
def say_hi
m = %r/([^:]+):(\d+)/.match caller.first
return if m.nil?

(c = result.match(/id: (\d+)/)) ? c.captures.first : result.scan(/error:
(.*)/).to_s

Is there a smoother/better way to say this?

Hi,
Could anyone tell me or send links where I can find some reliable
articles
about efficiency of ruby.
How I should coding to keep ruby efficient?

Err… fix the alias bug though (damn no-comma gets me every time!),


Klaus R.

On Wed, Feb 28, 2007 at 03:45:03AM +0900, Klaus R. wrote:

In my opinion the Community is most helpful but, by the numbers of
questions resp
problems, to me it seems a tremendeous waste of time (and thoughts) because
this shows that (also) ruby lacks the clarity (not only) I am looking for.
There would be much less questions and therefore more productivity,
if there would be a clarity in this language - using human language
resp. mnemonic -
like using Basic or Cobol or Pascal or D (or even Assembler).

Okay, I’m confused – you just compared Pascal and assembly language
favorably to Ruby with regard to clarity and familiarity with human
language. Have you actually looked at much Pascal code? If so: Have
you actually looked at much Ruby code for the comparison?

It’s true that BASIC and COBOL tend to use words taken directly from
English or made by mashing English language words together. There’s
more to easing the process of programming than that, however, and once
you’re working with algorithms more complex than a “Hello World”
program, BASIC and COBOL start looking like hashed browns with catsup.

My first, immediate, reaction was to label you a troll. I want to give
you the benefit of the doubt, however. Perhaps you just failed to make
your point clearly, and I’m missing something important as a result.
Judging by my experience, however, your statements tend to imply the
opposite of reality. You seem to be saying the sky is hard and the
ground is blue, that baking soda is wet and water is abrasive.

(even from project independent poeple).
Every time you learn a new language, you have to learn new things.
Someone who knew Ruby would have to learn a bunch of new stuff trying to
pick up Pascal as a new programming language. Same difference. The
only reason there are fewer questions on a Pascal mailing list than here
is that there are fewer new Pascal users on a Pascal mailing list.

I agree that programming languages are tools, not religions. That’s one
of the reasons I favor Ruby over the languages with which you contrasted
it. There are times when assembly language is more appropriate than
Ruby, of course, but those times are few and far between because of the
limitations of a language so difficult to use for complex operations
(and even a five-line Ruby program that can be read and understood in
less than a second performs some complex operations). Ruby provides
abstraction which, like a longer lever, allows you to make bigger
changes with less effort, but can get in the way of extreme fine-tuning
of the sort you’d get with assembly language (or tweezers, for the lever
analogy).

If we wanted code consisting of the fewest possible characters, we’d be
using something like Ada. We just want clean, readable, maintainable
code, so we use Ruby.

You made an off-hand reference to Python. I don’t like Python much.
Some of its idioms and some of its restrictions to “one right way” just
rub me the wrong way. I don’t like the syntax, I don’t like the way
it tries to be an object oriented language while still keeping some
multi-paradigmatic language characteristics so that it seems a little
like there’s a seam through the middle of the language where it was
stitched together.

That’s all my personal taste, though; it’s subjective opinion. Looking
at it objectively, Python is an excellent language. If you want
evidence that I’m not just defending Ruby against your complaints
because I like Ruby, here it is: I don’t like Python. I don’t want to
have to program in that language for a living, ever. I may eventually
want to learn more about the language, if only to better understand why
I don’t like it, but at the same time I don’t want to have to look at
Python source code. Despite all this, I recognize its clarity, ease of
use, and clean design for those who do like it. Pretty much
everything I’ve said about Ruby in this message, and the fact that your
conclusions about what’s “wrong” with Ruby simply don’t seem to fit the
facts, applies equally well to Python.

As far as I can tell, you’re somewhere out in left field.

On Feb 27, 2007, at 5:31 PM, Chad P. wrote:

As far as I can tell, you’re somewhere out in left field.

+1