Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Perl had a really, really strong sweet spot in text processing.

Still does.



Since Ruby took the best bits of Perl what advantage does Perl retain?


>> what advantage does Perl retain?

Ubiquity, speed, and conciseness.

Perl is usually installed by default on Linux and Unix systems. Ruby might be there, it depends.

Perl is faster than Ruby. Ruby has been one of the slower scripting languages. But Ruby has been working on performance improvements in the past few releases. I have not seen any benchmarks of the current Perl versus the current Ruby, so this may have changed.

Perl is more concise than Ruby allowing more functionality for less code.


I don't know about conciseness. Ruby excels here. As for speed it's useful to distinguish between startup and runtime.


>> As for speed it's useful to distinguish between startup and runtime.

The JVM would like a word. (It has slow startup, but can be very fast at runtime due to JIT optimization and cacheing.)

Scripts should start and run quickly.

Ruby has historically been fairly slow which is why Ruby 3 focused heavily on performance. It has been improving a lot, but I have not seen any benchmarks against other programming languages.


The thing to remember here is that speed is relative. I haven't checked but Ruby 3 is probably faster than Perl 5.0. For most scripting purposes on modern hardware Ruby is plenty fast enough. Whilst there may may be marginal speed differences between Perl, Ruby and Python the differnce is insignificant.


I used Perl then Ruby as my main language for almost a decade each. These days, I don't really write Ruby anymore; I moved on to Elixir and never looked back. But I still find myself using Perl on the command line, in contexts where Awk or Sed would also make sense. Ruby never optimized for the one-liner case IMO.


I don't understand your last point. `ruby -e` has excellent parity with `perl -e`.




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

Search: