|
|
|
|
|
by Jedd
3516 days ago
|
|
Because I don't know much about perl, and not much more about Python, and much much less about ruby, would you kindly give a couple of examples of : > It'll also take a bit for people who loudly push 25-year-old languages like Python and Ruby like holy grail to... die off (no, I don't want them to convert). Perl 6 is a next generation language over them and it'll take next generation of programmers to make use of the new programming paradigms. ... the kinds of paradigms or ng features that perl has that python doesn't? |
|
Grammars are YACC on steroids. You can very simply say "this parsing state requires reading dot-separated things".
Junctions define multiple plausible states. In certain instances, they can look like a feature you know, but they're more generalized than any of those: sum types, switch statements with multiple cases, combined guards, sets…
Autothreading gives the ability to automatically parallelize certain constructs (for instance, when an expensive operation happens on a junction).
Perl6 also includes features found only in non-mainstream languages, like lazy lists, macros, and runtime addition of syntax.
And it has most modern concurrency primitives, unlike most languages which only have one: threads, locks, semaphores, promises, channels, event loops, supplies.
To be clear: Perl 6 is not without flaws (marketing and performance, for instance), but it is definitely innovative. It lets you write expressive code more succinctly than mainstream dynamic languages, in a way similar to how Python lets you write expressive code succinctly compared to C++.