Hi Radhakrishnan,

I think the question you are asking directly relates to your
experience as a programmer. If you have a lot of experience and a
"systems programming toolkit" under your belt (classic bash shell
scripting, sed, awk, and perl_5 ), what does Raku/Perl6 add? The short
answer is: quite a lot. I think the three main reasons are 1).
Unicode/Regexes/Grammars, 2). Rational numbers, and 3). Flexible--but
potentially very stringent--Data Typing (including 'Gradual Typing').

1. Others have chimed in extolling Raku/Perl6's excellent Unicode
support. Also, Raku/Perl6 has completely revamped Regexes making them
much more readable, with whitespace insignificance as default, etc.
(see https://docs.raku.org/language/regexes ). So improved Unicode /
Regex in combination means that you can write the test below against
Bengali digits right out of the box, without having to set an encoding
and/or language (REPL code/results below):

> say $/ if '০১২৩৪৫৬৭৮৯' ~~ /  \d+ /;
「০১২৩৪৫৬৭৮৯」
>

2. Others have also mentioned Raku/Perl6's support for rational
numbers--both via numeric entry, and as a storage mechanism (see:
https://techbeacon.com/app-dev-testing/why-perl-6-game-thrones-programming-languages).
That means you can read/write the numbers below, with expected results
(REPL code/results below):

> 1/3 + 2/3
1
> 1/3 + 1/6
0.5
> (2/3).numerator
2
> (1/6).denominator
6
> (2/7).nude
(2 7)
> (0.375).nude
(3 8)
>

3. Another attraction is Raku/Perl6's 'Typing' implementation (see:
http://blogs.perl.org/users/zoffix_znet/2016/04/perl-6-types-made-for-humans.html
). You can 1). leave variables untyped and rely on Raku/Perl6's
dynamic typing, you can 2). encode variables such that they are
restricted to a static (built-in) type, or you can 3). use 'gradual
typing' (see 
https://www.learningraku.com/2016/11/24/quick-tip-8-user-defined-data-types/
). [Also here: 
https://docs.raku.org/language/typesystem#index-entry-subset-subset
]. This isn't something I've played with extensively, but I imagine
Raku/Perl6's extremely flexible typing system means you can get code
up and running quickly with toy data, then refine the code to exclude
real-world (forbidden) data types.

So I think even if you are an experienced programmer with a solid
"systems programming toolkit", the three points above are all good
reasons to learn Raku/Perl6. You can look up a recent thread on this
mailing-list to see some code solutions to a real-world programming
problem (see: 
https://www.nntp.perl.org/group/perl.perl6.users/2020/05/msg8423.html
).

OTOH, if you DON'T already have a "systems programming toolkit" under
your belt, wouldn't it make more sense just to learn Raku/Perl6, and
not the combination of bash shell scripting, sed, awk, and perl_5 ?
And once mastered, use Raku/Perl6 as a 'glue language' for database,
website/web_services, text_processing/text_mining, and Machine
Learning applications?

https://youtu.be/q8stPrG1rDo

Best, Bill.

W. Michels, Ph.D.












On Sun, Jun 14, 2020 at 8:04 AM Radhakrishnan Venkataraman
<weor...@gmail.com> wrote:
>
> Hi,
> I had been a perl 5.0 user in the past.  Ever since perl 6.0 was announced, I 
> waited, like many, indefinitely.  At last perl 6.0 has just started from its 
> starting block and is also in the race.  I am happy about that.
>
> Perl 5.0 was generally termed to be good at CGI scripting, system 
> administration, web scraping, strong regex, processing text files etc.,
>
> I want to know what perl 6 is so special in.  When perl 5.0 was there, there 
> did not exist any other language to do the same things easily as perl 5.0 
> did. Similarly, in which areas perl 6 is special?  I am unable to know it 
> from google search, as much information is not available.
>
> Further, if concurrency and parallelism are the special things in perl 6, 
> then Rust and Go (so special in both concurrency and parallelism) are already 
> spreading its wings over the information technology field.  Both are 
> statically typed and compiled languages and there would be more "welcome 
> gesture" for these languages in the field.
>
> To put my question simply, where is the space for perl 6 in today's 
> technology?
> Please enlighten me (any body from user group) on this.
>
> Thank you,
>
> Regards,
> Radhakrishnan

Reply via email to