Hello,
More of my philosophy about Raku, formerly known as Perl6..
I am a white arab from Morocco, and i think i am smart since i have also invented many scalable algorithms and algorithms..
Raku, formerly known as Perl6, is a very interesting,
very powerful programming language that represents the
next evolution of Perl.
In my opinion, it fixes many of the problems with Perl5.
the features of Raru on their own are pretty compelling.
It has most of the features you would expect in most
modern programming languages:
Classes, first-class functions, asynchronous programming,
and all the normal structured programming stuff—in addition
to the normal Perl stuff with regular expressions and string manipulation.
However, it also has a lot of features that are not found
in many other languages, and certainly not usually in the same
one.
Optional typing. Similar to TypeScript or Julia, types may be declared,
but are not required. Unlike Python, declared types will be enforced.
Pattern matching. Like Haskell, different function definitions can be
defined for different input values.
Multiple dispatch. Like Julia or Common Lisp, different function bodies
can be defined for different sets of argument types (a bit like pattern matching, but on types instead of values).
Lazily-generated sequences, like Haskell or Clojure.
Lisp-like AST macros.
Junctions—a feature unique to Raku as far as I know, but similar to
sum types (a.k.a. algebraic data types or variant types). However,
Junction types are more than merely a sum, and may include logical
expressions in their definitions.
Built in syntax for defining grammars and generating parsers.
Raku is a weird confluence of Perl-like features and extremely
sophisticated abstractions to come out of programming language research.
Raku is a language that has it all.
It somehow fits. Where Perl has always been the poster-child for dealing
with patterns and strings, Raku extends ideas about patterns into other
aspects of the language; The type system, function dispatches, and even
to the code of the program itself. It’s almost as if the entire language
is some kind of engine for reasoning about patterns—both textual and symbolic.
Python uses a global interpreter lock, you can't execute two threads at
the same time. Raku, formerly known as Perl6, can.
Raku, formerly known as Perl6, has a great chance of adoption for a
variety of reasons. There are no popular dynamic languages with a
working concurrency model (I'm looking at you, GIL); Perl 6 has a
working concurrency model. With Moore's law coming to an end,
this is a huge advantage. Further, it goes far beyond the primitive
threads and locks which languages tend to offer.
I'd also point out that it has a very advanced OO model which pretty
much leaves most competitors in the dust. On top of that, your classes
have fewer lines of code and are easier to read.
I am also working with Raku, formerly known as Perl6, and i invite you
to download the following interesting book about Raku in a PDF format so
that to learn it:
https://greenteapress.com/wp/think-perl-6/
And you can download the stable version of Raku, formerly known as
Perl6, from the following website:
https://rakudo.org/
Thank you,
Amine Moulay Ramdane.
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)