Um iniciante no Perl deve aprender tanto o Perl 5 quanto o 6? [fechadas]

21

Ultimamente, comecei a brincar com o Perl 5, e parece muito interessante. Gostaria de passar algum tempo aprendendo mais profundamente quando puder.

Minha pergunta, como o Perl 6 está ocorrendo lentamente (eu acredito ...) e é dito que rompe a compatibilidade com versões anteriores, é esta: estou aprendendo melhor o Perl 5 e depois o Perl 6, ou está aprendendo o Perl 6 diretamente um investimento de tempo melhor, de acordo com para você?

Se as alterações do Perl 5 para o 6 dificultam o entendimento do Perl 5, certamente devo começar com o Perl 5 para poder ler scripts "antigos", depois verifique o Perl 6. Há também o "Perl 6 ainda não está completamente lançado "problema. Eu sei que há uma implementação inicial do Perl 6, mas se o Perl 6 não for oficialmente lançado antes de mais alguns anos, continuarei com o 5 por enquanto.

Eu certamente gostaria de ter uma ideia sobre isso. Sinta-se livre para discutir coisas relacionadas. Meu interesse em linguagens de script é relativamente novo.

Obrigado!

Joanis
fonte
3
Perl 6 ainda não foi lançado. Se você precisar disso para "trabalho real", concentre-se no Perl 5. #
Indo com os votos, depois de todo esse tempo, mas muitas respostas interessantes IMO. Gosto que você tenha trazido a ideia de que Perl 5 e 6 deveriam ser considerados idiomas diferentes. Obrigado!
Joanis

Respostas:

21

Perl 5 e Perl 6 são idiomas diferentes, não duas versões do mesmo. O Perl 6 é fortemente inspirado no Perl 5, mas não exclusivamente. Eu sugeriria focar no Perl 5 por enquanto. Se você assistir a comunidade (eu sugiro o agregador Planet Perl Iron Man , você também verá postagens e conteúdo da comunidade Perl 6 e poderá ficar de olho nela. Além disso, muitos recursos do Perl 6 estão voltando lentamente para Perl 5.

Além disso: apesar do ódio de algumas pessoas pelo Perl, agora é 2010, não mais 1995, e o Perl avançou imensamente e continua a fazê-lo.

phaylon
fonte
13

Sim para Perl 5

Claro, aprenda Ruby e até Python, mas Perl é diferente. E inteligente além da razão. Perl é uma daquelas línguas em que você pode aprender coisas que nunca desejou e feliz por ter aprendido e ainda assim terá que reler o livro Camel a cada dois anos, apenas para não purificar mentalmente seus perlismos.

Perl é de sintaxe alienígena, mesmo para os profissionais mais experientes. Pessoalmente, acredito que você expandirá seus horizontes com o Perl.

Perl 5 é o que eu considero ser Perl 1.5. Perl 6 é o que eu considero Perl 2.0, talvez deva até ser nomeado algo completamente diferente, então sim 5 e 6 valem a pena aprender por si só e por seus próprios méritos. Disclaimer = Eu ainda estou lutando com o Perl6 ...

Jé Queue
fonte
4

Em resposta à pergunta do título: sim!

Como você apontou, focar no Perl 5 não é uma perda de tempo, uma vez que a grande maioria dos exemplos, tutoriais e aplicativos no Perl será do ramo 5.

Dito isto, você certamente deve acompanhar o projeto Perl 6 e seu progresso. Demorei um pouco para aprender Python 3 antes de seu primeiro lançamento, só para entender quais mudanças estavam sendo feitas e por quê. Isso me ajudou ao migrar da base de código 2.x para a 3.x.

Eu não investiria muito tempo aprendendo os detalhes do Perl 6; uma profunda compreensão do Perl 5 o servirá melhor por enquanto. Mas uma vez lançado (sempre que isso for sangrento), um entendimento básico do Perl 6 o ajudará a seguir em frente.

bedwyr
fonte
3

O Perl 5 é a linha estável, que provavelmente se desenvolverá em uma linha diferente do Perl 6. O Perl 6 provavelmente terá que descobrir um novo nome que Perl.

Perl 6 é, francamente, incrível . Mas ainda não é estável o suficiente para uso corporativo na produção (pelo menos pelo que entendi). Obviamente, estável na empresa significa Perl 5.8 na minha experiência ...

Paul Nathan
fonte
1

Não aprenda Perl 6.

O CPAN ainda nem o suporta. (Suspeito que ele seja fornecido com um módulo que permita que o Duke Nukem Forever seja reproduzido inteiramente através do uso de expressões regulares ...)

Kevin Cantu
fonte
Hehe ... vapourware ftw!
Simon Whitaker
1
O Perl 6 não usar expressões regulares, ele usa regras (e eles são fantásticos!): En.wikipedia.org/wiki/Perl_6_rules
Gaurav
Nova piada necessária.
Sean McMillan
@SeanMcMillan Uma piada que fiz no ano passado é antiga? : P (eu não posso fazer nada se Duke Nukem Forever foi lançado naquela época ...)
Kevin Cantu
1

O Perl 5 está estável agora e acho que é preciso aprender a versão estável mais recente primeiro. Atualizar para outra versão se tornaria mais fácil.

Abi
fonte
1

Melhor conselho: não, não, não! O Perl 5 é o melhor agora, já que o Perl 6 não está totalmente desenvolvido.

Dinâmico
fonte
0

Se você estiver interessado em linguagens de estilo de script, sugiro aprender Python e / ou Ruby. Eu aprendi Perl vários anos atrás. A principal coisa que aprendi com isso são expressões regulares. A maioria dos outros idiomas que foram criados no regex são derivados da implementação do Perl. Mas além disso, eu não usei o Perl por tanto tempo. A principal crítica do Perl é que alguns o consideram uma linguagem "somente para gravação". É muito difícil voltar ao código antigo e entender facilmente o que foi feito.

É minha percepção de que mais progressos estão sendo feitos com Python e Ruby (como Rails), do que com Perl. É sempre bom esticar seu cérebro e aprender um novo idioma, mas Perl provavelmente não seria uma sugestão importante.

Erik
fonte
1
Na verdade, o javascript é o rei do script.
Daniel Little
Obrigado pela contribuição. Aparentemente, Perl não seria uma boa escolha hoje em dia. Só que curioso ... É fácil escrever one-liners incrivelmente concisos no prompt do shell com Python, Ruby e Javascript?
quer
3
Perl mudou muito desde os tempos antigos. E ainda há muitas pessoas que optam e aprendem. Coisas como teste, documentação, interoperabilidade, compatibilidade retroativa, estabilidade e foco em uma boa cadeia de ferramentas são atributos mais modernos do Perl.
Phaylon
Na minha experiência, aprender Perl ajuda no aprendizado de Ruby, pois muitos conceitos são compartilhados.
justkt
Regexps Perl pode analisar HTML (ou algo)