









|
[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
[NMLUG] Ruby
On Tuesday 16 August 2005 18:25, Jeff Woods wrote:
> At 8/16/2005 17:45 -0600, Wesley J. Landaker wrote:
> >I doubt you'll get far--Java has a fundamentally different paradigm.
>
> Anyone care to explain what is fundamentally different in their
> paradigms?
There are a lot of differences, the biggest being the difference between a
"dynamic" vs. a "static" language. Unfortunately, those terms are
over-used, but I mean them as they generally apply to programming
languages, mostly e.g. typing, definitions, code-as-data, etc. Basically,
static languages have a "compile" phase; dynamic languages can change
during runtime. Java does have a small handful of dynmaic-like features,
but it is by far a static language. Like the difference between procedural
and functional languages, it's easy to grasp once you've got it, but hard
to explain. In fact, the functional aspects of Ruby are another difference.
=)
Obviously, any Turing-complete language can emulate the features of any
other language--but that doesn't make it easy, fun, or worth it. =)
An example is that in Java, an Object is part of a class--the class defines
what methods the object has, and it's data members. Any instance of that
exact class always has the the same methods and data. In Ruby, an Object is
part of a class, but at *runtime*, methods can be added, removed and
redefined. Also, any particular instance can have it's own singleton
methods, again defined at runtime.
To best understand the differences, and why it matters, I would suggest
learning a dynamic language (Ruby being a good choice ;) and finding out
for yourself. =) Baring that, there's always the Internet. Good things to
read about are "scripting languages", Strong vs. Weak typing, Static vs.
Dynamic typing, etc. e.g. there are some good Python vs. Java comparisons
that apply somewhat to Ruby, etc.
I'd be happy to answer specific questions. =)
--
Wesley J. Landaker <wjl@icecavern.net>
OpenPGP FP: 4135 2A3B 4726 ACC5 9094 0097 F0A9 8A4C 4CD6 E3D2
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.b9.com/pipermail/nmlug/attachments/20050819/fb07c438/attachment.pgp
|
|