RE: Ruby's purpose?


#1

Is it just another scripting language?

Yes, no. (It’s an interpreted language, but that does not
mean that it’s
any less a real programming language because of that. People who make
that distinction [scripting language != real programming
language] these
days either don’t know what they’re talking about or have a dog in the
fight.)

Interpreted languages, lets see, all of .NET (inc C++), Perl, Python,
PHP, Lisp, Smalltalk, Java and the list goes on. The runtime execution
environment doesn’t really have much to do with the language contructs.
Even at the processor level CISC byte codes get executed/interpreted
into microcode. All these languages can do scripting (quick and dirty)
or more robust dare I say enterprise systems. Really the scripting
language debate should be dead.

In this day and age we should be getting away from low level constructs
in our development in 95% of cases. I want to get on with the job of
developing business solutions not worrying about memory allocation, how
to slice and dice arrays et al. I want to program at a higher level of
abstraction (with the ability to drill down in the 5% of cases I need
to). Ruby is an enabler in that direction (Yay for Meta programming)


#2

On 5/16/06, Ross D. removed_email_address@domain.invalid wrote:

Interpreted languages, lets see, all of .NET (inc C++), Perl, Python, PHP, Lisp,
Smalltalk, Java and the list goes on. The runtime execution environment doesn’t
really have much to do with the language contructs. Even at the processor level
CISC byte codes get executed/interpreted into microcode. All these languages
can do scripting (quick and dirty) or more robust dare I say enterprise systems.
Really the scripting language debate should be dead.

Um. Actually, none of the .NET languages are interpreted (and neither
is Java). Java is compiled to bytecode which may then be interpreted,
but Java itself isn’t interpreted. The .NET languages are all compiled
to MSIL (an intermediate language) which will then be converted into
machine code on first execution.

I agree with what you said about higher levels of abstraction, but
your statement above about interpreted languages is not quite correct.

-austin


#3

On Wed, 2006-05-17 at 08:08 -0400, Austin Z. wrote:

Java is compiled to bytecode which may then be interpreted,
but Java itself isn’t interpreted.

With JIT compilers, the bytecode is compiled to native machine code.

Some midrange systems (RS/6000 and AS/400) actually implement come of
the java byte code in microcode, making java lightning fast on those
systems.