Perl 6

This is kind of fascinating in the train-wreck sense, but even aside from weirder-than-Perl5 syntax, taking a speed penalty like that in modern times is not acceptable; computers are fast enough to solve all problems in a few seconds, but the slower your program is, the more power it consumes, and that costs you real money in a data center.

I don’t see any support in Perl6 for a web server, GUI, low-level graphics, sound, or even low-level UNIX libraries, you have to use NativeCall with a lot of wrapper code for every struct. Perl5 made Gtk pretty easy to use, hideous as it may be, and mod_perl made it a powerful choice on Apache servers.

What we expect from a systems programming language has changed since the ’70s-’90s when Perl and its immediate ancestors were invented, and even the most rough, low-level programmers don’t want to reinvent everything from assembly up anymore.

Python has multiple ways now to get faster, I’m currently trying out Cython and getting faster, compiled Python binaries, which can directly call C code (because by that point it is C code). Python’s standard Tkinter GUI is primitive, but SDL works well if you can distribute it. Python’s system libraries and web frameworks are top-notch.

JavaScript isn’t fast, but modern runtimes are surprisingly good; I’d have to write some tests to see how Node or Electron compares to Perl 6, but I’d bet on the massive VM investments in JS. JS does everything now, it’s certainly the most familiar user interface these days.

If you just want a multi-paradigm language for hacking, Scheme and Racket are ideal, supported by tons of papers and books like SICP, and they compile to fast native code.

And then there’s the real outliers, like Lazarus, which is a Delphi-like Pascal IDE, or the usual “I want a hobby language” choices of Haskell, OCaml, Clojure, etc.

Even if Perl6 had come out in the first decade of its development, it would’ve been a little backwards, but compared to modern choices it’s archaic.

I’ve avoided the Whatever Star because, in addition to making Perl 6 look like a lineal descendant of brainfuck, it is governed by rules that are too subtle for my understanding.
—Evan Miller

Leave a Reply