• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

inginheiiro

PERL é uma linguagem viva?

23 mensagens neste tópico

A utilização de perl nos dias de hoje é massiva.

perl nunca foi substituido por PHP. php é uma linguagem de scripting orientada á internet. Perl não é uma linguagem de scripting orientada à web, embora se possa desenvolver para a web usando CGI, mod_perl, perl template, mason , etc etc.

para que possam ter uma ideia da sua utilização: não existe nenhuma operadora movel (optimus, vodafone, tmn, amena, orange, telefonica, etc) que NÃO USE PERL extensivamente nas suas operações diárias de milhões de dados de BD Oracle e maquinas SUN Solaris, ou HP-UX, ou clustering linux, ou windows, ou ...

obviamente que perl não é usado em pequenas/medias empresas por varias razões que não interessam para o assunto.

Perl é muito usado por administradores de sistemas . Um Adm de sistemas não é um tipo que gere uma, duas ou 5 maquinas com 2,3 S.O. instalados e cheias de buracos que me leva uns 10 minutos a ter uma shell com permissões de root.

Bottom Line:

Não estou a defender que perl é o melhor que existe no mundo, mas sim que é extensivamente usado por uma comunidade bem mais vasta que PHP, pois o dominio de PHP é WEB e se bem me recordo da ultima vez que levei com uma panela de ferro na cabeça, a area de Tecnologia , informatica não é só WEB...

/ing

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora, eu adoro Python, mas profissionalmente a linguagem que mais tenho usado é Perl.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Desculpa lá mas tás enganado a Debian não está a deixar de usar Perl...

E não vejo administradores de sistemas a deixarem de usar Perl.

O Python está a substituir o Perl noutros lados, por exemplo a distribuição Ubuntu desenvolve as suas próprias aplicações em Python (mas não larga as do Debian que usam Perl), e também no desenvolvimento de outras pequenas aplicações. A maior parte dos administradores de sistemas tem uma cultura *nix antiga (e também desadequada) e continua a usar Perl.

O Perl não precisa de CGI para a WWW. Como eu e outros dissemos, aliás com o mod_perl, é possivel não só fazer tudo o que o php faz, como ainda mais.

É verdade que o Python substituiu o Perl em muitos sitios, e tenho a certeza que continuará a ganhar muitos adeptos, mas não vai acabar com o Perl, para além disso parece-me que o Perl irá recuperar...

Perl não é "uma linguagem de elite", está longe disso!

Só quem não lida com a linguagem e com os programadores de Perl é que pode achar isso.

É apenas uma linguagem que durante algum tempo esteve técnicamente ultrapassada e por isso caiu no desuso. No entanto o engenho dos programadores de Perl e a nova geração da linguagem permitiu que boa parte dessas limitações fossem ultrapassadas, e recuperou parte da competitvidade da linguagem (por exemplo o mesmo não aconteceu com o TCL). Pessoalmete acredito que ainda vai recuperar bem mais, sendo que tem a vantagem de haver muitos mais programadores de Perl do que de Python e Ruby.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Desculpa lá mas tás enganado a Debian não está a deixar de usar Perl...

E não vejo administradores de sistemas a deixarem de usar Perl.

Isso é o mesmo que dizeres que PHP é muito usado no mundo de administração *nix porque há uma distro que tem todas as suas interfaces e programar de CLI em PHP. :)

O Perl não precisa de CGI para a WWW. Como eu e outros dissemos, aliás com o mod_perl, é possivel não só fazer tudo o que o php faz, como ainda mais.

Se precisa ou não, não sei, mas é raro encontrares servidores com mod_perl, o que vai dar ao mesmo que o mod_python. :D

É verdade que o Python substituiu o Perl em muitos sitios, e tenho a certeza que continuará a ganhar muitos adeptos, mas não vai acabar com o Perl, para além disso parece-me que o Perl irá recuperar...

Atenção que eu não disse que o Python vai matar Perl. :D Apenas disse que na área dos sistemas *nix, Perl vai sendo substituido por Python. E a programação não é só administração de sistemas *nix. :P

Perl não é "uma linguagem de elite", está longe disso!

Só quem não lida com a linguagem e com os programadores de Perl é que pode achar isso.

