Hacker News new | past | comments | ask | show | jobs | submit login

Except that Ruby's translation into English was literally the cause of Perl's decline.

Perl was intended to be a highly concise shell-like language that excelled at text processing. Partly in order to achieve such concision, the syntax overloaded various symbols to mean completely different things in different syntactic contexts, which made it very difficult for humans to parse quickly unless they worked in it very frequently (I recall the authors of either the llama or camel book estimating five times a week as the minimum). As Perl grew in popularity, objects were added on, and the whole language felt cobbled together. Perl users mainly used it as a shell replacement or for CGI scripts. Larger projects tended to be the domain of Python (or Java if concision was no longer a requirement).

And then came Ruby with syntax that was friendlier to Perl programmers than Perl itself, yet was semantically consistent, had built-in object support, and could rival Python for projects of any size, while surpassing it for the "quick and dirty scripts" that Perl excelled at. The conversation stopped being about Perl vs. Python and became Ruby vs. Python. People stopped using Perl 5.

So Perl 6 might very well be a lot more similar to Ruby (and even to Python if we exclude syntax) than it is to Perl 5.




"So Perl 6 might very well be a lot more similar to Ruby (and even to Python if we exclude syntax) than it is to Perl 5."

On that, I think we'll just have to agree to disagree.


Oh, I'm not asserting that it is, just that it sounds like it might be, based on the description in the Github README. If you're actually familiar with Perl 6 and don't view that to be true, I'd trust your assessment over my hypothesis!


I'd recommend you take a look. It's certainly got some of the features of Ruby that had to be bolted on to Perl 5 (objects, for example), but it's still recognizably Perl, and it has a number of features built-in nicely that feel bolted-on or just downright ornery in Ruby (Unicode, concurrency, to mention two big ones). OOP in Perl 6 is beyond anything I've used anywhere else, except maybe Moose on Perl 5 (which is bolted-on).

I think the most accurate thing to say is that there has been a lot of cross-pollination between Perl and Ruby, it goes both ways, and it has been going on for the entire life of Ruby and Perl 6. But, Ruby is Ruby and Perl 6 is recognizably a Perl variant.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: