How Come Ruby is Text-Oriented?

On 31.07.2009 14:31, Brian C. wrote:

Robert K. wrote:

On 30.07.2009 16:11, Brian C. wrote:

A ‘while’ loop could be accomplished with just a few dozen clicks of the
mouse:
http://www.activebpel.org/samples/samples-2/BPEL_Samples/Resources/Docs/while.html
Is it just me or did you actually forgot to include a smiley here?

I thought it was sufficiently sarcastic as it was, but I could have been
wrong.

I was sarcastic - but because I couldn’t see your face’s expression so
well I thought I rather check. :slight_smile:

Perhaps you’ll like this though:

The Onion | America's Finest News Source.

That’s just gorgeous! Thanks for the link!

Kind regards

robert

The point I really meant to get across is why are we typing text INTO AN
EDITOR.
Smalltalk arrived in an era of single tier systems and provided its own
windowing environment that was integrated. Nowadays we have more varied
environments - particularly web - but you have to stick various other
tools together to make a working system (IDE, Web design package etc).
Smalltalk wasn’t just a programming paradigm, it was also a philosophy
of how to make computers easy to program. There is none of that in Ruby.
Most experts seem to talk to each other like boffins at a rocket science
convention. That’s just what I noticed if I compare typical Ruby books
with Smalltalk. One is trying to open up capability by making things
easy and accessible; the other is dazzled by sophistication and
complexity.

Graphical is very important … for advertisements.

Mike S. wrote:

The point I really meant to get across is why are we typing text INTO AN
EDITOR.

Not everybody does using a simple text editor. Ruby In Steel (an IDE of
which I am one of the principal designers) has a fully integrated
environment (code, eval, debug etc.) which even includes a graphical
full-page drag+drop designer for Rails plus an optional tool (the Ruby
Connector) to link between Ruby programs and C# or VB (giving the
possibility of using the Visual Studio form designer for Ruby front
ends).

http://www.sapphiresteel.com/Ruby-In-Steel-Developer-Overview

best wishes

Huw C.

SapphireSteel Software
http://www.sapphiresteel.com

Hi –

On Sat, 1 Aug 2009, Mike S. wrote:

with Smalltalk. One is trying to open up capability by making things
easy and accessible; the other is dazzled by sophistication and
complexity.

Then you have to start reading atypical Ruby books. I know a couple of
very nurturing ones I can recommend :slight_smile:

I guess I’ve had a very different Ruby experience from yours, over the
years. I’ve never come across a group of people more dedicated to
helping others gain an understanding and enjoy what they’re doing. So
I can’t really comment on that part. As for the editor thing: that’s
just a matter of what you’re comfortable with. Ruby per se doesn’t
make you use one development environment over another.

David

Pascal J. Bourguignon wrote:

all the words of their language (up to 1,000,000 words or more).

Sorry Pascal,

French has between a third and half a million words. It is English that
has 1 million.

*http://books.google.co.uk/books?id=uBHnmdafnjUC&pg=RA1-PA14&lpg=RA1-PA14&dq=how+many+words+in+french+language&source=bl&ots=NaJWUQrkUm&sig=kF7hOP-zFA2wkogK0LSBGSyLWvo&hl=en&ei=W4d0SqHrEYXQ-Qbe4pnMBw&sa=X&oi=book_result&ct=result&resnum=8#v=onepage&q=&f=false
(Page 15)

*BBC NEWS | World | Americas | 'Millionth English word' declared

I guess this is because the English adopt words freely, while the French
consider this act “corruption” of the language.

Enjoy Le Weekend!

Ian

pharrington wrote:

But if we’re going to the point of serializing the program as XML, why
not take the next logical step on simplify the XML in S expressions?
Wait…

Is that LISP, a (John) McCarthyism or simply humour ignored? :slight_smile:

ROFL

James B. wrote:

Mike S. wrote:

That’s just what I noticed if I compare typical Ruby books with
Smalltalk. One is trying to open up capability by making things easy
and accessible; the other is dazzled by sophistication and complexity.

Did you intend this parallel in your sentences?

Ruby :: Smalltalk
Easy and accessible :: Dazzled by sophistication and complexity

I read it the other way around, with the rubies doing the dazzling.

My own feeling is that, to the extent that ruby forces a learner to
interact with non-integrated components, it is better preparation for
our non-integrated world of computing. Also, I’ve always liked how ruby
encapsulates years of wisdom about unix (and to some extent windows)
programming. You don’t learn that from smalltalk. Or at least that’s my
impression, not having done much with smalltalk except read the Byte
issue back in '81.

Mike S. wrote:

That’s just what I noticed if I compare typical Ruby books
with Smalltalk. One is trying to open up capability by making things
easy and accessible; the other is dazzled by sophistication and
complexity.

Did you intend this parallel in your sentences?

Ruby :: Smalltalk
Easy and accessible :: Dazzled by sophistication and complexity

I’d welcome Ruby books that covered sophisticated and complex topics.

Most are largely introductory, or "how to build … " tutorial efforts.


James B.

