Você está tomando-se Perl e o que você tem para ele? [fechadas]

StackOverflow https://stackoverflow.com/questions/392789

  •  23-08-2019
  •  | 
  •  

Pergunta

eu tenho em Perl anos e sempre achei um divertimento e de linguagem expressiva para trabalhar.

Eu achei que a programação em Perl faz me agradece muito produtivos à sua baixa sobrecarga e do saldo de soluções prontas para problemas comuns no CPAN.

Se você é novo para Perl, o que você tem para ele?

Foi útil?

Solução

Com Perl (e o poder expressivo trás TMTOWTDI), a programação torna-se uma tarefa criativa. Eu posso escrever if($expr) { $statement; } se eu planeja ter muitos else, ou eu posso escrever $statement if $expr; se isso faz mais sentido (por exemplo, eu gosto de escrever:

sub doSomething {
    my($toObject, $argument) = @_;

    die "No object specified" unless defined($toObject);
    die "Object invalid: $toObject" unless $toObject->ISA('Example');

    # Do stuff
}

mas é claro que nem sempre é o mais fácil, e maneira mais expressiva de fazê-lo; assim que eu chegar a uma maneira melhor para a tarefa à mão!). As pessoas reclamam porque Perl permite escrever código olhando horrível; Eu amo Perl porque me permite escrever código que parece bastante me (e sim, eu posso ver a desvantagem de ter uma dúzia de diferentes programadores que escrevem em seus próprios estilos; eu vou abraçar a idéia de que bons escritores podem ser bastante expressivo e compreensível, não importa o quão diferente o assunto).

Com outras linguagens de programação, eu acabo tendo que pensar meu caminho através de camadas de abstração (como é que este Map me dar Collections cujos Iterators posso usar para ... e assim por diante). Com Perl, eu sou geralmente nível apenas uma abstração acima Perl básico. Por exemplo, DBI me dará resultados de banco de dados como o comum, todos os dias Perl escalares, listas e hashes, então tudo que eu sei sobre estas simples, estruturas de dados do núcleo transporta para cada tarefa Coloquei DBI a (estruturas de dados complicado? Isso é o que PostgreSQL é para !).

Eu só estive usando Perl em tempo integral para cerca de um ano, mas estas são as grandes vitórias para mim, e a razão Fui pela primeira vez em tempo integral em Perl depois de um sofrimento ano nas mãos de Java 1.4 do modelo coleções (não pergunte). Outras linguagens de programação me faz sentir como se eu estivesse montando um quebra-cabeça, como você alinhar todos os módulos e pacotes de apenas para a direita ; Perl se sente como uma caixa cheia de Legos, com alguns tijolos "especiais" (como DBI, CGI.pm e Test::*) jogado em boa medida. Existem toneladas de maneiras diferentes para resolver qualquer problema, e Perl permite que você experimente qualquer um deles você gosta, de qualquer forma você gosta.

Outras dicas

Eu estava programando PHP para ganhar a vida, e, em seguida, ouviu falar de sua mudança de :: a \ como um separador de nome-espaço. Eu realmente não estou brincando ou sendo rancorosa, mas isso é realmente o que tem a bola rolar.

Para não ser elitista, mas de repente eu percebi que as pessoas que tiveram a colaborar com quem sabia PHP entendido muito pouco em conceitos de uma forma que me frustrado programação como eles poderiam ser tão cego, as pessoas nos quartos IRC para que fosse não mais uma fonte de ajuda para as minhas perguntas, e eu costumava passar mais tempo respondendo a perguntas e à espera de alguém para transformar-se quem poderia responder a minha. Normalmente eu acabei resolvê-lo sozinho. A maioria do tempo eu percebi foi pessoas re-resolver os mesmos problemas repetidas vezes de maneiras cada vez mais maus.

Eu descobri comportamentos problemáticos em PHP que desafiou a lógica e raciocínio (como a família array_merge_recursive), e funções que eram indocumentados em como usá-los descoberto, e quando eu relatou um bug nas funções, meu erro foi marcado como "Bogus "e eu era esperado para ser psíquico.

Eu tinha um amigo que era constantemente proclamar a bondade de Perl, então eu basicamente deu-lhe um tiro e agora estou viciado como um viciado.

línguas Além disso, minha experiência em outra de ordem superior tipagem dinâmica (JavaScript e Ruby, sim, JavaScript é uma linguagem mais poderosa do que PHP em termos de recursos de linguagem) deixou-me um conhecimento com muitas maneiras de resolver os tipos de problemas facilmente, mas sendo restrito de tal maneira que eu não tinha como usar esses recursos poderosos. Perl satisfeita essa necessidade.

