[Brasil-PM] Perl 5.20.0 Lançado! \o/

Daniel de Oliveira Mantovani daniel.oliveira.mantovani em gmail.com
Quarta Maio 28 11:19:36 PDT 2014


garu++

Eu ainda não me conformo com a ida da Diana, parece que foi ontem que
nós enchemos a cara no Rio!

2014-05-28 14:27 GMT-03:00 Thiago Rondon <thiago em aware.com.br>:
> Garu++
>
> Você deveria jogar este teu e-mail como artigo em portais de
> desenvolvedores e tecnologia.
>
> Isto é excelente para mostrar como a linguagem vem se desenvolvendo!
>
> Alias, seus e-mails, são artigos. ;-)
>
> Abs,
> -Thiago Rondon
>
>
> 2014-05-28 2:00 GMT-03:00 breno <breno em rio.pm.org>:
>> Oi pessoal,
>>
>> é realmente uma ótima época para o Perl 5. A comunidade internacional
>> continua cada vez mais ativa e a versão 20 que acabou de ser lançada é
>> talvez uma das mais interessantes dos últimos tempos! Vejam algumas
>> das novidades dessa versão:
>>
>>
>> Assinaturas de subrotinas
>> -----------------------------------
>>
>> Até então, para pegar os argumentos passados a uma função ou método em
>> Perl, precisávamos manipular diretamente o @_, em código como:
>>
>> sub pessoa {
>>      my ($nome, $idade) = @_;
>>      print "oi $nome, vc tem $idade anos";
>> }
>>
>> Agora podemos escrever:
>>
>> use feature 'signatures';
>>
>> sub pessoa ($nome, $idade) {
>>     print "oi $nome, vc tem $idade anos";
>> }
>>
>> podemos também garantir que nossa sub não terá argumentos:
>>
>> sub pessoa () {
>>     ...
>> }
>>
>> mais informações sobre essa tão esperada feature em:
>> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perlsub.pod#Signatures
>>
>>
>>
>> Desreferenciamento pós-fixado
>> ------------------------------------------
>>
>> Até então, para desreferenciar uma variável em Perl precisávamos
>> envolvê-la em chaves, por exemplo:
>>
>> @lista = @{ $ref->{nomes}[3][-1]{lista} };
>>
>> A versão 20 do Perl 5 agora oferece outra sintaxe, mais clara (porque
>> não envolve as chaves extras) e intuitiva (pq segue a lógica de ação
>> do resto do código, da esquerda para a direita). Nessa sintaxe, o
>> mesmo código acima pode ser reescrito como:
>>
>> use experimental 'postderef';
>>
>> @lista = $ref->{nomes}[3][-1]{lista}->@*;
>>
>> Ou seja, basta acessar a referência desejada e adicionar uma última
>> seta, indicando no símbolo o tipo que você vai desreferenciar, seguido
>> de um asterisco. Podemos desreferenciar dessa forma arrays, hashes,
>> escalares, subs e até mesmo globs!
>>
>> Mais detalhes em
>> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Experimental-Postfix-Dereferencing
>>
>>
>>
>> Hash Slices
>> ----------------
>>
>> Ao manipularmos arrays, é muito comum pegar grupos de valores através de slices:
>>
>> @herculoides = qw( igoo tundro gloop zok gleep );
>> @irmaos = @herculoides[2,4];
>>
>> Também conseguiamos fazer slices de hashes, mas só retornando valores em listas:
>>
>> my %dados = (
>>     nome => 'Thaddeus "Tad" Ghostal',
>>     apelido => 'Space Ghost',
>>     profissao => 'Apresentador',
>> );
>>
>> my ($nome, $apelido) = @dados{ 'nome', 'apelido' };
>>
>> Agora, no 5.20, podemos fazer hash slices completos, convertendo
>> hashes grandes em sub-hashes! O hash slice funciona como o array
>> slice:
>>
>> my %resumido = %dados{ 'nome', 'apelido' };
>>
>> say $resumido->{apelido};  # 'Space Ghost'
>>
>>
>>
>> Outras melhorias
>> -----------------------
>>
>> * Melhor desempenho - o 5.20 está ainda mais rápido que os anteriores,
>> com melhorias de desempenho em expressões regulares, cópia de strings,
>> acesso a chaves de hash e muito mais!
>>
>> * Protótipos até então eram definidos como, por exemplo: sub lala
>> ($$). Agora podem ser escritos como atributos da sub, ou seja: sub
>> lala :prototype($$). A forma antiga ainda é permitida.
>>
>> * Melhor qualidade na geração de números aleatórios, através de um
>> gerador independente de plataforma.
>>
>> * Suporte a Unicode 6.3 (versão anterior suportava o 6.2).
>>
>> * Android adicionado como plataforma suportada - sim, o 5.20 compila
>> para Android! Instruções em:
>> https://github.com/Perl/perl5/blob/blead/README.android
>> A compilação em ambientes Windows também ficou mais rápida e portátil.
>>
>> * E muito mais!
>>
>> * CGI e Module::Build (e seus módulos associados) são alguns dos
>> módulos que estão deixando o core para torná-lo mais leve e moderno,
>> mas ainda estão disponíveis no seu mirror favorito do CPAN.
>>
>>
>> Obituário
>> -------------
>>
>> A versão 20 do Perl 5 contém também uma homenagem a nossa querida
>> Diana Rosa, falecida em maio com apenas 27 anos. Sempre muito feliz e
>> participante ativa da comunidade de Perl Mongers do Rio de Janeiro,
>> sua memória agora está gravada para sempre em uma das versões mais
>> importantes da linguagem que ela tanto gostava. A mensagem está no
>> perldelta e pode ser vista em:
>> https://metacpan.org/pod/release/RJBS/perl-5.20.0/pod/perldelta.pod#Obituary
>>
>>
>> Instalando
>> --------------
>>
>> Pra quem usa perlbrew: perlbrew install perl-5.20.0
>>
>> Pra quem usa plenv: plenv install perl-5.20.0
>>
>> Difícil, não? :)
>>
>>
>> Estatísticas e Agradecimentos:
>> ------------------------------------------
>>
>> As seguintes pessoas foram algumas das responsáveis pelo que se tornou
>> o perl 5.20.0 (embora essa lista esteja certamente incompleta): Aaron
>> Crane, Abhijit Menon-Sen, Abigail, Abir Viqar, Alan Haggai Alavi, Alan
>> Hourihane, Alexander Voronov, Alexandr Ciornii, Andy Dougherty, Anno
>> Siegel, Aristotle Pagaltzis, Arthur Axel 'fREW' Schmidt, Brad Gilbert,
>> Brendan Byrd, Brian Childs, Brian Fraser, Brian Gottreu, Chris
>> 'BinGOs' Williams, Christian Millour, Colin Kuskie, Craig A. Berry,
>> Dabrien 'Dabe' Murphy, Dagfinn Ilmari Mannsåker, Daniel Dragan, Darin
>> McBride, David Golden, David Leadbeater, David Mitchell, David Nicol,
>> David Steinbrunner, Dennis Kaarsemaker, Dominic Hargreaves, Ed Avis,
>> Eric Brine, Evan Zacks, Father Chrysostomos, Florian Ragwitz, François
>> Perrad, Gavin Shelley, Gideon Israel Dsouza, Gisle Aas, Graham Knop,
>> H.Merijn Brand, Hauke D, Heiko Eissfeldt, Hiroo Hayashi, Hojung Youn,
>> James E Keenan, Jarkko Hietaniemi, Jerry D. Hedden, Jess Robinson,
>> Jesse Luehrs, Johan Vromans, John Gardiner Myers, John Goodyear, John
>> P. Linderman, John Peacock, kafka, Kang-min Liu, Karen Etheridge, Karl
>> Williamson, Keedi Kim, Kent Fredric, kevin dawson, Kevin Falcone,
>> Kevin Ryde, Leon Timmermans, Lukas Mai, Marc Simpson, Marcel Grünauer,
>> Marco Peereboom, Marcus Holland-Moritz, Mark Jason Dominus, Martin
>> McGrath, Matthew Horsfall, Max Maischein, Mike Doherty, Moritz Lenz,
>> Nathan Glenn, Nathan Trapuzzano, Neil Bowers, Neil Williams, Nicholas
>> Clark, Niels Thykier, Niko Tyni, Olivier Mengué, Owain G. Ainsworth,
>> Paul Green, Paul Johnson, Peter John Acklam, Peter Martini, Peter
>> Rabbitson, Petr Písař, Philip Boulain, Philip Guenther, Piotr
>> Roszatycki, Rafael Garcia-Suarez, Reini Urban, Reuben Thomas, Ricardo
>> Signes, Ruslan Zakirov, Sergey Alekseev, Shirakata Kentaro, Shlomi
>> Fish, Slaven Rezic, Smylers, Steffen Müller, Steve Hay, Sullivan Beck,
>> Thomas Sibley, Tobias Leich, Toby Inkster, Tokuhiro Matsuno, Tom
>> Christiansen, Tom Hukins, Tony Cook, Victor Efimov, Viktor Turskyi,
>> Vladimir Timofeev, YAMASHINA Hio, Yves Orton, Zefram, Zsbán Ambrus,
>> Ævar Arnfjörð Bjarmason.
>>
>> Perl 5.20.0 representa aproximadamente 12 meses de desenvolvimento
>> desde o 5.18.0 e contém aproximadamente 470.000 linhas modificadas por
>> 2.900 arquivos, feitas por 124 autores diferentes. A linguagem Perl
>> continua florescendo em sua terceira década graças a sua vibrante
>> comunidade de desenvolvedores e usuários - e isso inclui você!
>> Obrigado por usar Perl :)
>>
>> Divirtam-se!
>>
>>
>> []s
>>
>> -b
>> _______________________________________________
>> Brasil-PM mailing list
>> Brasil-PM em pm.org
>> http://mail.pm.org/mailman/listinfo/brasil-pm
> _______________________________________________
> Brasil-PM mailing list
> Brasil-PM em pm.org
> http://mail.pm.org/mailman/listinfo/brasil-pm



-- 

-dom

--

Daniel de Oliveira Mantovani
Business Analytic Specialist
Perl Evangelist /Astrophysics hobbyist.
+55 11 9 8538-9897
XOXO


Mais detalhes sobre a lista de discussão Brasil-PM