develooper Front page | perl.perl6.users | Postings from June 2020

Re: just curious to know

Thread Previous | Thread Next
From:
William Michels via perl6-users
Date:
June 15, 2020 02:42
Subject:
Re: just curious to know
Message ID:
CAA99HCxcr89LvuW_S5Y-jTyT4E4RWrmZecKXvLunvp5-TAyFrA@mail.gmail.com
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
<weorkay@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

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About