Por Perl e não Ruby? Eu joguei com Ruby um pouco, mas minha experiência me ensinou o apoio e documentação é escassa, a linguagem é lento e imaturo. Bom, pode ser, mas ainda na diminuição da capacidade contra Perl do que eu já vi. E que partilhava do PHP grande falha que tem uma enorme base de usuários composto do total novatos todas as coisas que fazem o caminho errado, e eu realmente queria para não ter de lidar com isso tanto.

Não é bom ser elitista, mas uma vez que você tentou explicar a mesma coisa para 30 pessoas (e levado uma hora para chegar um conceito simples em suas cabeças cada vez) que ele atinja um ponto de frustração. (Eu não posso lidar com a 'Há alguém na internet que está errado' situação, Se eu não posso VER -lo, isso não acontece)

Eu comecei a fazer Perl durante meu terceiro ano em ciência da computação como uma parte de curso 'Linguagens de script'. Eu tenho um amigo estudando biotecnologia e eu a ajudei com alguns scripts de mineração de dados para lidar com bancos de dados de proteínas (análise de arquivos de texto, regexps, verificações de integridade simples). Foi tudo muito natural para fazer em Perl.

Então eu consegui meu primeiro emprego a tempo parcial e teve de usá-lo profissionalmente. I foi responsável pelo desenvolvimento conjunto de scripts em lotes que manipulados alguma parte da lógica de negócios na empresa. E foi a tarefa onde Perl revelou todo o seu potencial. É preciso obter dados de DB? - não há problema, basta ir ao CPAN. Necessidade de wiki automatizar - não há problema, vá para o CPAN. A quantidade de módulos já criados é esmagadora e você pode ter certeza que você sempre vai encontrar o que você precisa em CPAN.

Para resumir. Para mim, Perl é um canivete suíço de linguagens de script. Tudo pode ser feito nele e ele tem um enorme número de módulos adicionais, mesmo para tarefas muito exóticos. E, a propósito, eu mencionei regexps?

Eu ainda não sou tão longo tempo na comunidade Perl eo que me trouxe primeiramente na era humor e sabedoria de Larry Wall. É verdade, Perl tem particularidades, mas a linguagem vem de uma compreensão das coisas que é muito perto do meu, então eu sou muito menos confortável com Python e, em menor grau Ruby.

Eu não faço mais GUI do aplicativo web com WxPerl e ele funciona muito bem. Estou muito interessado em idiomas também em menor conhecido como fator, vaia, rebol e assim por diante, mas tudo em todos é Perl minha escolha. e é porque uma mistura de sintaxe poderoso (pode ser muito funcional se você como ele), a comunidade, CPAN é claro, e, como eu disse antes, devido à sensação de aconchego de estar no lugar certo.

Perl é sua comunidade, que é a razão para usá-lo tanto a nível social e prático. (Veja CPAN e PerlMonks, o que provavelmente inspirou SO.)

Há um monte de liberdade quando a codificação em Perl; você pode escrever alguns hacks ilegíveis maus-louco, mas não leva muito tempo, uma vez que você tenha obtido uma sensação para a linguagem (e aprendeu a usar perltidy :-)) antes de você perceber que o código perl bem escrito pode olhar francamente bonita.

É interessante; I acabou como um full-time Perl programador depois de saber isso para o meu trabalho do tipo sysadmin na faculdade; e agora é a minha mais forte habilidade. Vou ficar com Perl por um tempo, porque até agora a linguagem tem sido versátil para crescer comigo. Eu escrevo um monte de software de sistemas em Perl, e decidiu pegar programação web por diversão, e Catalisador estava lá esperando por mim. Eu quero experimentar um novo paradigma de linguagem? Perl provavelmente vai apoiá-lo. Em contraste, quando eu estava codificação em PHP por um tempo, eu imediatamente senti como se estivesse pressionando contra um teto de vidro.

Eu trabalho como uma solução de problemas tecnológicos para uma grande organização no sul OH. Eu tive que aprender Perl para manter alguns sistemas de manipulação de texto de rede automatizado funcionando e, eventualmente, ficou um pouco animado com isso. Eu finalmente pensei em mim como um desenvolvedor e escreveu alguns programas que analisados ??alguns dados do banco de dados e fizeram vida de algumas pessoas um pouco mais fácil. Mas depois de ler alguns dos posts sobre este site e ouvir o podcast stackoverflow e mesmo de começar a ler o livro código completo da lista de leitura sugerida de alguém eu já não tenho quaisquer ilusões que eu era um desenvolvedor Perl ou qualquer outra linguagem para esse assunto . No entanto, talvez um dia eu poderia ser.