É apenas uma linguagem que durante algum tempo esteve técnicamente ultrapassada e por isso caiu no desuso. No entanto o engenho dos programadores de Perl e a nova geração da linguagem permitiu que boa parte dessas limitações fossem ultrapassadas, e recuperou parte da competitvidade da linguagem (por exemplo o mesmo não aconteceu com o TCL). Pessoalmete acredito que ainda vai recuperar bem mais, sendo que tem a vantagem de haver muitos mais programadores de Perl do que de Python e Ruby.

Eu não codo Perl (embora veja novos scripts Perl todos os dias), nem lido com programadores de Perl. Se é tecnicamente ultrapassada ou não, se é competitiva ou não, não sei porque não programo em Perl. Por aquilo que vejo, Perl é um pouco uma linguagem de elite uma vez que pouca gente (que eu conheça) domina, tal como acontece com Common Lisp, Scheme, e outras linguagens funcionais (espero não tar a dar nenhuma bacorada com linguagem funcionais x: [e não estou a dizer que Perl é uma linguagem funcional]).

Pode até haver mais programadores de Perl do que de PHP, Python e Ruby tudo junto, mas..., eu não os vejo... :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Isso é o mesmo que dizeres que PHP é muito usado no mundo de administração *nix porque há uma distro que tem todas as suas interfaces e programar de CLI em PHP. Wink

Não, não é!

Eu nunca disse que o Perl é mais utilizado porque é utilizado pela Debian.

Eu disse que Perl é muito utilizado e dei um exemplo de uma distribuição de um sistema operativo que usa intensamente o Perl. E distribuição essa que está na base de várias outras distribuições desse sistema operativo e que por isso também usam Perl.

Se precisa ou não, não sei, mas é raro encontrares servidores com mod_perl, o que vai dar ao mesmo que o mod_python. Smiley

É verdade que não costuma haver oferta de hosting com isso, mas também é verdade que não é só do hosting comodity que vive o hosting, há muitas empresa que fazem self-hosting, e há muitos servidores privados (físicos e virtuais) e nesses não há controlo sobre o que está a ser utilizado. De qualquer forma a maior parte das empresa que usam mod_perl e mod_python não usam comodity hosting, ou alojam os seus próprios sites nos seus servidores, ou contractam alguma empresa de consultoria que trata disso, para além disso a maior parte das aplicações que usam mod_python e mod_perl são a nível de intranet. Ou seja, não podes pesquisar a existência pela oferta, porque na maior parte dos casos não é assim que funciona o mercado para a utilização de python e perl.

O Python está a retirar utilizadores ao perl, isso é certo do Ruby tá a tirar ao Perl, ao Python e ao PHP, também é certo. No entanto há um fronteiras que essas que não vão ser ultrapassadas. Exemplos:

*  A maior parte dos mais velhos administradores de sistemas *nix, não vai mudar para Perl, normalmente eles já se acomodaram ao que sabem e têm posições de liderança nas equipas, e embora talvez alguns tolerem a entrada de pessoal que faça scripts em Python, a grande parte só vai continuar a permitir Perl e BASH, porque simplesmente é isso que eles conhecem e não querem arriscar a que em caso de saida do ppl que sabe Python, perder o know-how que têm sobre esses scripts;

* A Debian dificilmente muda a infra-estrutura da sua distribuição de Perl para qualquer outra coisa. O que está a ser feito de raiz pode ser mudado, mas a mudança do que já existe seria demasiado demorada e desncessária. E quem diz a Debian diz outras distribuições de GNU/Linux, ou de outros sistemas operativos;

* Existem ainda muitos programas a ser desenvolvidos em Perl, mesmo perdendo adeptos, o Perl ainda tem muitos adeptos e é dificil justificar às empresas a migração de Perl para qualquer outra coisa;

Eu acredito que o Python e o Ruby vão continuar a ganhar adeptos a grande velocidade, mas também acredito que há barreiras que não vão ultrapassar, principalmente com sistemas legados e com administradores de sistemas mais experientes, e o Perl também está a evoluir tecnicamente e isso vai fazer com que vá haver menos perda de utilizadores e que conquiste novos programadores.

