5 ms·
> Perl had a really, really strong sweet spot in text processing. Still does.
by ryl00 3y ago
> Perl had a really, really strong sweet spot in text processing.
Still does.
- cutler 3y agoSince Ruby took the best bits of Perl what advantage does Perl retain?
- thesuperbigfrog 3y ago>> 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.
- cutler 3y agoI don't know about conciseness. Ruby excels here. As for speed it's useful to distinguish between startup and runtime.
- thesuperbigfrog 3y ago>> 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.
- cutler 3y agoThe 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.
- gamache 3y agoI 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.
- cutler 3y agoI don't understand your last point. `ruby -e` has excellent parity with `perl -e`.