How Come Ruby is Text-Oriented?

M

Mike Stephens

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.
 
D

David A. Black

Hi --

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.

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

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

--
David A. Black / Ruby Power and Light, LLC / http://www.rubypal.com
Q: What's the best way to get a really solid knowledge of Ruby?
A: Come to our Ruby training in Edison, New Jersey, September 14-17!
Instructors: David A. Black and Erik Kastner
More info and registration: http://rubyurl.com/vmzN
 
H

Huw Collingbourne

Mike said:
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 Collingbourne

SapphireSteel Software
http://www.sapphiresteel.com
 
I

Ian Hobson

pharrington said:
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? :)

ROFL
 
I

Ian Hobson

J

James Britt

Mike said:
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 Britt

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
 
J

Joel VanderWerf

James said:
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.
 
L

Luc Heinrich

I guess this is because the English adopt words freely, while the =20
French consider this act "corruption" of the language.

Wrong. It's the old farts of the "Acad=E9mie Fran=E7aise" who consider =20=

that adopting words freely is a "corruption" and that using English =20
words hurts the "graphie" of the French language (I kid you not), =20
while the rest of the population will happily use whatever sounds the =20=

best or the coolest or helps making any message the most clear. And =20
since the aforementioned senile fucktards are the ones who decide what =20=

goes in the French dictionary or not they actually have to be forced =20
by the overwhelming popular usage first, which takes time. That's why :)

--=20
Luc Heinrich - (e-mail address removed)
 
I

Ian Hobson

Luc said:
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 :)
I stand corrected!
 
D

David A. Black

Hi --

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
:)


David

--
David A. Black / Ruby Power and Light, LLC / http://www.rubypal.com
Q: What's the best way to get a really solid knowledge of Ruby?
A: Come to our Ruby training in Edison, New Jersey, September 14-17!
Instructors: David A. Black and Erik Kastner
More info and registration: http://rubyurl.com/vmzN
 
T

Tom Morris

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 **** don't need it when we are programming.
 
D

David Masover

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 **** 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.
 
F

Fabian Streitel

[Note: parts of this message were removed to make it a legal post.]
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 :)
 
M

Mike Stephens

David said:
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.
 
D

David Masover

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:

http://thedailywtf.com/Articles/The_Customer-Friendly_System.aspx

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

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

Pascal J. Bourguignon

Tom Morris said:
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 ;-)
 
S

s.ross

[Note: parts of this message were removed to make it a legal post.]

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 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.


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:

http://thedailywtf.com/Articles/The_Customer-Friendly_System.aspx

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?
 
M

Marc Heiler

All in the eye of the beholder, eh?

I dont think this holds true. Sure, it may hold true in the context of
the given example, but I personally think that there are multiple ways
for a human to interface with computers in a "creative" fashion (in the
sense as to create a program).

The smalltalk approach is really cool, and I think really visual
programming is far from its peak - however at the same time I never felt
that smalltalk reached its full potential. Seriously, I believe aside
from some hyping I always felt that "scripting languages" have had a
much more profound effect in programming. Or even haskell. Text stays
simple, and smalltalk has never struck me as a very elegant language
where something like squeak would give you a 1000x increase in
productivity.

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?
 
S

Steve Klabnik

[Note: parts of this message were removed to make it a legal post.]
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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,770
Messages
2,569,583
Members
45,073
Latest member
DarinCeden

Latest Threads

Top