www.jamesbritt.com - Playing with Better Toys
www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff
www.neurogami.com - Smart application development

On 1 août 09, at 20:46, Ian H. wrote:

I guess this is because the English adopt words freely, while the
French consider this act “corruption” of the language.

Wrong. It’s the old farts of the “Académie Française” who consider
that adopting words freely is a “corruption” and that using English
words hurts the “graphie” of the French language (I kid you not),
while the rest of the population will happily use whatever sounds the
best or the coolest or helps making any message the most clear. And
since the aforementioned senile fucktards are the ones who decide what
goes in the French dictionary or not they actually have to be forced
by the overwhelming popular usage first, which takes time. That’s why :slight_smile:

Luc H. wrote:

since the aforementioned senile fucktards are the ones who decide what
goes in the French dictionary or not they actually have to be forced
by the overwhelming popular usage first, which takes time. That’s why :slight_smile:

I stand corrected!

Hi –

On Sun, 2 Aug 2009, Ian H. wrote:

Pascal J. Bourguignon wrote:

all the words of their language (up to 1,000,000 words or more).

Sorry Pascal,

French has between a third and half a million words. It is English that has
1 million.

1/3 to 1/2 a million sure sounds like “up to 1,000,000 or more” to me
:slight_smile:

David

On 2009-07-30, Mike S. [email protected] wrote:

I’ve just been re-reading Byte August 1981 - an edition dedicated to
Smalltalk-80. Often people say Ruby has roots in Smalltalk (amongst
other things) but the thing you notice is Smalltalk is visual ie it has
a graphical interface. How is it that 28 years later we work by typing
text into an editor?

Don’t fix what ain’t broke.

I’ve tried Squeak. And I’ve tried GNU Smalltalk. I know exactly which
I’d rather use. GNU Smalltalk is “the Smalltalk for those who can type”.
I can type. Therefore, I use GNU Smalltalk.

We build software by typing text into an editor because nobody has come
up with an alternative that sucks less. Maybe once we have the direct
neural interface combined with super-smart predictive AI so you can just
think it and the computer will do it, we will be able to uninstall all
our text editors and IDEs.