Não há mais programadores de Perl do que de PHP, mas do que de Python e Ruby há. E sim, normalmente é uma comunidade mais discreta, apesár de ser muito activa, mas eu penso que isso irá mudar. Por exemplo a comunidade de Lx tem encontros regulares e há um grupo de dimensão considerável, sendo que não há comunidades comparáveis em outras linguagens (excepto no ABAP e no Java, que são linguagens muito ligadas às empresas de grande dimensão que as desenvolveram e empresas essas que financiam e promovem actividades).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Vou pensar nisso...

Entretanto gostava só de vos contar uma coisa, que demonstra que quem acha que o Perl não é muito utilizado está enganado... E com isto não estou a falar para ninguém em particular...

Hoje durante um pequeno passeio a pé resolvi contar o numero de programadores de Perl com quem já convivi de uma forma ou de outra.

Colegas de trabalho (em duas empresas): 10;

Pessoas com quem convivi socialmente: 10 ou mais;

Perl Monguers de Lx com quem já estive e colegas da formação em Perl OOP com quem estive nos ultimos dois dias: +/-35;

Ou seja, que eu saiba (e nunca me esforcei por saber), conheço mais de 50 programadores de Perl, sendo que eu vou em breve trabalhar para uma empresa especializada em programação com Perl, e essa empresa tem algumas dezenas de programadores. Tirando C acho que não há linguagem de programação para a qual eu tenha convivido com tantos programadores (mas também nunca contei).

Como vêm não é assim tão pouco utilizado...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já me chamam cota :D

Eu comecei foi a trabalhar bastante cedo, comecei a trabalhar ainda quando estudava. E também me dou com muita malta ligada à Informática. Tenho apenas 25 anos.

Mesmo um programador com 15 anos de experiencia tem no máximo 10 anos de experiencia na tecnologia com que trabalha neste momento.

Não é verdade!

Muitos programadores podem estár nessa condição, mas não estão todos!

Por exemplo quem programar em C ou C++, pode ter esses 15 anos de experiência.

Deixa-me dar-te o exemplo de alguém que à 20 anos tenha começado a desenvolver para Unix. O Unix e a linguagem C foram criados no fim do ano de 1969 e apesár de terem tido evoluções conceptualmente muito do que se aplicava na altura ainda se aplica aos *nix de hoje.

O perl, parece-me a mim ( abri este tópico para analisar isso mesmo ) , está em plena fase descendente ou mesmo já na cauda da curva de utilização.

Sem duvida!

Mas também não tenho duvida que a curva vai inverter-se.

A curva existe por duas grandes razões:

* O custo de aprendizagem e adaptação a um estilo de código produtivo em Perl é mais elevado do que em outras linguagens como o Python e o Ruby (não sei Ruby e já fiz um cilente de SOAP em Ruby);

* O Perl tem um design bastante antigo, no seu core não suporta da melhor forma suficientemente segura, coisas que até já nem são muito recentes como o multhi-threading e o OOP (se bem que este ultimo tem a maior parte dos seus problemas resolvidos utilizando modulos que não fazem parte do core da linguagem);

O Perl 6 vai mudar o segundo ponto e vai mudar o primeiro para muitos programadores (não vai mudar para todos), não me espantava de ver muita malta que programa em C++ e em Java, a passar a usar também o Perl. A versão 6 do Perl vai mudar muita coisa no Perl, por exemplo um dos seus pontos mais fracos que é o suporte no core para OOP, para passar a ser uma das linguagens com uma implementação de OOP mais completa e mais segura.

O Perl 6 vai ser:

* provávelmente a linguagem de programação mais flexivel a nível de suporte para paradigmas de programação, de forma mais completa e segura;

* a sintaxe mais flexivel, facilitando a entrada de programadores de outras linguagens;

* a sintaxe mais produtiva (a expressividade vai ser muito reduzida);

* a semantica vai ser muito mais produtiva;

* vai incluir nativamente suporte para tecnicas que permitem suportar nativamente várias paradigmas de engenharia de sofwtare;

O Perl 6 foi desenhado tendo em conta:

* uma realidade tecnológica completamente diferente;

* uma realidade de engenharia mais evoluída;

* os erros cometidos no passado do Perl;

* os erros e boas ideias utilizadas em outras linguagens de programação mais modernas;

* erros e boas ideias mais comuns das pessoas que usam Perl;