Eu tinha usado awk um tempo poucos para scripts shell caminho, caminho de volta nos dias. Em um projeto antigo que precisávamos para implementar a conexão protocolo de uma TELNET, então eu escrevi uma versão rápida em Perl 4. Ele funcionou muito bem, e eu comecei a realmente como o idioma.

Mais tarde, eu escrevi um grande completamente aplicação web comercial em Perl 5, completo com a sua própria estrutura e base de dados. Tive o cuidado de não usar a muitas das características mais esotéricas do Perl, então o código parecia mais C do que Perl. Funcionou muito bem, o desempenho foi bom e o código foi facilmente estendido.

Recentemente eu estive trabalhando em Java, mas muitas vezes eu encontro-me faltando tipificação fraca do Perl, e sua capacidade de coisas Encapsular maneira melhor do que Java. Meus recursos favoritos estavam sendo capaz de colocar datastructures Perl (arrays e hashes) e código diretamente em arquivos de configuração e executá-los, bem como a capacidade para amarrar código para sintaxe como matrizes. Tanto levar a algum código realmente liso.

Paul.

sintaxe simples, recursos de script poderosas para sistemas UNIX win32 e, e totalmente poderosa regex!

Eu Perl captador no meu primeiro emprego onde eu tinha que escrever muitas script de automação para engenheiros elétricos para datalogs mina e formatá-los para o Excel e, por vezes, lidar com o SQL Server também. Com Perl eu poderia normalmente obter algo trabalhando muito rapidamente, então tudo é bom na terra de fabricação. : P

Eu comecei usando Perl como um reforço para o nosso processo de compilação de desenvolvimento de sistemas embarcados. Precisávamos desenvolver diversas saídas com base em nossa carga compilado cruz e Perl foi um grande ajuste.

Os nossos aprimoramentos incluídos ponto-flutuante para conversão hexadecimal, S-registro de pós-processamento, e modificações de soma de verificação.

Não que esse tipo de trabalho não pode ser feito com muitas outras ferramentas, mas eu recomendaria definitivamente Perl para o trabalho build-relacionado.

O que me trouxe para Perl foi quando eu vi o DBI e percebeu que eu poderia escrever os programas ESQL / C Eu estava escrevendo na época, em um quinto do tempo.

O que me manteve usando Perl é que as duas outras línguas provável para derrubar-lo são ambos fortemente tipado. Isso é

print "10" + 5;

é um erro de tipo, em vez de 15.

Eu sou não levá-lo para cima. Eu tive que trabalhar em um projeto em Perl, há alguns anos, e eu vim para realmente não gosto da língua. Ele tem uma sintaxe às vezes desajeitado e um monte de truques loucos que eu achei difícil de trabalhar. Honestamente, acho que Ruby substituído Perl em muitos aspectos:. É bom para aproximadamente as mesmas coisas, mas tem características muito agradáveis ??e é mais fácil de usar

Perl ainda tem CPAN, porém, que mesmo Ruby não pode igualar (embora Ruby tem um monte de bibliotecas úteis, também).

Eu considerei aprender Perl ano passado.

Foi a única tecnologias que decidi ativamente não aprender. Isso não é nada diretamente contra a própria linguagem, ele só parecia que eu estaria vindo para a festa de fim de 10 anos também. É muito útil para as tarefas shell script que ele foi projetado para, mas para mim, pessoalmente, eu prefiro línguas com uma maior coerência.

Perl 6 parece que ele está em hiato indefinido e até mesmo quando ela chega Eu não acredito que ele vai fazer a língua profundamente mais atraente.

Além disso, Larry Wall me assusta.

Para a minha situação Perl não era a escolha e isso é certo porquê.

Perl não é tão mau como eu pensava. Eu costumava usá-lo em um script casal de clientes cerca de um ano atrás, e até mesmo começou a gostar um pouco. Então, novamente, eu nunca já perdeu uma vez.

A razão? É principalmente uma linguagem somente para gravação. Indo acima de uma solução de 100 linha fez-me ter cuidado com o meu próprio código, o que definitivamente não é um bom resultado. Com outras línguas que bar é consideravelmente maior (talvez 1000 ou 10000 linhas).

Não vejo nenhuma razão para ir para o Perl em novos projetos, para novos usuários, em -soon- de 2009.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top