I'm kind of kidding, but Ruby lets you do things more elegantly than you can in Perl, and with less verbosity (hence the Java comment). It's really a syntax issue that I'm talking about, but it matters a lot for readability and language usability.
Perl:
my $x = 'Apple Carrot Banana';
# sort them into an array
my @y = sort split(' ', $x);
# do we have more than 2 elements? (just a random test)
if (scalar(@y) > 2) {
print "we've got ", scalar(@y), " elements!\n";
} else {
print "insufficient elements. fail.\n";
}
Ruby:
x = 'Apple Carrot Banana'
y = x.split(' ').sort
if (y.size > 2)
puts "we've got #{y.size} elements!"
else
puts 'insufficient elements. fail.'
end
Ruby just seems more elegant to me, more programmer-friendly. YMMV.
use 5.12.2; # enables modern features
my $x = 'Apple Carrot Banana';
my @y = sort split ' ', $x;
say @y > 2 ? "we've got ${\scalar @y} elements!"
: 'insufficient elements. fail.';
Not everything needs to be an Object. Not every call needs to be a method call. Some people think better with procedures, some people think better with objects.
One of the reasons I personally like Perl is I can use which ever one is appropriate to the problem domain.
Perl:
my $x = 'Apple Carrot Banana';
# sort them into an array
my @y = sort split(' ', $x);
# do we have more than 2 elements? (just a random test)
if (scalar(@y) > 2) {
} else { }Ruby:
x = 'Apple Carrot Banana'
y = x.split(' ').sort
if (y.size > 2)
else endRuby just seems more elegant to me, more programmer-friendly. YMMV.