Já houvi rumores (não sei se é mais que isso) que vai haver uma release de uma versão beta do Perl 6 ainda antes do fim de este ano e o Damian Conway (um dos arquitectos do Perl 6 e um dos maiores gurus do Perl), disse que já há implementações de Perl 6 num estado bastante avançado.

Se ainda não leram nada sobre o Perl 6 vale a pena lerem um pouco sobre as mudanças neste linguagem, eu acho que o que vem aí é fantastico.

Mesmo o Perl 5 tem lugar e não apenas por motivos de haver código legado. O Perl 5 ainda é apesár de tudo uma boa linguagem de propósito geral (apesár de não ser a melhor), e é a melhor (ou pelo menos muito boa) para alguns domínios de problemas. Quem sabe programar em Perl e tem alguma experiência consegue ultrapassar bastantes das suas limitações e produtivo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ehehehe eu tambem tenho 25 anos.

Pois... virá aí outra versao... vamos ver se vem a tempo ou se quando sair não estará tambem ela desactualizada. Em termos de aplicações web foi completamente destronada pelo php e outros.

Agora deixaste-me intrigado, porque é que é mais produtiva? podes dar aí uns exemplos de código ou apontar funcionalidades da linguagem que a tornem mais produtiva?

Ainda hoje falei com um colega meu que diz que usa sempre perl quando é para fazer testes a aplicações compiladas. Eu perguntei-lhe porque e ele disse-me que era porque era um linguagem simples que permitia automatizar tarefas atraves de chamadas à shell, como copiar ficheiros, etc

Eu perguntei-lhe... porque não php ou python? o gajo disse-me que quem lá estava usava perl ele tinha que usar o mesmo e calar-se.

Será que foi por causa da biblioteca de REGEX que o perl introduziu e que hoje está disponivel em qq linguagem?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois... virá aí outra versao... vamos ver se vem a tempo ou se quando sair não estará tambem ela desactualizada.

Não está, aliás até podes dizer que vai ficar adiantada... Por exemplo, vai suportar no core, modulos para computação quantica...

Em termos de aplicações web foi completamente destronada pelo php e outros.

Há isso não quer dizer nada...

O Perl é tão bom para a WWW, ou melhor que o PHP. Eu arriscaria até dizer melhor, porque permite interligação com backends muito mais profunda.

Agora deixaste-me intrigado, porque é que é mais produtiva? podes dar aí uns exemplos de código ou apontar funcionalidades da linguagem que a tornem mais produtiva?

Não tenho agora nada para ter dar, até porque eu n sei o suficiente sobre Perl 6, para criar eu os exemplos, mas quando puder vou procurar e coloco aqui, ou noutra thread.

Mas vai ser mais produtivo, porque permite escrever menos código, automatizar geração de código mais seguro, e porque permite uma maior adaptação entre a linguagem e o programador, porque tem features para debug que desconheço existirem no core de outras linguagens, et...

Perl é a linguagem que inclui em si um maior numero de funcionalidades no que diz respeito ao processamento de texto. Há outras linguagens que suportam muita coisa, ou que têm em alguns aspectos mais poder, mas nenhuma inclui tanta coisa e tão bem implementada quanto o Perl, porque o Perl foi criado para ser a melhor nisso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ehehehe eu tambem tenho 25 anos.

Pois... virá aí outra versao... vamos ver se vem a tempo ou se quando sair não estará tambem ela desactualizada. Em termos de aplicações web foi completamente destronada pelo php e outros.

Agora deixaste-me intrigado, porque é que é mais produtiva? podes dar aí uns exemplos de código ou apontar funcionalidades da linguagem que a tornem mais produtiva?

Ainda hoje falei com um colega meu que diz que usa sempre perl quando é para fazer testes a aplicações compiladas. Eu perguntei-lhe porque e ele disse-me que era porque era um linguagem simples que permitia automatizar tarefas atraves de chamadas à shell, como copiar ficheiros, etc

Eu perguntei-lhe... porque não php ou python? o gajo disse-me que quem lá estava usava perl ele tinha que usar o mesmo e calar-se.

Será que foi por causa da biblioteca de REGEX que o perl introduziu e que hoje está disponivel em qq linguagem?

Não vou repetir ideias e opiniões ... tenho 35 anos, trabalho na area à 12 anos (desde que acabei o curso de eng informatica), trabalhei com perl quando estive na Optimus/Wedo/Sonae , Telemar , Sun e accenture. (isto de 1999 a 2004).

