Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Perl 6 – jOpenSpace.cz 2017

212 views

Published on

Má smysl používat Perl 6? Postmoderní jazyk, lepicí páska, která drží pohromadě celý internet, TIMTOWTDI, Camelia a děti s poruchou autistického spektra.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Perl 6 – jOpenSpace.cz 2017

  1. 1. Perl 6 – jOpenSpace.cz 2017 David Ondřich, Aveco grafika Tim Toady, Alan Burlison, Ben Halpern, Stack Overflow
  2. 2. Proč Perl?
  3. 3. Proč Perl? • všudypřítomnost • „již 30 let nejmodernější jazyk“ • silné zázemí, široká podpora • dlouhodobý vývoj, dospělost • Perl, the first postmodern computer language [2] • škála knihoven • vyspělý balíčkovací systém • generovaná dokumentace
  4. 4. Proč Perl 6?
  5. 5. Proč Perl 6? • zlomky, komplexní čísla, … say (1/13 + 3/7 + 3/8).perl; # <641/728> say (3 + 5i) * (2 - 2i); # 16+4i • lazy evaluation my @sequence = 1, 1, { $^a + $^b } ... *; say @sequence[6]; # 13 .say for '50TB.file.txt'.IO.words; • Unicode, stringy my $multiline = q:s:to/EOF/; c[HEBREW LETTER ALEF] and $scalar will be interpolated, @array won't. EOF
  6. 6. Proč Perl 6? • mnoho knihoven integrovaných do jádra • datum / čas • IPC – signály, systémová volání • lazy IO přístup • Data::Dumper, Getopt::Long, … • syntaktický cukr • parametry subrutin – defaultní, volitelné, typované • přetěžování subrutin • hyperoperátory, junctions • regulární výrazy – Unicode, pattern matching • tvorba gramatik / parserů • …
  7. 7. Přechod P5 → P6 • změny syntaxe • gramatika (given-when, volání metod, prázdné znaky, reference) • regulární výrazy • operátory • zdrojový kód defaultně v UTF-8 (lze vynutit jiné kódování) • změny v parametrech CLI, env. proměnných • typy [6] • vestavěné • subsety – subset Prime of Int where *.is-prime; • volně definované (Any) • experimentální transpilery (pro jednodušší kód) • 5to6-nutshell [8]
  8. 8. Infrastruktura 1. Parrot ≤ 2011 2. MoarVM / JVM [6] 3. Rakudo (*) [6] 4. STD 5. zef 6. další – Niecza, Pugs, NQP, …
  9. 9. Má to smysl?
  10. 10. Má to smysl? • rychlost • plná podpora Unicode • paralelní zpracování, konkurentní přístup, asynchronní zpracování • komunita, podpora, balíčky • bioinformatika, matematika • integrace (rozšiřování podpory VM, více jazyků v MoarVM)
  11. 11. Odkazy [1] TIMTOWTDI [2] Perl, the first postmodern computer language [3] A Large-Scale Study of Programming Languages and Code Quality in GitHub [4] Perl 6 Types: Made for Humans [5] The Perl 6 Programming Language [6] Rakudo Perl 6, MoarVM [7] A Mutable Grammar For Perl 6 [8] 5to6-nutshell
  12. 12. Otázky? @dondrich, dond.cz

×