That’s not to say that there is never any reason for non-text-based
programming tools. GUI builders like OS X’s Interface Builder or the
Java equivalent in NetBeans (and C#/.NET equivalent in VS etc.) are just
fine and dandy. I love the visual diff tool in OS X. These are
exceptions that prove the rule.

It’s burned into my muscle memory for the various languages I use how to
define classes, methods/functions, loops, conditionals and so on. If I
want a conditional, I type something which matches the schema “if [v],
[w]; else if [x], [y]; else [z]”. The leap to “I drag an
‘if-conditional’ block off the toolbox, drag the relevant condition in,
then wire up what happens if the condition evaluates as true” is huge.
And utterly pointless.

What benefit is there in dragging, clicking and pointing when it’s not
needed? The only applications I’ve found that really needs mousing are
computer games, graphics applications and window managers. Why add a GUI
and a requirement for mousing where it’s not necessary? And, well, if
you are intelligent enough to be learning Smalltalk, you are intelligent
enough to remember a few keyboard commands. Programmers aren’t usually
the sort of people who need desperate amounts of hand-holding in order
to get by. We don’t need it when we are reading our e-mail and we sure
as fuck don’t need it when we are programming.

On Tuesday 04 August 2009 03:50:12 pm Tom M. wrote:

Programmers aren’t usually
the sort of people who need desperate amounts of hand-holding in order
to get by. We don’t need it when we are reading our e-mail and we sure
as fuck don’t need it when we are programming.

While true, this also misses the point of the various visual interfaces.

Let me put it this way – most of the time, I can do things faster and
better
from an irb shell than I can from a spreadsheet. I say “better” because
I get
to actually give my variables names, rather than having to remember
the
address of a cell, and I can let my arrays grow as big as they want, and
insert things in between them, without worrying about them running into
each
other, etc.

Maybe I just suck at spreadsheets, but the act of making that particular
kind
of program visual removes a lot of power.

On the other hand, people who are not programmers can learn to do a
spreadsheet – which is, after all, a kind of program. (I’m not sure
whether
it’s Turing-complete, but that’s hardly the point here.)

So, the point of the various efforts at “visual programming” was to make
programming simple enough for ordinary people to learn to do it – the
kind of
people who do need desperate amounts of hand-holding, but are actually
reasonably intelligent, on the whole.

And like spreadsheets, I think that’s a disaster waiting to happen.

Granted, spreadsheets are well and good, when used appropriately –
though I
would still argue that there isn’t a use for a spreadsheet that wouldn’t
be
better served by a custom program. But the real disaster is when
spreadsheets
are used for more than what’s appropriate – when an entire business
bases
major decisions on the result of a flawed spreadsheet calculation, or
when some
“database” consists of a number of spreadsheets emailed back and forth,
or
worse, accessed on a shared network drive… actually, I’m not sure
which is
worse.

Like spreadsheets, a visual programming language could have the same
result.
You can see some of that with Visual Basic, though it isn’t truly
“visual” in
the sense being discussed here, but it has an “eternal September” effect
all
its own.

David M. wrote:

You can see some of that with Visual Basic, though it isn’t truly
“visual” in
the sense being discussed here

Visual Basic is a good example of an attempt to be more integrated -
automatically naming methods, syntax help, screen painting, debuggers
etc. I guess all these are available for Ruby but it’s a bit like
building a plane in your garage just from some drawings, rather than
picking it up from the salesman.

Quite by chance last Friday I was introduced to a visual
(‘model-driven’) platform called Mendix. In the past I’ve been involved
with a different type of visual programming system - Erudine. That uses
conceptual graphs.

I doubt visual systems are faster than an expert textual programmer but
it’s interesting that the expert is still the focus of attention - what
is Microsoft doing to continue the accessibility of Access (supposedly
Bill Gates’ favorite product)?

Mind you, I don’t know why I’m saying this - all our jobs are going to
India as it is; we don’t want to lose any more.

On Wednesday 05 August 2009 03:58:34 am Mike S. wrote:

David M. wrote:

You can see some of that with Visual Basic, though it isn’t truly
“visual” in
the sense being discussed here

Visual Basic is a good example of an attempt to be more integrated -
automatically naming methods, syntax help, screen painting, debuggers
etc. I guess all these are available for Ruby but it’s a bit like
building a plane in your garage just from some drawings, rather than
picking it up from the salesman.

On the other hand, Visual Basic also requires these things. At the very
least,
I know of no way to write a simple console app in Visual Basic, and even
if I
could, I doubt it would be very portable.

Also, I would argue the main advantage ruby has here is syntax that
doesn’t
suck. I can say this with some confidence, as I don’t know anyone who
actually
prefers VB, and the only people who really seem down on Ruby syntax are
either
people sophisticated enough to actually critique syntax design, or they
just
prefer Lisp.

I doubt visual systems are faster than an expert textual programmer but
it’s interesting that the expert is still the focus of attention

I think it’s mostly because this is the kind of thing that demands
expertise.

Put another way: Specific programming, like Excel or Access, can be made
accessible. General-purpose programming does require a bit of an expert
– to
take everyone’s favorite analogy, it’s possible that building real
software is
like building a car engine – for the most part, you’re talking about
experts
and enthusiasts. No one’s going to build a car in their garage, just to
take
them down the block and avoid buying a real car.

Mind you, I don’t know why I’m saying this - all our jobs are going to
India as it is; we don’t want to lose any more.

I think for the same reason I would – to improve things generally. To
advance
the state of the art. Maybe we’ll lose our jobs, and have to invent new
ones,
but overall, over time, things get better.

One of the ways things get better is by eliminating jobs we don’t need.
Hiring
a secretary just to look pretty and type is pretty much obsolete, now
that
everyone can type.

I don’t think it can be done, easily. I think that every attempt at it
is a
disaster waiting to happen. Here’s an example:

More relevantly, even tools you might consider sane, like a spreadsheet,
inevitably get horribly abused:

Tom M. [email protected] writes:

What benefit is there in dragging, clicking and pointing when it’s not
needed? The only applications I’ve found that really needs mousing are
computer games, graphics applications and window managers.

You should try ratpoison :wink:

The only applications I’ve found that really needs mousing are
computer games, graphics applications and window managers.

Seems to me, you’re using the wrong window manager :slight_smile:

On Aug 5, 2009, at 9:07 AM, David M. wrote:

picking it up from the salesman.
who actually
I think it’s mostly because this is the kind of thing that demands
and enthusiasts. No one’s going to build a car in their garage, just
new ones,
disaster waiting to happen. Here’s an example:

The Customer-Friendly System - The Daily WTF

More relevantly, even tools you might consider sane, like a
spreadsheet,
inevitably get horribly abused:

http://thedailywtf.com/Articles/The_Excel_Worm.aspx

The question, “where’s the UI?” (paraphrasing) that began this thread
makes me reflect on a day at the office when some new Canon copiers
were delivered. Mind you, I’m standing around with a bunch of guys who
build compilers and stuff for a living. Above room temperature IQ.

The service tech fires up the machine and proudly points out all the
new user friendly icons. One of the devs looks and the service tech
and then at the other devs and says, “This sucks. There isn’t a
command line interface.”

All in the eye of the beholder, eh?

As far as UIs are concerned, I actually think that the smarter the UI
the better. This is why I believe the “commandline” will one day fail -
like the day when we have really awesome hardware AND software. Nobody
inspired by science fiction movies?

Are you proficient with the command line? I don’t mean this in an
insulting
way, but I’ve never encountered someone who used the command line more
than a gui who wants to switch to a gui if they’d just get better.
Unless
the gui is reading my mind, I’ll always be more efficient with a
keyboard
than with a mouse. Since moving from full desktop environments to xmonad
+
vimperator + vim, I’ve become incredibly more productive.

Yeah, a Microsoft Surface may look cool, but there’s too much flash and
not
enough getting stuff done in there. It looks amazing, don’t get me
wrong,
but to have to drag and drop things instead of hitting a key combo and
typing 4 characters? No thanks.