Forget Perl 6
From the Wikipedia article about Perl 6:
... Perl 6 appeared in the year 2000 ... As of 2014, multiple Perl 6 implementations are under development, but none of them are considered "complete".
In the meantime dozens of other programming languages appeared. Some of them created and developed by a single person or a very small team of people. To make this more obvious I attach a list of:
10 working programming languages that were released after the year 2000
- Scala circa 2003 - Object-functional programming language for general software applications.
- Squirrel circa 2003 - Squirrel is a high level imperative, object-oriented programming language, designed to be a light-weight scripting language that fits in the size, memory bandwidth, and real-time requirements of applications like video games and hardware such as Electric Imp.
- D circa 2006 - object-oriented, imperative, multi-paradigm system programming language
- Clojure circa 2007 - A dialect of the Lisp programming language created by Rich Hickey.
- Go circa 2009 - It is a statically-typed language with syntax loosely derived from that of C, adding garbage collection, type safety, some dynamic-typing capabilities, additional built-in types such as variable-length arrays and key-value maps, and a large standard library.
- CoffeeScript circa 2009 - CoffeeScript is a programming language that transcompiles to JavaScript.
- Julia circa 2012 - Julia is a high-level dynamic programming language designed to address the requirements of high-performance[7] numerical and scientific computing while also being effective for general purpose programming.
- Rust circa 2013 - Rust is a general purpose, multi-paradigm, compiled programming language developed by Mozilla Research.
- Dart circa 2013 - The goal of Dart is "ultimately to replace JavaScript as the lingua franca of web development on the open web platform".
- Crystal circa 2013 - Ruby-inspired syntax. Be able to call C code by writing bindings to it in Crystal. Compile to efficient native code.
Most of these languages compile to native binary code, instead of using LLVM or other virtual machines.
From Wikipedia: Rakudo Perl is a Perl 6 implementation targeting a number of virtual machines, such as the JVM, MoarVM, JavaScript and the Parrot virtual machine. Parrot is a virtual machine designed for dynamic programming languages, primarily for Perl 6.
Questions:
- Is creating a working Perl 6 compiler harder than creating a compiler for any of the above languages?
- Why can't they implement it the same way Larry Wall implemented Perl 5? Running your language though a VM is annoying and slow.
Conclusion
There are two (not necessarily mutually-exclusive) reasons why Perl 6 is taking fourteen years to arrive:
- The Perl 6 developers are not very motivated. They have lost interest in working on Perl 6 and do not believe in its success. Most of them have probably moved on to using other languages.
- The Perl 6 developers are incompetent and they do not have what it takes to develop a complier, a task achieved by so many others in the last 14 years.
In any case, you can safely forget about Perl 6. Don't pay attention to it anymore. Don't talk and write about it. You will only confuse yourself more.
Comments
Reddit post