O Perl não está em decadencia e é muito usado.

Embora nos dias que correm não use Perl tão extensivamente, aindo faço uso do mesmo quando necessito de fazer scripts rapidos relacionados com administração de sistemas .

Vc's conhecem o Powershell da M$ ? Basicamente é o replacement do VBS e .BAT

Por alguma razão a sua syntax é uma copia do (Perl/C#).

Porque que o perl é altamente produtivo(em administração de sistemas)... simples.

Consegues fazer um proxy http em 10 linhas em vb.net?

Consegues fazer um software tipo http://www.portugal-a-programar.pt/index.php?showtopic=11253 em 30 linhas?

ing

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

My two cents:

Em genómica e proteómica MUITOS programas estão em perl. Não me perguntem porquê, mas já li algures maravilhas sobre o Perl e o processamento de texto :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tool título de curiosidade e por eu fazar parte da ANSOL e estar um pouco ligado à comunidade de Perl em Portugal e por isso poder eventualmente vir a utilizar essa informação para ajudar a organizar algum evento, ou apenas como mero facto em acções de advocacia de Perl ou de Software Livre em geral, podes dizer-me qual é a tua faculdade?

Se não quiseres dizer em público, podes dizer-me em mensagem privada?

O Perl não está em decadencia tecnológica, mas está a perder adeptos para outras linguagens, ou pelo menos não ganha tantos como ganhava à uns anos. Isso é inegável. O PHP e o Python são linguagens muitissimo populares, e são cada vez mais populares.

Quanto à expressividade do Perl, a do Perl é bastante boa, e juntando coisas como os modulos disponíveis no CPAN, podemos ser muito produtivos com o Perl, mas a verdade é que o Python ainda te permite escrever menos código e também tem uma boa colecção de bibliotecas.

O Perl é bom! O Perl é optimo, principalmente para quem já tem algum conhecimento da sua sintaxe (porque permite adoptar o melhor estilo conforme o caso) e porque demora a conhecer alguns dos modulos mais interessantes do CPAN, mas há outras linguagens que são muito boas e que em vários aspectos são vastamente superiores ao Perl.

anaryn, o que é genómica e proteómica?

Será que os administradores, ou o que forem podem fazer um fork da thread?

Já é clado que o assunto é outro e também é claro que o novo assunto tem interesse, por isso o melhor é separar as threads mas mantendo os posts... É possível?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já houvi rumores (não sei se é mais que isso) que vai haver uma release de uma versão beta do Perl 6 ainda antes do fim de este ano e o Damian Conway (um dos arquitectos do Perl 6 e um dos maiores gurus do Perl), disse que já há implementações de Perl 6 num estado bastante avançado.

Será que ele não se refere ao Pugs?

Se não me engano, no Pugs já é possivel programar certas coisas em Perl6.

Digo certas coisas, porque todas as especificações do Perl6 ainda não foram implementadas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tool título de curiosidade e por eu fazar parte da ANSOL e estar um pouco ligado à comunidade de Perl em Portugal e por isso poder eventualmente vir a utilizar essa informação para ajudar a organizar algum evento, ou apenas como mero facto em acções de advocacia de Perl ou de Software Livre em geral, podes dizer-me qual é a tua faculdade?

Se não quiseres dizer em público, podes dizer-me em mensagem privada?

O Perl não está em decadencia tecnológica, mas está a perder adeptos para outras linguagens, ou pelo menos não ganha tantos como ganhava à uns anos. Isso é inegável. O PHP e o Python são linguagens muitissimo populares, e são cada vez mais populares.

Quanto à expressividade do Perl, a do Perl é bastante boa, e juntando coisas como os modulos disponíveis no CPAN, podemos ser muito produtivos com o Perl, mas a verdade é que o Python ainda te permite escrever menos código e também tem uma boa colecção de bibliotecas.

O Perl é bom! O Perl é optimo, principalmente para quem já tem algum conhecimento da sua sintaxe (porque permite adoptar o melhor estilo conforme o caso) e porque demora a conhecer alguns dos modulos mais interessantes do CPAN, mas há outras linguagens que são muito boas e que em vários aspectos são vastamente superiores ao Perl.

anaryn, o que é genómica e proteómica?

Será que os administradores, ou o que forem podem fazer um fork da thread?

Já é clado que o assunto é outro e também é claro que o novo assunto tem interesse, por isso o melhor é separar as threads mas mantendo os posts... É possível?

É a Faculdade de Ciências da UP, Departamento de Ciência de computadores. Mas aqui é comum usar SÓ ferramentas open source. não há .nets nem nada disso. Excepto só quando não é possivel (software cisco ,etc...)

Mas tenho a certeza que não é só na minha faculdade que se dá perl e se usam ferramentas open source.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Certamente que não é a única a usar Software Livre, mas é sempre bom saber quais usam oquê, para poder apresentar factos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Genómica e Proteómica são àreas que estudam respectivamente os genes e as proteínas. Na genómica tens vários algoritmos para por exemplo, encontrar certos "motifs" em sequências, corresponder "motifs" a funções, avaliar a semelhança entre 2 genomas de duas amostras, etc.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olhó thread digging fresquinho!

Agora que sei programar em perl decentemente já esclareci muitas duvidas existenciais àcerca do misticismo oculto do perl

Tal como eu tinha dito inicialmente tudo se tinha tornado um pouco mais claro se os conhecedores de perl apontassem os detalhes tecnicos de todos os benificios do PERL. Como a discussão andou um pouco mais pela retórica, fica aqui o veredicto de um céptico (eu) tentando analisar o PERL com base nas suas caracteristicas tecnicas.

Em primeiro lugar e porque é na minha opinião o mais importante, devo dizer que finalmente encontrei uma tecnologia com documentação ao nivel do php. Isso foi uma optima surpresa. Haja documentação que vontade de aprender nunca será problema.

Imprimi uma carrada de manpages de perl e devorei aquilo à bruta. É impressionante como uma curva de aprendizagem supostamente tão lenta se torna numa agradável escalada, tudo graças às maravilhas da boa documentação.

O perl vem artilhado com uma carrada de funcionalidades que o tornam pratico de usar especialmente para manipulação de texto. Tendo em conta que o suporte de expressões regulares PCRL chegou a praticamente todas as linguagens, a minha duvida era mesmo, o que mantém o perl mais indicado para tarefas que as usem?

A resposta é simples: o perl recorre à sua propria sintaxe para a manipulação de texto. Isto pode ser incrivelmente pratico mas não é de todo a estratégia para uma linguagem de programação de futuro. Basicamente encheu-se a linguagem de artilharia pesada apenas para bem de uma parte dos programadores. O proposito de uma linguagem de programação deve, em vez disso, ser bom suporte para desenvolvimento da dita artilharia e compatibilidade ao maximo.

O grande ponto negativo que na minha opinião é a razão pela qual linguagens como o php ou python se tornaram mais populares em certa medida é o suporte para estruturas de dados.

O perl ainda piscou o olho à simplicidade usando tipagem fraca, mas a forma como ainda está agarrado ao passado deitou qualquer esforço em ser simples por terra.

Estou a referir-me à sua grande lacuna que é a impossibilidade de criar uma estrutura de dados de tipos arbitrarios, poder trata-la como uma variável e ter uma forma consistente de aceder aos seus elementos.

Em vez disso tem que se andar a braços com referencas e derreferenciações. Ora isto é mais como se faz em C, ou noutra linguagem de  baixo nivel, do que propriamente numa linguagem cujo nome inclui a palavra "Practical".

Qual é a vantagem de se usar uma sintaxe diferente para escalares, hashes e arrays?

Eu desconfio que a resposta é mesmo: nenhuma! simplesmente quando o perl foi escrito o uso da mesma sintaxe para todas as estruturas de dados básicas era uma coisa que ia contra tudo o que tinha sido feito logo podia parecer uma aberração.

Não posso falar de coisas como tcl, pike, ruby ou outras porque não tenho esse conhecimento, mas comparando com o Python e com o PHP, a minha opinião é esta:

Python e PHP são superiores ao perl enquanto linguagem e têm designs mais intiligentes que o perl.

No que toca a "extraction and report" não há nada que o faça tão bem como perl. Isso não quer dizer que não seja possivel utilizar outra linguagem de scripting para a mesma finalidade de forma satisfatória.

A partir de agora, sempre que tiver que analizar logs, fazer um pouco de data minning ou outras coisas do estilo vou concerteza usar o perl. Mas para aplicações propriamente ditas, há outras linguagens mais adequadas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
O perl ainda piscou o olho à simplicidade usando tipagem fraca, mas a forma como ainda está agarrado ao passado deitou qualquer esforço em ser simples por terra.

Parece-me que estás a confundir tipagem fraca com tipagem dinâmica. Até o C ou Java usam tipagem fraca, não é é dinâmica.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu por acaso queria mesmo dizer tipagem fraca, mas como isso não é consensual. Leia-se antes 'tipagem dinâmica' onde eu escrevi 'tipagem fraca', o raciocinio mantem-se valido.

Realmente o termo 'tipagem fraca' é ele próprio fraco pois esta discussão aparece sempre que ele é usado e nunca se chega a um consenso.

Já agora... o C ser uma linguagem de tipagem forte ou fraca... é uma questão de perspectiva. Como tal isso gera muita discussão pois não há consenso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isto pode ser incrivelmente pratico mas não é de todo a estratégia para uma linguagem de programação de futuro. Basicamente encheu-se a linguagem de artilharia pesada apenas para bem de uma parte dos programadores. O proposito de uma linguagem de programação deve, em vez disso, ser bom suporte para desenvolvimento da dita artilharia e compatibilidade ao maximo.

Discordo!

O Perl foi criado para ser optimizado para tarefas que implicam a manipulação de texto. Muita coisa em programação é manipulação de texto. Para além disso a sintaxe do Perl não tem ficado parada, tem mudado e mudará ainda mais no Perl 6. Aliás o próprio Perl 6 não é retro-compatível com o Perl 5.

Faltou à tua análise um estudo do historial da evolução da linguagem e um olhar para o Futuro que está a ser preparado. Daí teres tirado uma conclusão que só é adequada com parte das premissas que são necessárias para tirar uma conclusão correcta.

Ora isto é mais como se faz em C, ou noutra linguagem de  baixo nivel, do que propriamente numa linguagem cujo nome inclui a palavra "Practical".

Sim é um ouco como o C. Mas as liberdades da sintaxe do Perl torna isso mais simples daí que o practical não é infundado. E essa é a minha opinião e eu programo em Perl todos os dias há mais de dois anos.

Qual é a vantagem de se usar uma sintaxe diferente para escalares, hashes e arrays?

Depende. O que para um caso pode ser uma vantagem, para outro pode não o ser. Uma coisa que facilita é saber imediatamente com o que tas a lidar, mal olhas para o código. Se tiveres uma sintaxe abstracta é mais difícil reconhecer. Em alguns casos pode ser uma vantagem, em outros não. De qualquer forma isto é uma das coisas que vai mudar no Perl 6. O Perl 6 vai usar o mesmo princípio que o Python (tudo é um objecto).

uando o perl foi escrito o uso da mesma sintaxe para todas as estruturas de dados básicas era uma coisa que ia contra tudo o que tinha sido feito logo podia parecer uma aberração.

Não podemos esquecer que o Perl é bem mais velho que o Python, que o Ruby, e outras...

Eu não digo que ia contra tudo o que tinha sido feito, mas não era a prática mais comum.

Python e PHP são superiores ao perl enquanto linguagem e têm designs mais intiligentes que o perl.

Não concordo!

Porque o que tu disseste não chega para chegar a essa conclusão. Existem outras coisas que também são importantes e estas a deixar de fora. Todas as linguagens têm pontos fortes e fracos. O Python é uma linguagem muito forte em muita coisa, mas o PHP, claramente não é uma linguagem muito forte fora da web. O Perl por exemplo permite adoptar mais paradigmas que o PHP, devido à sua liberdade de sintaxe, isso faz com que nesse aspecto o Perl seja mais forte que o PHP, também não acho que o PHP seja mais forte para a web do que o Perl (Perl + bibliotecas que existem para Perl). E não te esqueças que muitas das bibliotecas do CPAN permitem ultrapassar uma boa parte das limitações actuais do Perl.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então estamos mesmo de acordo em quase tudo.  :biggrin: pelo menos em relação ao perl.

Sim, a minha conclusão só é válida para as minhas premissas. Eu não me estou a esquecer da historial do perl, simplesmente tenho pouco ou nenhum conhecimento sobre ele. Mas tambem uma coisa é certa, a historia pode ser importante mas não pode servir de desculpa para nada.

Eu nao disse que usar a palavra 'practical' era uma coisa infundada, penso é que se podia ter ido muito mais alem, e as duas falhas que referi são muito opostas ao significado de practical, claro que isso não invalida que o perl seja muito pratico. E sim, de facto é verdade, a manipulação de texto é uma grande parte do processo de programar, isso foi uma visão inteligente e prática.

Só para dar um exemplo: um array em PHP ou python pode ser usado como arvore recorrendo apenas à sintaxe da linguagem. Em perl tens que criar tu a tua propria estrutura de dados para esse efeito.

Tambem não estou a ver grande vantagem nisso de olhar para uma variável e saber o tipo dela, na minha opnião é para isso que servem as mnemonicas (nomes de variaveis), a sintaxe deve ser tão simples quanto possivel tendo em conta performance, debugging, etc. Para mim essa é que é a beleza de coisas como python, php ou memso matlab e afins. Mas ok, isso é uma questão de preferencia.

Uma coisa que estou a reparar é que os módulos de perl são na sua grande maioria uma implementação mínima feta por um gajo que precisou de a escrever e lá acabou por submete-la no cpan. O cpan seria uma grande vantagem, mas acredita que as soluções para php são em regra mais desenvolvidas, muito mais completas, com melhor documentação, etc.

O PHP é a tecnologia que é sempre deitada a baixo, mas está a ultrapassar muitas barreiras mesmo e tornou-se num caso serio de sucesso e qualidade. Já agora, para que conste, o yahoo, simplesmente o maior e mais visitado site do mundo, utiliza massivamente PHP para tudo e mais alguma coisa.

Mas fica uma pergunta simples que já estou a falar demais em php e python... que paradigma é que o perl permite que o PHP não permite?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Só para dar um exemplo: um array em PHP ou python pode ser usado como arvore recorrendo apenas à sintaxe da linguagem. Em perl tens que criar tu a tua propria estrutura de dados para esse efeito.

Não me parece que o que dizes seja verdade, ou então, não estou a entender o que queres dizer... Podes exemplificar? Pode ser que fique mais claro.

Tambem não estou a ver grande vantagem nisso de olhar para uma variável e saber o tipo dela, na minha opnião é para isso que servem as mnemonicas (nomes de variaveis)

Os nomes das variáveis devem dizer respeito ao que as variáveis guardam e não como o têm guardado.

Uma coisa que estou a reparar é que os módulos de perl são na sua grande maioria uma implementação mínima feta por um gajo que precisou de a escrever e lá acabou por submete-la no cpan. O cpan seria uma grande vantagem, mas acredita que as soluções para php são em regra mais desenvolvidas, muito mais completas, com melhor documentação, etc.

Isso não é bem assim. Há de factos módulos assim, e há modulos que não são assim (e isso acontece em todas as linguagens).

Ter um módulo que implementa tudo o que podes eventualmente querer, não é necessáriamente bom. Muitos de nós só quer uma parte da funcionalidade, por isso ter que incluir um modulo que faz muito mais, mas que não vamos usar é criar bloatware. Por isso, ter diversos módulos que implementam diferentes subsets pode ser bem mais interessante, principalmente se ele se derem bem uns com os outros (o que é comum no Perl).

Quanto a documentação, a maior parte dos módulos estão bem documentados, embora nem todos, o que acontece também em todas as linguagens com modulos que não fazem parte da linguagem. E estão documentados de diversas formas: através da documentação que vem com o módulo, através da versão anotada do CPAN, através da quantidade enorme de livros que há sobre Perl, etc...

Ao contrário do que dizes, de forma geral a documentação das melhores soluções em Perl que estão no CPAN é melhor que as de PHP, o software é mais maduro e completo e com um controlo de qualidade incomparávelmente melhor.

Mas fica uma pergunta simples que já estou a falar demais em php e python... que paradigma é que o perl permite que o PHP não permite?

Suporta semanticamente um paradigma não chega, também importa suporta sintacticamente. Concordas? Bem, mesmo que não concordes é assim mesmo.

Um exemplo é a programação funcional, porque faltam-lhe diversas característias necessárias como first class functions.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora