[tslug] Re: Meeting Tomorrow 2-24 VH1232

2004-03-24 Thread Alexander Horn
Hi folks,
If you are a computer linguistic geek or a real programmer/geek at 
heart (which, I think, is the very reason why you are on this mailing 
list) you should come to the TSLUG meeting tonight. Ian?s mentioned it 
already, but here again: he and I are going to spread the word why Ruby 
rocks. Ruby is an awesome programming language entirely built upon the 
concept of objects. While I just was astounded and exited when learning 
Perl (because of its many features OO concepts. So you should come to 
the Meeting tonight to make up your own mind about me (and Ian) simply 
being freaks or Ruby just being a language that rocks. I thing Ian 
thinks similar on that issue, after all he is the object oriented fan.?
alex

-
To get off this list, send email to [EMAIL PROTECTED]
with Subject: unsubscribe
-



[tslug] Re: Meeting Tomorrow 2-24 VH1232

2004-03-24 Thread mike808
 Ruby is an awesome programming language entirely built upon the 
 concept of objects. While I just was astounded and excited when learning 
 Perl (because of its many features OO concepts...

How disappointing. Perl certainly doesn't limit it's usefullness only to the
Object-oriented elite. IMHO, that makes Perl rock even more than Ruby.

Oh, and if you like some of that cool Ruby goodness, well, you can always just
install Simon Cozens' Rubyisms.pm module from CPAN.

See http://search.cpan.org/~simon/rubyisms-1.0/

And from http://search.cpan.org/src/SIMON/rubyisms-1.0/README we see...

NAME
rubyisms - Steal some features from Ruby

SYNOPSIS
  package Foo;
  use rubyisms;
  sub initialize { # We inherit a new from class Class
self-{foo} = bar;   # And we have a receiver, self
__private_stuff(1,2,3,4);
  }

 sub __private_stuff { 
self-{things} = [ @_ ];   # self is still around
self-another_method;
 }
 
 sub my_method {
if ($interesting) { ... }
else { super } # Dispatch to superclass 
 }
  
 sub array_iterator (@) {
yield() for @_;
 } 

 array_iterator { print $_[0], \n } (Hello, World);
..

Hehe. Perl *rocks*. Ruby just *wishes* it could rock this hard. And wait 'til
Parrot/Ponie/Perl6 is out.

Oh, and Simon implemented *ALL* of the above in a mere 90 lines of Perl code.

If you _really_ want to learn about OO and even more ways in which Perl makes OO
easy where other languages hit the wall (e.g. closures and multiple
inheritance in Java), then you should get Damian Conway's book Object-Oriented
Perl (ISBN 188491 - http://www.manning.com/Conway/ ). Unbelievably lucid,
and it's no mistake that he used Perl to demonstrate these OO concepts.

The eat-your-brain explanation of Perl's tie feature is excellent.

He discusses multiple inheritance, data inheritance vs. interface inheritance,
closures, functions as objects, truly private data members, inheritance by
composition, and explores some of the dark corners of Perl's tie facility,
re-blessing objects, and more.

Mike/

-
http://www.valuenet.net



-
To get off this list, send email to [EMAIL PROTECTED]
with Subject: unsubscribe
-



[tslug] Re: Meeting Tomorrow 2-24 VH1232

2004-03-24 Thread Alexander Horn
...I have a question from the (my) lingustic point of view...
Perl:
$string=hello, world;
substr($string, 20) =~ s/world/earth/; #alters $string
print $string   #output: hello, earth

how do I chomp that thing in one line?
alex

-
To get off this list, send email to [EMAIL PROTECTED]
with Subject: unsubscribe
-



[tslug] Re: Meeting Tomorrow 2-24 VH1232

2004-03-24 Thread Alexander Horn
sorry again: 20 - 6:-(

my gosh...


Alexander Horn wrote:


...I have a question from the (my) lingustic point of view...
Perl:
$string=hello, world;
substr($string, 20) =~ s/world/earth/; #alters $string
print $string   #output: hello, earth

how do I chomp that thing in one line?
alex

-
To get off this list, send email to [EMAIL PROTECTED]
with Subject: unsubscribe
-



-
To get off this list, send email to [EMAIL PROTECTED]
with Subject: unsubscribe
-



[tslug] correction

2004-03-24 Thread Alexander Horn
Gee, another mistake...I should bite my own butt...sorry, again (Ohhh 
my goodness)
...I have a question from the (my) lingustic point of view...
Perl:
$string=hello, world\n;
substr($string, 6) =~ s/world/earth/; #alters $string (Line 3)
print $string;   #output: hello, earth

...chomp $string on Line 3

-
To get off this list, send email to [EMAIL PROTECTED]
with Subject: unsubscribe
-



[tslug] Re: Meeting Tomorrow 2-24 VH1232

2004-03-24 Thread Ian Monroe
Ruby can be your standard global-function type of language. You don't
have to define objects (though all the 'primitives' are still objects,
you don't have to think about them as such). But if you want to
over-ride the default + method for integers, you can (not that you would
to).
The way it works is that it will just starting executing all the method
calls it sees, like Perl.
And regardless, OOP isn't that hard, I can't understand why someone
wouldn't want to at least take advantage of some its syntax. I guess
thats kind of elitists of me.
[EMAIL PROTECTED] wrote:
Ruby is an awesome programming language entirely built upon the 
concept of objects. While I just was astounded and excited when learning 
Perl (because of its many features OO concepts...


How disappointing. Perl certainly doesn't limit it's usefullness only to the
Object-oriented elite. IMHO, that makes Perl rock even more than Ruby.
Oh, and if you like some of that cool Ruby goodness, well, you can always just
install Simon Cozens' Rubyisms.pm module from CPAN.
See http://search.cpan.org/~simon/rubyisms-1.0/

And from http://search.cpan.org/src/SIMON/rubyisms-1.0/README we see...

NAME
rubyisms - Steal some features from Ruby
SYNOPSIS
  package Foo;
  use rubyisms;
  sub initialize { # We inherit a new from class Class
self-{foo} = bar;   # And we have a receiver, self
__private_stuff(1,2,3,4);
  }
 sub __private_stuff { 
self-{things} = [ @_ ];   # self is still around
self-another_method;
 }
 
 sub my_method {
if ($interesting) { ... }
else { super } # Dispatch to superclass 
 }
  
 sub array_iterator (@) {
yield() for @_;
 } 

 array_iterator { print $_[0], \n } (Hello, World);
..
Well, Ruby steals plenty of features from Perl, so I guess thats fair.
Though all those @'s, $'s and _'s make me cringe a bit (Ruby has some of
that for Regex expressions, but actually has a module called English to
give them logical names). As its description says, its just to steal
some features from ruby (mainly the yield() call as far as I can tell,
don't know enough Perl to see what else is new).
Its one thing to have a yield call, its another when all the standard
libraries are built around exploiting it. Many languages have ways of
passing blocks of code to other methods, Ruby is the first I've seen
actually taking advantage of it throughout the standard libraries.

Hehe. Perl *rocks*. Ruby just *wishes* it could rock this hard. And wait 'til
Parrot/Ponie/Perl6 is out.
Oh, and Simon implemented *ALL* of the above in a mere 90 lines of Perl code.

If you _really_ want to learn about OO and even more ways in which Perl makes OO
easy where other languages hit the wall (e.g. closures and multiple
inheritance in Java), then you should get Damian Conway's book Object-Oriented
Perl (ISBN 188491 - http://www.manning.com/Conway/ ). Unbelievably lucid,
and it's no mistake that he used Perl to demonstrate these OO concepts.
The eat-your-brain explanation of Perl's tie feature is excellent.

He discusses multiple inheritance, data inheritance vs. interface inheritance,
closures, functions as objects, truly private data members, inheritance by
composition, and explores some of the dark corners of Perl's tie facility,
re-blessing objects, and more.
Mike/
Really I don't know enough Perl to be able make a comparison. However,
my experience with 'oh yea, Object Oriented looks nice, let's add that'
type of languages (which it sounds like Perl is from its history) is
from PHP. I quite like PHP, but OO design is hardly ever used in the
various libraries. So there are tons of global functions. With Ruby
theres only a handful of global functions, they're all methods from the
object named Kernel (so unlike other languages, they're aren't really
special keywords, part of what makes Ruby so dynamic).
Mercury now has Ruby 1.8.1 (the newest) installed on it. You can use the
ruby shell irb to play around with it easily. Send me a message if
anyone wants other ruby libraries installed, currently it just has the
various standard and the mysql libraries. Kronos has the Debian Woody
package of Ruby, so its version 1.6.
Ian Monroe

-
To get off this list, send email to [EMAIL PROTECTED]
with Subject: unsubscribe
-