Hacker News new | ask | show | jobs
by oelmekki 3508 days ago
I wonder : what are those new paradigms perl6 is introducing?

I learnt ruby in early 2000', way before rails, because I was attracted to its "it's 100% OO" concept. Now, I use golang, because background jobs have progressively became a capital part of my programs, and I love how it's just about prefixing a function call with a keyword, in golang. The idea of having system programming-like perfs in web doesn't hurt either. What would you say are the groundbreaking new concepts of perl-6 ?

1 comments

I wrote a short answer here: https://news.ycombinator.com/item?id=12890552

If you like go's conc stuff, then I'm sure you'll love Perl 6's async/conc/paralel. stuff: https://docs.perl6.org/language/concurrency#High-level_APIs

I wrote an IRC API with Perl 6 that I really love, since it makes it so easy for me to parallelize a plugin's work, while working with an async protocol, all the while connected to multiple servers, all with the same short script: http://perl6.party/post/IRC-Client-Perl-6-Multi-Server-IRC-M...

Thanks!

I'm going to be honest: nothing in what is described seems to me like a new idea that makes me want to try perl6. Floating point safeness is in R, dsl is in ruby, concurrence is in golang. And unicode... I'm not exactly sure what the problem is with other languages, I guess it never hit me. :)

That being said, it's cool to see all those features in the same language. I'll keep it in mind if anyone mentions all or most of those as pain points.

So, floating point safesness is in R, dsl in ruby, concurency in Go and Unicode in... ? What if you want two features at once ? Or all of them ? ;)

Examples: multi wins(Scissors $, Paper $) { +1 }; # dispatch on types

my @a = 1..5; say [+] @a; # 15

(a,b,c) Z (1,2,3) # ((a,1),(b,2),(c,3))

my $time = now; say now - $time;

class Person does Employee { }

use NativeCall; # WOW

and MORE !

So ansering: why Perl6 hasn't taken off yet ? Becouse language specification was released 11 month ago with referential implementation (just like Amaya in 1996). So give it 2 years, it will be "fully operational" ;)

> So, floating point safesness is in R, dsl in ruby, concurency in Go and Unicode in... ? What if you want two features at once ? Or all of them ? ;)

I'm pretty sure you noticed this was exactly the questions my comment was addressing ;)

Oops, but noticied now :)