From brunodafonte em gmail.com Mon Jun 7 12:37:20 2010 From: brunodafonte em gmail.com (Bruno da Fonte) Date: Mon, 7 Jun 2010 16:37:20 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Boa tarde, gostaria de ter "aula particular" de Perl, na verdade quero aprender a utilizar o perl em windows com algum banco de dados, já peguei vários tutoriais na net más não dá, pois não sou programador por profissão e sim por hobbye. Se souber de alguem que cobre para ensinar, gostaria do contato. Acho que em uma manhã já daria pra pegar. Obrigado Bruno da Fonte brunodafonte em gmail.com 81.9232.4444 -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From breno em rio.pm.org Mon Jun 7 13:16:08 2010 From: breno em rio.pm.org (breno) Date: Mon, 7 Jun 2010 17:16:08 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: 2010/6/7 Bruno da Fonte : > Boa tarde, > gostaria de ter "aula particular" de Perl, na verdade quero aprender a > utilizar o perl em windows com algum banco de dados, já peguei vários > tutoriais na net más não dá, pois não sou programador por profissão e sim > por hobbye. Oi Bruno, não é aula particular, mas tenho certeza que se tiver qualquer dúvida a lista terá o maior prazer em te ajudar :-) Pra começar, baixe e instale a última versão do Strawberry Perl (http://strawberryperl.com). Depois, experimente ler o perlintro (http://perl.org.br/Perldoc/V500807/Perlintro) e experimentar alguns "alo mundo". Qualquer dúvida, grita! Sobre bancos de dados, vc está familiarizado com eles? Quais? Perl possui um dos maiores suportes a bancos das linguagem de programação modernas e, se o seu SQL for compatível, trocar de banco é apenas questão de carregar o módulo de driver do banco novo. Dê uma olhada em (http://search.cpan.org/perldoc?DBI) para mais informações sobre interação direta com bancos de dados. Quando quiser uma abstração maior, pode escolher um ORM como o DBIx::Class, mas eu recomendaria um pouco mais de bagagem (com Perl e com bancos de dados) antes de seguir por essa linha. É isso, espero ter ajudado! []s -b From marcoaureliomacae em gmail.com Tue Jun 8 06:52:18 2010 From: marcoaureliomacae em gmail.com (=?ISO-8859-1?B?TWFyY28gQXVy6WxpbyAoTUFDQckp?=) Date: Tue, 8 Jun 2010 10:52:18 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Bom dia, Caro Bruno da Fonte, Para mim é ótimo ver o seu interesse sobre a nossa dileta linguagem de programação, o Perl unido com o CPAN vai resolver vários problemas de negócio e/ou lazer, se necessário eu vou precisar da sua confirmação de presença e de alguns membros da lista, interessados em construir websites com o Perl e conexões com os bancos de dados livres, por exemplo, para marcarmos um Encontro Técnico com expectativa de público, focado neste conteúdo. Existem bons artigos que ensinam com fácil compreensão no Portal Perl Brasil [1], por exemplo, este artigo que eu escrevi: Como instalar, passo a passo o: Apache, Mysql, Perl e módulos necessários do CPAN no Windows [2], infelizmente ainda não temos muitos artigos em língua portuguesa que doutrinam como programar em Perl sobre o Windows. Porém neste artigo você pode iniciar a sua aventura no mundo Perl com a ajuda do CPAN e Mysql, sobre o sistema operacional Windows, assim que aparecerem as suas dúvidas você pode postar aqui na lista, por favor, não tenha nenhum tipo de constrangimento em fazer perguntas de iniciantes, na nossa lista, todos os monges noviços tem um tratamento todo especial e acolhedor. Tenta certeza que nós aguardaremos as suas dúvidas, bem como idéias, se não acertamos de primeira continue insistido, pois a persistência é uma característica comum entre nós programadores. Eu já estou preparando um artigo atualizado sobre a questão e em breve postarei aqui na lista. :-) Abraços fraternos, Marco Aurélio (MACAÉ) Fontes: [1] Perl Brasil- Artigos - http://perl.org.br/Main/WebHome [2] Como instalar, passo a passo o: Apache, Mysql, Perl e módulos necessários do CPAN no Windows - http://perl.org.br/Artigos/ArtigoMarcoAurelioMACAE2009x07x29 2010/6/7 Bruno da Fonte : > Boa tarde, > gostaria de ter "aula particular" de Perl, na verdade quero aprender a > utilizar o perl em windows com algum banco de dados, já peguei vários > tutoriais na net más não dá, pois não sou programador por profissão e sim > por hobbye. > Se souber de alguem que cobre para ensinar, gostaria do contato. Acho que em > uma manhã já daria pra pegar. > Obrigado > Bruno da Fonte > brunodafonte em gmail.com > 81.9232.4444 > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm > From ulisses.montenegro em gmail.com Tue Jun 8 07:07:44 2010 From: ulisses.montenegro em gmail.com (Ulisses Montenegro) Date: Tue, 8 Jun 2010 11:07:44 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Bruno Qual o problema que você está tentando resolver? Qual exatamente é a dificuldade que você está enfrentando? Um pouco mais de contexto pode nos ajudar a entender melhor suas necessidades e sugerir alternativas que talvez não sejam tão óbvias a quem está começando na linguagem. Abraço Ulisses 2010/6/8 Marco Aurélio (MACAÉ) : > Bom dia, Caro Bruno da Fonte, > > Para mim é ótimo ver o seu interesse sobre a nossa dileta linguagem de > programação, o Perl unido com o CPAN vai resolver vários problemas de > negócio e/ou lazer, se necessário eu vou precisar da sua confirmação > de presença e de alguns membros da lista, interessados em construir > websites com o Perl e conexões com os bancos de dados livres, por > exemplo, para marcarmos um Encontro Técnico com expectativa de > público, focado neste conteúdo. > > Existem bons artigos que ensinam com fácil compreensão no Portal Perl > Brasil [1], por exemplo, este artigo que eu escrevi: Como instalar, > passo a passo o: Apache, Mysql, Perl e módulos necessários do CPAN no > Windows [2], infelizmente ainda não temos muitos artigos em língua > portuguesa que doutrinam como programar em Perl sobre o Windows. Porém > neste artigo você pode iniciar a sua aventura no mundo Perl com a > ajuda do CPAN e Mysql, sobre o sistema operacional Windows, assim que > aparecerem as suas dúvidas você pode postar aqui na lista, por favor, > não tenha nenhum tipo de constrangimento em fazer perguntas de > iniciantes, na nossa lista, todos os monges noviços tem um tratamento > todo especial e acolhedor. > > Tenta certeza que nós aguardaremos as suas dúvidas, bem como idéias, > se não acertamos de primeira continue insistido, pois a persistência é > uma característica comum entre nós programadores. Eu já estou > preparando um artigo atualizado sobre a questão e em breve postarei > aqui na lista. :-) > > Abraços fraternos, > Marco Aurélio (MACAÉ) > > Fontes: > [1] Perl Brasil- Artigos - http://perl.org.br/Main/WebHome > [2] Como instalar, passo a passo o: Apache, Mysql, Perl e módulos > necessários do CPAN no Windows - > http://perl.org.br/Artigos/ArtigoMarcoAurelioMACAE2009x07x29 > > > 2010/6/7 Bruno da Fonte : >> Boa tarde, >> gostaria de ter "aula particular" de Perl, na verdade quero aprender a >> utilizar o perl em windows com algum banco de dados, já peguei vários >> tutoriais na net más não dá, pois não sou programador por profissão e sim >> por hobbye. >> Se souber de alguem que cobre para ensinar, gostaria do contato. Acho que em >> uma manhã já daria pra pegar. >> Obrigado >> Bruno da Fonte >> brunodafonte em gmail.com >> 81.9232.4444 >> _______________________________________________ >> Recife-pm mailing list >> Recife-pm em pm.org >> http://mail.pm.org/mailman/listinfo/recife-pm >> > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm > -- ?If debugging is the process of removing software bugs, then programming must be the process of putting them in.? - Edsger Dijkstra From andregarciacarneiro em gmail.com Tue Jun 8 11:39:37 2010 From: andregarciacarneiro em gmail.com (Andre Carneiro) Date: Tue, 8 Jun 2010 15:39:37 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Bruno, Eu entendo o seu ponto, mas acho que não vale a pena você pagar só para aprender Perl tão superficialmente, levanto em conta que você mencionou especificamente que gostaria de 'aprender a utilizar Perl com algum banco de dados' . Isso não fará de você um programador Perl, e provavelmente você vai se cansar de ler respostas como essa por aqui, até que resolva seguir o meu conselho e os demais, ou não ... :P Sendo assim eu sugiro que, já que você está aprendendo por hobby, gaste bastante tempo lendo documentação e outros materiais que o pessoal possa passar por aqui, e então resolver problemas mais simples de imediato, para depois passar para bancos de dados. Isso tem motivos: - Perl tem 'sutilezas' que devem ser introduzidas antes de se começar a 'fuçar', ou você vai achar logo de cara que a linguagem foi feita por alienígenas ou no mínimo por egípcios...; - Aprender algo superficialmente = aprender nada; Nesse caso você pode tentar isso sozinho. Tem material de sobra na internet, embora você diga o contrário. Leia mais abaixo; - Queremos que os profissionais( mesmo 'hobistas' ), amem Perl tanto quanto nós e mostrem o desejo pela excelência , auto-aprendizado e vontade de ajudar. Características que consideramos essenciais em alguém realmente envolvido com Perl ; MATERIAL INTRODUTÓRIO/INTERMEDIARIO Um material inicial muuuito bacana é o do Otávio Fernandes, e está no link abaixo( está em português, ora vejam só! :D ): http://github.com/otaviof/SPPM-Perl_101/raw/master/Introducao%20ao%20Perl%20(Perl%20101).pdf Dá uma boa lida nesse material, tente resolver problemas simples, e traga dúvidas para a lista. Teremos prazer em te ajudar! Depois dê uma olhada nos artigos do http://perl.org.br, na sessão 'Documentação'. Se resolver mudar de idéia quanto ao lance do 'inglês'( recomendo fortemente que reconsidere sua posição e tente aprender inglês, aliás é um motivo melhor para se pagar um curso, já que considero que o material, principalmente em inglês, mais a comunidade pode te ajudar muito mais do que um curso ), e tomar coragem para ler o material em inglês, tente isso: http://perldoc.perl.org Lá você encontra tutoriais e muito material interessante para se introduzir na linguagem. Sugiro que você comece por: http://perldoc.perl.org/index-overview.html Nessa página: http://perldoc.perl.org/index-tutorials.html, eu começaria pelos links abaixo, mas dá uma olhada em todos! http://perldoc.perl.org/perldata.html http://perldoc.perl.org/perlsyn.html http://perldoc.perl.org/perlvar.html http://perldoc.perl.org/perlref.html http://perldoc.perl.org/perldsc.html #Esse eu considero um dos mais importantes ( alguns desses artigos existem em português em http://perl.org.br ) http://www.perl.org/books/beginning-perl/ #achei esse agora, não sei se é bom, mas parece ser ... Depois disso, leia sobre expressões regulares: perlre perlreref Várias dúvidas e problemas depois ... leia sobre orientação a objetos: http://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objetos perlobj Depois disso tente começar a usar o CPAN, começando pelo módulo de interface com SGBDS, o DBI. *DBI * Se você já tem algum conhecimento em orientação a objetos, pode ler sobre abstração de classes e abstração de banco de dados em Perl, através da documentação dos seguintes módulos: *Class::MOP * *Moose* *DBIx::Class * Muitas dúvidas depois ... Finalmente, junte tudo que você aprendeu, e comece a ler sobre: *MVC * Cansei! Pra fechar! *Catalyst (Português - material do maluco, nosso moderador!)* *Catalyst* - Web Framework Outros links relacionados ao CPAN: http://search.cpan.org # você pesquisa módulos aqui http://www.cpan.org # guia sobre módulos, scripts, o próprio Perl e muito mais. cpan # documentação sobre o cpan em linha de comando Divirta-se!!! Cheers! 2010/6/7 Bruno da Fonte > Boa tarde, > > gostaria de ter "aula particular" de Perl, na verdade quero aprender a > utilizar o perl em windows com algum banco de dados, já peguei vários > tutoriais na net más não dá, pois não sou programador por profissão e sim > por hobbye. > > Se souber de alguem que cobre para ensinar, gostaria do contato. Acho que > em uma manhã já daria pra pegar. > > Obrigado > > Bruno da Fonte > brunodafonte em gmail.com > 81.9232.4444 > > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm > -- André Garcia Carneiro Analista/Desenvolvedor Perl (11)82907780 -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From ulisses.montenegro em gmail.com Tue Jun 8 11:55:11 2010 From: ulisses.montenegro em gmail.com (Ulisses Montenegro) Date: Tue, 8 Jun 2010 15:55:11 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Andre, Eu ia responder algo na mesma linha -- Bruno, se você não tem um prazo para terminar seu sistema e está aprendendo por hobby, aproveite a oportunidade para aprender direito. Perl é uma linguagem onde já existem oportunidades demais para que as coisas fiquem com cara de gambiarra, mesmo quando nos preocupamos com legibilidade, mantenebilidade e clareza no código, e aprender a escrever código robusto e legível é um resultado muito mais proveitoso para você do que interfacear com um banco de dados... Eu sei que essa é uma daquelas respostas "Como atravessar o rio? Andando até a próxima ponte que fica a 10km daqui", mas todo mundo que já tem alguma bagagem com a linguagem sabe que os vícios adquiridos no começo de nossas carreiras são os mais difíceis de nos livrar. Apenas meus $0.02 Ulisses 2010/6/8 Andre Carneiro : > Bruno, > > Eu entendo o seu ponto, mas acho que não vale a pena você pagar só para > aprender Perl tão superficialmente, levanto em conta que você mencionou > especificamente que gostaria de 'aprender a utilizar Perl com algum banco de > dados' . Isso não fará de você um programador Perl, e provavelmente você vai > se cansar de ler respostas como essa por aqui, até que resolva seguir o meu > conselho e os demais, ou não ...  :P > Sendo assim eu sugiro que, já que você está aprendendo por hobby, gaste > bastante tempo lendo documentação e outros materiais que o pessoal possa > passar por aqui, e então resolver problemas mais simples de imediato, para > depois passar para bancos de dados. Isso tem motivos: > - Perl tem 'sutilezas' que devem ser introduzidas antes de se começar a > 'fuçar', ou você vai achar logo de cara que a linguagem foi feita por > alienígenas ou no mínimo por egípcios...; > - Aprender algo superficialmente = aprender nada; Nesse caso você pode > tentar isso sozinho. Tem material de sobra na internet, embora você diga o > contrário. Leia mais abaixo; > - Queremos que os profissionais( mesmo 'hobistas' ), amem Perl tanto quanto > nós e mostrem o desejo pela excelência , auto-aprendizado e vontade de > ajudar. Características que consideramos essenciais em alguém realmente > envolvido com Perl ; > > MATERIAL INTRODUTÓRIO/INTERMEDIARIO > Um material inicial muuuito bacana é o do Otávio Fernandes, e está no link > abaixo( está em português, ora vejam só! :D ): > > http://github.com/otaviof/SPPM-Perl_101/raw/master/Introducao%20ao%20Perl%20(Perl%20101).pdf > > Dá uma boa lida nesse material, tente resolver problemas simples, e traga > dúvidas para a lista. Teremos prazer em te ajudar! > Depois dê uma olhada nos artigos do http://perl.org.br, na sessão > 'Documentação'. > > Se resolver mudar de idéia quanto ao lance do 'inglês'( recomendo fortemente > que reconsidere sua posição e tente aprender inglês, aliás é um motivo > melhor para se pagar um curso, já que considero que o material, > principalmente em inglês, mais a comunidade pode te ajudar muito mais do que > um curso ), e tomar coragem para ler o material em inglês, tente isso: > http://perldoc.perl.org > Lá você encontra tutoriais e muito material interessante para se introduzir > na linguagem. Sugiro que você comece por: > http://perldoc.perl.org/index-overview.html > Nessa página: http://perldoc.perl.org/index-tutorials.html, eu começaria > pelos links abaixo, mas dá uma olhada em todos! > http://perldoc.perl.org/perldata.html > http://perldoc.perl.org/perlsyn.html > http://perldoc.perl.org/perlvar.html > http://perldoc.perl.org/perlref.html > http://perldoc.perl.org/perldsc.html #Esse eu considero um dos mais > importantes > ( alguns desses artigos existem em português em http://perl.org.br ) > > http://www.perl.org/books/beginning-perl/  #achei esse agora, não sei se é > bom,  mas parece ser ... > > Depois disso, leia sobre expressões regulares: > perlre > perlreref > > Várias dúvidas e problemas depois ... leia sobre orientação a objetos: > http://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objetos > perlobj > > Depois disso tente começar a usar o CPAN, começando pelo módulo de interface > com SGBDS, o DBI. > > DBI > > Se você já tem algum conhecimento em orientação a objetos, pode ler sobre > abstração de classes e abstração de banco de dados em Perl, através da > documentação dos seguintes módulos: > > Class::MOP > > Moose > > DBIx::Class > > Muitas dúvidas depois ... > > > Finalmente, junte tudo que você aprendeu, e comece a ler sobre: > MVC > > Cansei! Pra fechar! > Catalyst (Português - material do maluco, nosso moderador!) > > Catalyst - Web Framework > > > > > Outros links relacionados ao CPAN: > http://search.cpan.org # você pesquisa módulos aqui > http://www.cpan.org # guia sobre módulos, scripts, o próprio Perl e muito > mais. > cpan # documentação sobre o cpan em linha de comando > > > Divirta-se!!! Cheers! > > 2010/6/7 Bruno da Fonte >> >> Boa tarde, >> gostaria de ter "aula particular" de Perl, na verdade quero aprender a >> utilizar o perl em windows com algum banco de dados, já peguei vários >> tutoriais na net más não dá, pois não sou programador por profissão e sim >> por hobbye. >> Se souber de alguem que cobre para ensinar, gostaria do contato. Acho que >> em uma manhã já daria pra pegar. >> Obrigado >> Bruno da Fonte >> brunodafonte em gmail.com >> 81.9232.4444 >> _______________________________________________ >> Recife-pm mailing list >> Recife-pm em pm.org >> http://mail.pm.org/mailman/listinfo/recife-pm > > > > -- > André Garcia Carneiro > Analista/Desenvolvedor Perl > (11)82907780 > > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm > -- ?If debugging is the process of removing software bugs, then programming must be the process of putting them in.? - Edsger Dijkstra From cmorais em gmail.com Tue Jun 8 13:05:38 2010 From: cmorais em gmail.com (Cleber Morais) Date: Tue, 8 Jun 2010 17:05:38 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Hmmm Bem, uma das coisas que eu gosto em Perl é que existe inúmeras maneiras de programar. De certa forma, isso diz que cada programador de Perl segue uma forma diferente de escrever E literalmente pensar. Eu por exemplo, oriento meu códigos a sujeira que funciona até limpeza artística. Má prática de programação? Poderia ser, se os códigos não funcionassem. Para facilitar a manutenção, organizo depois que o sistema funciona. Ruim, para mim, é fazer um código perfeito documentado em cinco camandas... que não roda direito. Para quê todo esse preâmbulo? Para dizer que você pode aprender DB fácil e rápido com Perl. E depois você incrementa, melhora, desenvolve, em conjunto com sua capacidade de programação. Porque isso? Quanto menos dificuldade você tiver para COMEÇAR em Perl, mais fácil será para você FICAR usando. Perl tem uns truques que são realmente muito legais, porque não aproveitar isso? No caso de um DB, muito provavelmente tanto faz se for Windows ou Linux. O código é extremamente portável... Não chega a ser uma dificuldade. Normalmente eu uso Perl para Web, o que para mim é incrivelmente mais fácil pensar front-end. Mas terminal também rola e muito legal. Saca só esses dois códigos: http://codethe.net/codigo/perlDB.zip É esperado, se você tiver todos os pacotes, que esse código funcione tanto no Windows como no Linux. Eu uso Linux, mas já rodei esses carinhas ai no Windows...No Windows, eu uso normalmente o ActivePerl, que acho bem arrumado e já vem com PerlPackageManager2 (ppm) vulgo "cpan" no linux. Você diz qual é o pacote, ele instala. Simples assim. É tudo o que você precisa, o resto é melhorar e aplicar. Com esses códigos ai você já pode fazer um sistema que funcione em rede conectando a DBs remotos... Não é seguro, mas funciona =D Precisas estudar SQL e alguma coisa sobre Hashes e iteração neles... No mais, mão a obra! abs Cleber M 2010/6/7 Bruno da Fonte : > Boa tarde, > gostaria de ter "aula particular" de Perl, na verdade quero aprender a > utilizar o perl em windows com algum banco de dados, já peguei vários > tutoriais na net más não dá, pois não sou programador por profissão e sim > por hobbye. > Se souber de alguem que cobre para ensinar, gostaria do contato. Acho que em > uma manhã já daria pra pegar. > Obrigado > Bruno da Fonte > brunodafonte em gmail.com > 81.9232.4444 > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm > From ulisses.montenegro em gmail.com Tue Jun 8 13:29:35 2010 From: ulisses.montenegro em gmail.com (Ulisses Montenegro) Date: Tue, 8 Jun 2010 17:29:35 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Cleber É verdade que o Larry Wall sempre repete o bordão do "There is more than one way to do it", mas na prática, a não ser que você seja o único a colocar a mão no código, múltiplas visões dos problemas e dos códigos só introduzem confusão e atrapalham na manutenção do código. Já tive de dar suporte a código legado escrito por terceiros, onde cada parte do sistema tinha a "cara" do desenvolvedor original, e fica extremamente difícil respeitar o design original quando precisamos interpretar cada trecho de código com parâmetros diferentes, tentando emular o pensamento de quem o escreveu. Eu não tenho absolutamente nada contra desenvolvimento incremental, e muito menos contra formalismo e rigor em excesso durante o processo de aprendizado, mas DBI é um exemplo de uma tecnologia que interfaceia com tantas outras -- SQL, bancos de dados, drivers DBD -- que um pouco de preparo antes de encarar a coisa muitas vezes pode economizar muito tempo mais na frente. Um exemplo -- o seu código faz uso do driver DBD do MySQL, que pela maneira como o DBI funciona, não é um requisito em tempo de compilação do código -- ou seja, o fato de um usuário não possuir o módulo DBD::MySQL não irá causar um erro devido a um 'use DBD::MySQL' que não foi encontrado. No entanto, ao fazer o parse da DSN da conexão com o banco, o DBI irá tentar carregar o driver do MySQL, o que irá causar um erro em tempo de execução no seu código caso não esteja instalado. Tudo isso é bastante sutil, mas pode causar um comportamento bastante diferente do espero pelo usuário, que acaba sem saber como evoluir, e dessa vez com uma mensagem de erro muito mais bizarra porque o erro acontece em um ponto do código fora do controle dele. Finalizando, e só pra reforçar -- eu não sou contra protótipos e/ou código "throw away", e considero que esmero em excesso pode ser prejudicial sim, mas não acredito que escrever código que interage com vários componentes cujo funcionamento não entendemos minimamente seja a melhor forma de aprender novas tecnologias e/ou técnicas de programação. BTW, boa discussão, já estava na hora de agitarmos um pouco a lista Ulisses 2010/6/8 Cleber Morais : > Hmmm > > Bem, uma das coisas que eu gosto em Perl é que existe inúmeras > maneiras de programar. > De certa forma, isso diz que cada programador de Perl segue uma forma > diferente de escrever > E literalmente pensar. Eu por exemplo, oriento meu códigos a sujeira > que funciona até > limpeza artística. Má prática de programação? Poderia ser, se os > códigos não funcionassem. > Para facilitar a manutenção, organizo depois que o sistema funciona. > Ruim, para mim,  é fazer um código perfeito documentado em cinco > camandas... que não roda direito. > > Para quê todo esse preâmbulo? Para dizer que você pode aprender DB > fácil e rápido com Perl. > E depois você incrementa, melhora, desenvolve, em conjunto com sua > capacidade de programação. > > Porque isso? Quanto menos dificuldade você tiver para COMEÇAR em Perl, > mais fácil será para você FICAR usando. Perl tem uns truques que são > realmente muito legais, porque não aproveitar isso? > > No caso de um DB, muito provavelmente tanto faz se for Windows ou > Linux. O código é extremamente portável... Não chega a ser uma > dificuldade. Normalmente eu uso Perl para Web, o que para mim é > incrivelmente mais fácil pensar front-end. Mas terminal também rola e > muito legal. > > Saca só esses dois códigos: http://codethe.net/codigo/perlDB.zip > É esperado, se você tiver todos os pacotes, que esse código funcione > tanto no Windows como no Linux. Eu uso Linux, mas já rodei esses > carinhas ai no Windows...No Windows, eu uso normalmente o ActivePerl, > que acho bem arrumado e já vem com PerlPackageManager2 (ppm) vulgo > "cpan" no linux. Você diz qual é o pacote, ele instala. Simples assim. > > É tudo o que você precisa, o resto é melhorar e aplicar. > > Com esses códigos ai você já pode fazer um sistema que funcione em > rede conectando a DBs remotos... Não é seguro, mas funciona =D > > Precisas estudar SQL e alguma coisa sobre Hashes e iteração neles... > > No mais, mão a obra! > > abs > > Cleber M > > > > > > 2010/6/7 Bruno da Fonte : >> Boa tarde, >> gostaria de ter "aula particular" de Perl, na verdade quero aprender a >> utilizar o perl em windows com algum banco de dados, já peguei vários >> tutoriais na net más não dá, pois não sou programador por profissão e sim >> por hobbye. >> Se souber de alguem que cobre para ensinar, gostaria do contato. Acho que em >> uma manhã já daria pra pegar. >> Obrigado >> Bruno da Fonte >> brunodafonte em gmail.com >> 81.9232.4444 >> _______________________________________________ >> Recife-pm mailing list >> Recife-pm em pm.org >> http://mail.pm.org/mailman/listinfo/recife-pm >> > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm > -- ?If debugging is the process of removing software bugs, then programming must be the process of putting them in.? - Edsger Dijkstra From marcoaureliomacae em gmail.com Tue Jun 8 13:42:07 2010 From: marcoaureliomacae em gmail.com (=?ISO-8859-1?B?TWFyY28gQXVy6WxpbyAoTUFDQckp?=) Date: Tue, 8 Jun 2010 17:42:07 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: André, Suas sugestões foram de muito proveito, concordo com você, porém na minha experiência eu comecei a programa com Perl resolvendo pequenos problemas da vida real, sendo assim, fui descobrindo sozinho e aos poucos a estrutura da linguagem, na realidade para um iniciante é muito desafiador ler de cara a documentação do Perl e sua estrutura, a linguagem é conhecida por sua alta curva de aprendizado, por isso eu sugiro que o bruno resolva pequenos problemas, antes de se envolver com a complexa estrutura da linguagem. A melhor maneira de aprender Perl é escrevendo código e eu guardaria as coisas complicadas para outro dia. Uma vez instalado o interpretador/compilador Perl no Windows, podemos apenas utilizar perldoc em vez de ser amigável, abra o Prompt de Comando e digite: perldoc perl (Uma visão geral e dezenas de tutoriais). perldoc intro (Perl para iniciantes) perldoc perlrequick (Um exemplo de Perl Regex) perldoc perlfunc (Apresenta as funções embutidas Perl ) peldoc perlre (Regex de Perl avançadas) Não devemos esquentar a cabeça, porque o programador iniciante vai digerindo aos poucos estrutura e conceitos complexos do Perl. É extremamente necessário um curso de inglês para ser um bom programador, porém não devemos se preocupar com isso em curto prazo, pois ele irá notar a necessidade natural de ler documentação juntamente com os seus códigos de fontes na maioria das vezes escritos língua inglesa. A linha de aprendizagem que você traçou é muito boa, bem como todo o material para pesquisar, sem alongar parabéns André! Abraços de formadores, Marco Aurélio (MACAÉ) 2010/6/8 Andre Carneiro : > Bruno, > > Eu entendo o seu ponto, mas acho que não vale a pena você pagar só para > aprender Perl tão superficialmente, levanto em conta que você mencionou > especificamente que gostaria de 'aprender a utilizar Perl com algum banco de > dados' . Isso não fará de você um programador Perl, e provavelmente você vai > se cansar de ler respostas como essa por aqui, até que resolva seguir o meu > conselho e os demais, ou não ...  :P > Sendo assim eu sugiro que, já que você está aprendendo por hobby, gaste > bastante tempo lendo documentação e outros materiais que o pessoal possa > passar por aqui, e então resolver problemas mais simples de imediato, para > depois passar para bancos de dados. Isso tem motivos: > - Perl tem 'sutilezas' que devem ser introduzidas antes de se começar a > 'fuçar', ou você vai achar logo de cara que a linguagem foi feita por > alienígenas ou no mínimo por egípcios...; > - Aprender algo superficialmente = aprender nada; Nesse caso você pode > tentar isso sozinho. Tem material de sobra na internet, embora você diga o > contrário. Leia mais abaixo; > - Queremos que os profissionais( mesmo 'hobistas' ), amem Perl tanto quanto > nós e mostrem o desejo pela excelência , auto-aprendizado e vontade de > ajudar. Características que consideramos essenciais em alguém realmente > envolvido com Perl ; > > MATERIAL INTRODUTÓRIO/INTERMEDIARIO > Um material inicial muuuito bacana é o do Otávio Fernandes, e está no link > abaixo( está em português, ora vejam só! :D ): > > http://github.com/otaviof/SPPM-Perl_101/raw/master/Introducao%20ao%20Perl%20(Perl%20101).pdf > > Dá uma boa lida nesse material, tente resolver problemas simples, e traga > dúvidas para a lista. Teremos prazer em te ajudar! > Depois dê uma olhada nos artigos do http://perl.org.br, na sessão > 'Documentação'. > > Se resolver mudar de idéia quanto ao lance do 'inglês'( recomendo fortemente > que reconsidere sua posição e tente aprender inglês, aliás é um motivo > melhor para se pagar um curso, já que considero que o material, > principalmente em inglês, mais a comunidade pode te ajudar muito mais do que > um curso ), e tomar coragem para ler o material em inglês, tente isso: > http://perldoc.perl.org > Lá você encontra tutoriais e muito material interessante para se introduzir > na linguagem. Sugiro que você comece por: > http://perldoc.perl.org/index-overview.html > Nessa página: http://perldoc.perl.org/index-tutorials.html, eu começaria > pelos links abaixo, mas dá uma olhada em todos! > http://perldoc.perl.org/perldata.html > http://perldoc.perl.org/perlsyn.html > http://perldoc.perl.org/perlvar.html > http://perldoc.perl.org/perlref.html > http://perldoc.perl.org/perldsc.html #Esse eu considero um dos mais > importantes > ( alguns desses artigos existem em português em http://perl.org.br ) > > http://www.perl.org/books/beginning-perl/  #achei esse agora, não sei se é > bom,  mas parece ser ... > > Depois disso, leia sobre expressões regulares: > perlre > perlreref > > Várias dúvidas e problemas depois ... leia sobre orientação a objetos: > http://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objetos > perlobj > > Depois disso tente começar a usar o CPAN, começando pelo módulo de interface > com SGBDS, o DBI. > > DBI > > Se você já tem algum conhecimento em orientação a objetos, pode ler sobre > abstração de classes e abstração de banco de dados em Perl, através da > documentação dos seguintes módulos: > > Class::MOP > > Moose > > DBIx::Class > > Muitas dúvidas depois ... > > > Finalmente, junte tudo que você aprendeu, e comece a ler sobre: > MVC > > Cansei! Pra fechar! > Catalyst (Português - material do maluco, nosso moderador!) > > Catalyst - Web Framework > > > > > Outros links relacionados ao CPAN: > http://search.cpan.org # você pesquisa módulos aqui > http://www.cpan.org # guia sobre módulos, scripts, o próprio Perl e muito > mais. > cpan # documentação sobre o cpan em linha de comando > > > Divirta-se!!! Cheers! > > 2010/6/7 Bruno da Fonte >> >> Boa tarde, >> gostaria de ter "aula particular" de Perl, na verdade quero aprender a >> utilizar o perl em windows com algum banco de dados, já peguei vários >> tutoriais na net más não dá, pois não sou programador por profissão e sim >> por hobbye. >> Se souber de alguem que cobre para ensinar, gostaria do contato. Acho que >> em uma manhã já daria pra pegar. >> Obrigado >> Bruno da Fonte >> brunodafonte em gmail.com >> 81.9232.4444 >> _______________________________________________ >> Recife-pm mailing list >> Recife-pm em pm.org >> http://mail.pm.org/mailman/listinfo/recife-pm > > > > -- > André Garcia Carneiro > Analista/Desenvolvedor Perl > (11)82907780 > > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm > From andregarciacarneiro em gmail.com Tue Jun 8 14:44:24 2010 From: andregarciacarneiro em gmail.com (Andre Carneiro) Date: Tue, 8 Jun 2010 18:44:24 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Em 8 de junho de 2010 17:05, Cleber Morais escreveu: > Hmmm > > Bem, uma das coisas que eu gosto em Perl é que existe inúmeras > maneiras de programar. > De certa forma, isso diz que cada programador de Perl segue uma forma > diferente de escrever > E literalmente pensar. Eu por exemplo, oriento meu códigos a sujeira > que funciona até > limpeza artística. Má prática de programação? Poderia ser, se os > códigos não funcionassem. > Para facilitar a manutenção, organizo depois que o sistema funciona. > Que medo! Desde que você aplique isso para scripts descartáveis eu até posso concordar. Mas num projeto maior, se você usa esse tipo de mentalidade, só posso dizer que sinto muito pelo seu patrão e pela empresa onde você trabalha. E se o seu patrão pensa assim também, pobre dos clientes. Duvido que você chegue ao que você mencionou de 'limpeza artística'. Mesmo porque isso tá me parecendo mesmo é conversa mole! Qualidade não é luxo da empresa, é DEVER do desenvolvedor. Por favor não trate com desdém essas coisas. Dizer que programar de qualquer jeito e melhorar depois é 'conversa pra boi dormir' !! Com o tempo( e já vi acontecer muito por aqui ), profissionais/empresas que trabalham assim logo perdem credibilidade e/ou clientes( salvo as raras exceções ). Se você faz bem-feito logo de início, não precisará se preocupar tanto com manutenção no futuro, isso é fato! Se não fosse asim não existiriam padrões de projeto, nem seriam necessárias as criações de padrões de desenvolvimento. Todos os desenvolvedores ganhariam bem e fariam orgias com seus códigos... Então não me venha com essa, e seja profissional por favor! Atitudes como essa só queimam o filme da linguagem e da comunidade. > Ruim, para mim, é fazer um código perfeito documentado em cinco > camandas... que não roda direito. > > Se você fez isso e mesmo assim o código não roda direito, então o problema é o seu projeto, não o fato de você usar programação em camadas. Você é que não sabe fazer, portanto pare de falar besteira vai estudar! > Para quê todo esse preâmbulo? Para dizer que você pode aprender DB > fácil e rápido com Perl. > A questão não é aprender rápido, mas superficialmente. Se você aprende algo superficialmente, vai ter resultados superficiais, ou seja, código POG, armengues, ou sei lá mais o q... > E depois você incrementa, melhora, desenvolve, em conjunto com sua > capacidade de programação. > > Sinto muito, mas desculpa de alejado é muleta!!! Não, meu caro! Uma coisa é você começar com algo simples, outra é começar com algo errado, continuar fazendo errado, e sugerir que façam errado ! Existem várias maneiras 'certas' de se resolver um problema, não precisa dar relaxo só porque tá com preguiça fazer, ou com preguiça de ensinar. > Porque isso? Quanto menos dificuldade você tiver para COMEÇAR em Perl, > mais fácil será para você FICAR usando. Perl tem uns truques que são > realmente muito legais, porque não aproveitar isso? > > Ninguém falou nada sobre 'não usar truques', truques != "ARMENGUE" , como se diz por aí... Armengue é coisa de amador preguiçoso, aceitável somente e em casos extremos e temporários, e olhe lá... E isso não tem nada a ver com ser um programador 'preguiçoso', como disse Larry Wall. Resumindo, seja, acima de tudo, PROFISSIONAL. Ame o que faz e faça direito! Perl dá muitos atalhos para resolver as coisas, de muitas maneiras diferentes. No entanto você é quem precisa decidir se o seu código vai ser reaproveitável, de fácil manutenção( ou nenhuma, se possível ), escalável, elegante, e não menos importante, robusto, e você deve cuidar disso, pois Perl não vai cuidar pra você!!! > No caso de um DB, muito provavelmente tanto faz se for Windows ou > Linux. O código é extremamente portável... Não chega a ser uma > dificuldade. Normalmente eu uso Perl para Web, o que para mim é > incrivelmente mais fácil pensar front-end. Mas terminal também rola e > muito legal. > > E você ainda programa para web pensando desse jeito? E no WIndows????? Só pelo fato de você trabalhar com Windows, já deveria estar 10000x mais preocupado com questões de segurança, no windows + web nem se fala!! Bruno, não escute o que esse homem diz. Ele precisa de mais orientação que você! > Saca só esses dois códigos: http://codethe.net/codigo/perlDB.zip > É esperado, se você tiver todos os pacotes, que esse código funcione > tanto no Windows como no Linux. Eu uso Linux, mas já rodei esses > carinhas ai no Windows...No Windows, eu uso normalmente o ActivePerl, > que acho bem arrumado e já vem com PerlPackageManager2 (ppm) vulgo > "cpan" no linux. Você diz qual é o pacote, ele instala. Simples assim. > > Você precisa realmente se atualizar e ler mais a documentação do DBI, principalmente sobre 'placeholders'. E com certeza precisa aprender sobre tratamento de erros e transações. Esse código é uma desgraça! Totalmente sujeito a falhas de segurança e crash. E isso não é algo que se deva tratar 'melhorando depois'... > É tudo o que você precisa, o resto é melhorar e aplicar. > > Não, com certeza não é. Meu conselho é que não se siga esse caminho, pois vai dar tiros no pé, e vai se arrepender muito depois. Sem mencionar que vai acabar sendo demitido mais cedo ou mais tarde por uma malfadada cagada. Ou pior, vai acabar se decepcionando injustamente com a linguagem. > Com esses códigos ai você já pode fazer um sistema que funcione em > rede conectando a DBs remotos... Não é seguro, mas funciona =D > > 'Não é seguro, mas funciona' . Você é parente do Maluf ?? Trágico que você pense assim. Espero que mude de atitude um dia. É nessas horas que dá vergonha de ser brasileiro. > Precisas estudar SQL e alguma coisa sobre Hashes e iteração neles... > > No mais, mão a obra! > > Essa aqui é piada, né? > 2010/6/7 Bruno da Fonte : > > Boa tarde, > > gostaria de ter "aula particular" de Perl, na verdade quero aprender a > > utilizar o perl em windows com algum banco de dados, já peguei vários > > tutoriais na net más não dá, pois não sou programador por profissão e sim > > por hobbye. > > Se souber de alguem que cobre para ensinar, gostaria do contato. Acho que > em > > uma manhã já daria pra pegar. > > Obrigado > > Bruno da Fonte > > brunodafonte em gmail.com > > 81.9232.4444 > > _______________________________________________ > > Recife-pm mailing list > > Recife-pm em pm.org > > http://mail.pm.org/mailman/listinfo/recife-pm > > > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm > Cheers! -- André Garcia Carneiro Analista/Desenvolvedor Perl (11)82907780 -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From andregarciacarneiro em gmail.com Tue Jun 8 14:55:26 2010 From: andregarciacarneiro em gmail.com (Andre Carneiro) Date: Tue, 8 Jun 2010 18:55:26 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Em 8 de junho de 2010 17:29, Ulisses Montenegro < ulisses.montenegro em gmail.com> escreveu: > Cleber > > É verdade que o Larry Wall sempre repete o bordão do "There is more > than one way to do it", mas na prática, a não ser que você seja o > único a colocar a mão no código, múltiplas visões dos problemas e dos > códigos só introduzem confusão e atrapalham na manutenção do código. > Já tive de dar suporte a código legado escrito por terceiros, onde > cada parte do sistema tinha a "cara" do desenvolvedor original, e fica > extremamente difícil respeitar o design original quando precisamos > interpretar cada trecho de código com parâmetros diferentes, tentando > emular o pensamento de quem o escreveu. > > Eu não tenho absolutamente nada contra desenvolvimento incremental, e > muito menos contra formalismo e rigor em excesso durante o processo de > aprendizado, mas DBI é um exemplo de uma tecnologia que interfaceia > com tantas outras -- SQL, bancos de dados, drivers DBD -- que um pouco > de preparo antes de encarar a coisa muitas vezes pode economizar muito > tempo mais na frente. > > Desenvolvimento incremental envolve projeto, 'ciclo de vida' do software e outros conceitos. Isso é totalmente diferente de sair fazendo besteira sem pensar e tentar concertar depois. > Um exemplo -- o seu código faz uso do driver DBD do MySQL, que pela > maneira como o DBI funciona, não é um requisito em tempo de compilação > do código -- ou seja, o fato de um usuário não possuir o módulo > DBD::MySQL não irá causar um erro devido a um 'use DBD::MySQL' que não > foi encontrado. No entanto, ao fazer o parse da DSN da conexão com o > banco, o DBI irá tentar carregar o driver do MySQL, o que irá causar > um erro em tempo de execução no seu código caso não esteja instalado. > Tudo isso é bastante sutil, mas pode causar um comportamento bastante > diferente do espero pelo usuário, que acaba sem saber como evoluir, e > dessa vez com uma mensagem de erro muito mais bizarra porque o erro > acontece em um ponto do código fora do controle dele. > > Pois é... cabe a VOCÊ tratar isso, não acha? > Finalizando, e só pra reforçar -- eu não sou contra protótipos e/ou > código "throw away", e considero que esmero em excesso pode ser > prejudicial sim, mas não acredito que escrever código que interage com > vários componentes cujo funcionamento não entendemos minimamente seja > a melhor forma de aprender novas tecnologias e/ou técnicas de > programação. > > Não vi nenhum exagero por aqui... e concordo que exageros acabam prejudicando. Mas considero 'armengues' como um mal absolutamente desnecessário, desde que você saiba o que está fazendo! > BTW, boa discussão, já estava na hora de agitarmos um pouco a lista > Ulisses > > 2010/6/8 Cleber Morais : > > Hmmm > > > > Bem, uma das coisas que eu gosto em Perl é que existe inúmeras > > maneiras de programar. > > De certa forma, isso diz que cada programador de Perl segue uma forma > > diferente de escrever > > E literalmente pensar. Eu por exemplo, oriento meu códigos a sujeira > > que funciona até > > limpeza artística. Má prática de programação? Poderia ser, se os > > códigos não funcionassem. > > Para facilitar a manutenção, organizo depois que o sistema funciona. > > Ruim, para mim, é fazer um código perfeito documentado em cinco > > camandas... que não roda direito. > > > > Para quê todo esse preâmbulo? Para dizer que você pode aprender DB > > fácil e rápido com Perl. > > E depois você incrementa, melhora, desenvolve, em conjunto com sua > > capacidade de programação. > > > > Porque isso? Quanto menos dificuldade você tiver para COMEÇAR em Perl, > > mais fácil será para você FICAR usando. Perl tem uns truques que são > > realmente muito legais, porque não aproveitar isso? > > > > No caso de um DB, muito provavelmente tanto faz se for Windows ou > > Linux. O código é extremamente portável... Não chega a ser uma > > dificuldade. Normalmente eu uso Perl para Web, o que para mim é > > incrivelmente mais fácil pensar front-end. Mas terminal também rola e > > muito legal. > > > > Saca só esses dois códigos: http://codethe.net/codigo/perlDB.zip > > É esperado, se você tiver todos os pacotes, que esse código funcione > > tanto no Windows como no Linux. Eu uso Linux, mas já rodei esses > > carinhas ai no Windows...No Windows, eu uso normalmente o ActivePerl, > > que acho bem arrumado e já vem com PerlPackageManager2 (ppm) vulgo > > "cpan" no linux. Você diz qual é o pacote, ele instala. Simples assim. > > > > É tudo o que você precisa, o resto é melhorar e aplicar. > > > > Com esses códigos ai você já pode fazer um sistema que funcione em > > rede conectando a DBs remotos... Não é seguro, mas funciona =D > > > > Precisas estudar SQL e alguma coisa sobre Hashes e iteração neles... > > > > No mais, mão a obra! > > > > abs > > > > Cleber M > > > > > > > > > > > > 2010/6/7 Bruno da Fonte : > >> Boa tarde, > >> gostaria de ter "aula particular" de Perl, na verdade quero aprender a > >> utilizar o perl em windows com algum banco de dados, já peguei vários > >> tutoriais na net más não dá, pois não sou programador por profissão e > sim > >> por hobbye. > >> Se souber de alguem que cobre para ensinar, gostaria do contato. Acho > que em > >> uma manhã já daria pra pegar. > >> Obrigado > >> Bruno da Fonte > >> brunodafonte em gmail.com > >> 81.9232.4444 > >> _______________________________________________ > >> Recife-pm mailing list > >> Recife-pm em pm.org > >> http://mail.pm.org/mailman/listinfo/recife-pm > >> > > _______________________________________________ > > Recife-pm mailing list > > Recife-pm em pm.org > > http://mail.pm.org/mailman/listinfo/recife-pm > > > > > > -- > ?If debugging is the process of removing software bugs, then > programming must be the process of putting them in.? - Edsger Dijkstra > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm > -- André Garcia Carneiro Analista/Desenvolvedor Perl (11)82907780 -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From marcoaureliomacae em gmail.com Tue Jun 8 15:38:10 2010 From: marcoaureliomacae em gmail.com (=?ISO-8859-1?B?TWFyY28gQXVy6WxpbyAoTUFDQckp?=) Date: Tue, 8 Jun 2010 19:38:10 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Boa noite, Cleber, O lema da linguagem é Perl e continuará sendo: ?Há mais de uma maneira de fazer as coisas.?, promove o Larry Wall (Tim Toady) [1]. A linguagem foi projetada com essa idea em mente, ele se refere à maneira que não se deve dizer ao programador com ele deve programar, isso torna mas fácil de resolver os problemas simples, e os defensores desse lema como eu e você também dizem que torna mais fácil para escrever programas bonitos e concisos. Porém o André tem razão em vários pontos, por exemplo, quando você vai escrever um programa grande quando o número de linha do código é alto, um Gerenciador de Conteúdo, se você não começar a desenvolver dentro dos padrões de desenho de software, também muito conhecido pelo termo original em inglês: Design Patterns [2], os padrões de projeto e as boas práticas de código, visam à reutilização de soluções de desenho, facilitando comunicação, documentação e aprendizado dos sistemas de software. Exatamente o que Ulisses comentou também. Caso você não estabeleça um padrão para o seu programa de grande e médio porte na certa perderá o controle da situação, eu já passei por isso e não tenho o menor receio de falar como isso aconteceu. Nós programadores do Perl, somos muito parecido em vários aspectos e costumes, gostamos do seu lema e filosofia. Você não pode deixa o lema do Perl de lado, é exatamente isso que nos diferencia da filosofia de linguagens como Python, por exemplo, diz que deve haver somente um caminho e de preferência uma maneira óbvia para fazê-lo. [3] Para os principiantes, o código fonte de um script Perl mais parece um desastre de conversão ou um dump acidental. A linguagem possui uma sintaxe temperamental que, propositadamente, não se prende a padrões predefinidos. Perl pode parecer com um personagem de desenho animado xingando, mas existem casos onde Perl é até mesmo melhor que Python conceitualmente [4]. Abraços colaborativos, Marco Aurélio (MACAÉ) Fontes: [1] TIMTOWTDI? - http://www.dev411.com/blog/2009/01/24/can-epo-or-tpf-tame-timtowtdi [2] Padrão de projeto de software - http://pt.wikipedia.org/wiki/Padr%C3%A3o_de_projeto_de_software [3] The Zen of Python - http://www.python.org/dev/peps/pep-0020/ [4] O Paradoxo Python - http://www.sounerd.com.br/index.php?option=com_content&task=view&id=191&Itemid=43 Em 8 de junho de 2010 17:05, Cleber Morais escreveu: > Hmmm > > Bem, uma das coisas que eu gosto em Perl é que existe inúmeras > maneiras de programar. > De certa forma, isso diz que cada programador de Perl segue uma forma > diferente de escrever > E literalmente pensar. Eu por exemplo, oriento meu códigos a sujeira > que funciona até > limpeza artística. Má prática de programação? Poderia ser, se os > códigos não funcionassem. > Para facilitar a manutenção, organizo depois que o sistema funciona. > Ruim, para mim,  é fazer um código perfeito documentado em cinco > camandas... que não roda direito. > > Para quê todo esse preâmbulo? Para dizer que você pode aprender DB > fácil e rápido com Perl. > E depois você incrementa, melhora, desenvolve, em conjunto com sua > capacidade de programação. > > Porque isso? Quanto menos dificuldade você tiver para COMEÇAR em Perl, > mais fácil será para você FICAR usando. Perl tem uns truques que são > realmente muito legais, porque não aproveitar isso? > > No caso de um DB, muito provavelmente tanto faz se for Windows ou > Linux. O código é extremamente portável... Não chega a ser uma > dificuldade. Normalmente eu uso Perl para Web, o que para mim é > incrivelmente mais fácil pensar front-end. Mas terminal também rola e > muito legal. > > Saca só esses dois códigos: http://codethe.net/codigo/perlDB.zip > É esperado, se você tiver todos os pacotes, que esse código funcione > tanto no Windows como no Linux. Eu uso Linux, mas já rodei esses > carinhas ai no Windows...No Windows, eu uso normalmente o ActivePerl, > que acho bem arrumado e já vem com PerlPackageManager2 (ppm) vulgo > "cpan" no linux. Você diz qual é o pacote, ele instala. Simples assim. > > É tudo o que você precisa, o resto é melhorar e aplicar. > > Com esses códigos ai você já pode fazer um sistema que funcione em > rede conectando a DBs remotos... Não é seguro, mas funciona =D > > Precisas estudar SQL e alguma coisa sobre Hashes e iteração neles... > > No mais, mão a obra! > > abs > > Cleber M > > > > > > 2010/6/7 Bruno da Fonte : >> Boa tarde, >> gostaria de ter "aula particular" de Perl, na verdade quero aprender a >> utilizar o perl em windows com algum banco de dados, já peguei vários >> tutoriais na net más não dá, pois não sou programador por profissão e sim >> por hobbye. >> Se souber de alguem que cobre para ensinar, gostaria do contato. Acho que em >> uma manhã já daria pra pegar. >> Obrigado >> Bruno da Fonte >> brunodafonte em gmail.com >> 81.9232.4444 >> _______________________________________________ >> Recife-pm mailing list >> Recife-pm em pm.org >> http://mail.pm.org/mailman/listinfo/recife-pm >> > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm > From andregarciacarneiro em gmail.com Tue Jun 8 15:43:24 2010 From: andregarciacarneiro em gmail.com (Andre Carneiro) Date: Tue, 8 Jun 2010 19:43:24 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Em 8 de junho de 2010 19:38, Marco Aurélio (MACAÉ) < marcoaureliomacae em gmail.com> escreveu: > Boa noite, Cleber, > > O lema da linguagem é Perl e continuará sendo: ?Há mais de uma maneira > de fazer as coisas.?, promove o Larry Wall (Tim Toady) [1]. A > linguagem foi projetada com essa idea em mente, ele se refere à > maneira que não se deve dizer ao programador com ele deve programar, > isso torna mas fácil de resolver os problemas simples, e os defensores > desse lema como eu e você também dizem que torna mais fácil para > escrever programas bonitos e concisos. > > Porém o André tem razão em vários pontos, por exemplo, quando você vai > escrever um programa grande quando o número de linha do código é alto, > um Gerenciador de Conteúdo, se você não começar a desenvolver dentro > dos padrões de desenho de software, também muito conhecido pelo termo > original em inglês: Design Patterns [2], os padrões de projeto e as > boas práticas de código, visam à reutilização de soluções de desenho, > facilitando comunicação, documentação e aprendizado dos sistemas de > software. Exatamente o que Ulisses comentou também. > > Caso você não estabeleça um padrão para o seu programa de grande e > médio porte na certa perderá o controle da situação, eu já passei por > isso e não tenho o menor receio de falar como isso aconteceu. Nós > programadores do Perl, somos muito parecido em vários aspectos e > costumes, gostamos do seu lema e filosofia. Você não pode deixa o lema > do Perl de lado, é exatamente isso que nos diferencia da filosofia de > linguagens como Python, por exemplo, diz que deve haver somente um > caminho e de preferência uma maneira óbvia para fazê-lo. [3] > > Para os principiantes, o código fonte de um script Perl mais parece um > desastre de conversão ou um dump acidental. A linguagem possui uma > sintaxe temperamental que, propositadamente, não se prende a padrões > predefinidos. Perl pode parecer com um personagem de desenho animado > xingando, mas existem casos onde Perl é até mesmo melhor que Python > conceitualmente [4]. > > macaé ++ #ótima explicação no troll mode off ! Mas acho importante dar uma puxada de orelha! Eu tomei várias e agradeço por isso. Não por ser masoquista, mas por ter me tornado um profissional melhor. > Abraços colaborativos, > Marco Aurélio (MACAÉ) > > Fontes: > [1] TIMTOWTDI? - > http://www.dev411.com/blog/2009/01/24/can-epo-or-tpf-tame-timtowtdi > [2] Padrão de projeto de software - > http://pt.wikipedia.org/wiki/Padr%C3%A3o_de_projeto_de_software > [3] The Zen of Python - http://www.python.org/dev/peps/pep-0020/ > [4] O Paradoxo Python - > > http://www.sounerd.com.br/index.php?option=com_content&task=view&id=191&Itemid=43 > > > Em 8 de junho de 2010 17:05, Cleber Morais escreveu: > > Hmmm > > > > Bem, uma das coisas que eu gosto em Perl é que existe inúmeras > > maneiras de programar. > > De certa forma, isso diz que cada programador de Perl segue uma forma > > diferente de escrever > > E literalmente pensar. Eu por exemplo, oriento meu códigos a sujeira > > que funciona até > > limpeza artística. Má prática de programação? Poderia ser, se os > > códigos não funcionassem. > > Para facilitar a manutenção, organizo depois que o sistema funciona. > > Ruim, para mim, é fazer um código perfeito documentado em cinco > > camandas... que não roda direito. > > > > Para quê todo esse preâmbulo? Para dizer que você pode aprender DB > > fácil e rápido com Perl. > > E depois você incrementa, melhora, desenvolve, em conjunto com sua > > capacidade de programação. > > > > Porque isso? Quanto menos dificuldade você tiver para COMEÇAR em Perl, > > mais fácil será para você FICAR usando. Perl tem uns truques que são > > realmente muito legais, porque não aproveitar isso? > > > > No caso de um DB, muito provavelmente tanto faz se for Windows ou > > Linux. O código é extremamente portável... Não chega a ser uma > > dificuldade. Normalmente eu uso Perl para Web, o que para mim é > > incrivelmente mais fácil pensar front-end. Mas terminal também rola e > > muito legal. > > > > Saca só esses dois códigos: http://codethe.net/codigo/perlDB.zip > > É esperado, se você tiver todos os pacotes, que esse código funcione > > tanto no Windows como no Linux. Eu uso Linux, mas já rodei esses > > carinhas ai no Windows...No Windows, eu uso normalmente o ActivePerl, > > que acho bem arrumado e já vem com PerlPackageManager2 (ppm) vulgo > > "cpan" no linux. Você diz qual é o pacote, ele instala. Simples assim. > > > > É tudo o que você precisa, o resto é melhorar e aplicar. > > > > Com esses códigos ai você já pode fazer um sistema que funcione em > > rede conectando a DBs remotos... Não é seguro, mas funciona =D > > > > Precisas estudar SQL e alguma coisa sobre Hashes e iteração neles... > > > > No mais, mão a obra! > > > > abs > > > > Cleber M > > > > > > > > > > > > 2010/6/7 Bruno da Fonte : > >> Boa tarde, > >> gostaria de ter "aula particular" de Perl, na verdade quero aprender a > >> utilizar o perl em windows com algum banco de dados, já peguei vários > >> tutoriais na net más não dá, pois não sou programador por profissão e > sim > >> por hobbye. > >> Se souber de alguem que cobre para ensinar, gostaria do contato. Acho > que em > >> uma manhã já daria pra pegar. > >> Obrigado > >> Bruno da Fonte > >> brunodafonte em gmail.com > >> 81.9232.4444 > >> _______________________________________________ > >> Recife-pm mailing list > >> Recife-pm em pm.org > >> http://mail.pm.org/mailman/listinfo/recife-pm > >> > > _______________________________________________ > > Recife-pm mailing list > > Recife-pm em pm.org > > http://mail.pm.org/mailman/listinfo/recife-pm > > > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm > -- André Garcia Carneiro Analista/Desenvolvedor Perl (11)82907780 -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From marcoaureliomacae em gmail.com Tue Jun 8 15:55:36 2010 From: marcoaureliomacae em gmail.com (=?ISO-8859-1?B?TWFyY28gQXVy6WxpbyAoTUFDQckp?=) Date: Tue, 8 Jun 2010 19:55:36 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: > macaé ++ #ótima explicação no troll mode off ! Mas acho importante dar uma > puxada de orelha! Eu tomei várias e agradeço por isso. Não por ser > masoquista, mas por ter me tornado um profissional melhor. Andre Carneiro++; # Se não fosse Trolls [1] iguais você, que já me bateram muito em listas nacionais como http://cascavel.pm.org/ e http://sao-paulo.pm.org, eu nunca teria aprendido tudo isso! ;-) Abraços acolhedores, Marco Aurélio (MACAÉ) Fonte: [1] Troll - http://pt.wikipedia.org/wiki/Troll_(internet) >> Fontes: >> [1] TIMTOWTDI? - >> http://www.dev411.com/blog/2009/01/24/can-epo-or-tpf-tame-timtowtdi >> [2] Padrão de projeto de software - >> http://pt.wikipedia.org/wiki/Padr%C3%A3o_de_projeto_de_software >> [3] The Zen of Python - http://www.python.org/dev/peps/pep-0020/ >> [4] O Paradoxo Python - >> >> http://www.sounerd.com.br/index.php?option=com_content&task=view&id=191&Itemid=43 >> >> >> Em 8 de junho de 2010 17:05, Cleber Morais escreveu: >> > Hmmm >> > >> > Bem, uma das coisas que eu gosto em Perl é que existe inúmeras >> > maneiras de programar. >> > De certa forma, isso diz que cada programador de Perl segue uma forma >> > diferente de escrever >> > E literalmente pensar. Eu por exemplo, oriento meu códigos a sujeira >> > que funciona até >> > limpeza artística. Má prática de programação? Poderia ser, se os >> > códigos não funcionassem. >> > Para facilitar a manutenção, organizo depois que o sistema funciona. >> > Ruim, para mim,  é fazer um código perfeito documentado em cinco >> > camandas... que não roda direito. >> > >> > Para quê todo esse preâmbulo? Para dizer que você pode aprender DB >> > fácil e rápido com Perl. >> > E depois você incrementa, melhora, desenvolve, em conjunto com sua >> > capacidade de programação. >> > >> > Porque isso? Quanto menos dificuldade você tiver para COMEÇAR em Perl, >> > mais fácil será para você FICAR usando. Perl tem uns truques que são >> > realmente muito legais, porque não aproveitar isso? >> > >> > No caso de um DB, muito provavelmente tanto faz se for Windows ou >> > Linux. O código é extremamente portável... Não chega a ser uma >> > dificuldade. Normalmente eu uso Perl para Web, o que para mim é >> > incrivelmente mais fácil pensar front-end. Mas terminal também rola e >> > muito legal. >> > >> > Saca só esses dois códigos: http://codethe.net/codigo/perlDB.zip >> > É esperado, se você tiver todos os pacotes, que esse código funcione >> > tanto no Windows como no Linux. Eu uso Linux, mas já rodei esses >> > carinhas ai no Windows...No Windows, eu uso normalmente o ActivePerl, >> > que acho bem arrumado e já vem com PerlPackageManager2 (ppm) vulgo >> > "cpan" no linux. Você diz qual é o pacote, ele instala. Simples assim. >> > >> > É tudo o que você precisa, o resto é melhorar e aplicar. >> > >> > Com esses códigos ai você já pode fazer um sistema que funcione em >> > rede conectando a DBs remotos... Não é seguro, mas funciona =D >> > >> > Precisas estudar SQL e alguma coisa sobre Hashes e iteração neles... >> > >> > No mais, mão a obra! >> > >> > abs >> > >> > Cleber M >> > >> > >> > >> > >> > >> > 2010/6/7 Bruno da Fonte : >> >> Boa tarde, >> >> gostaria de ter "aula particular" de Perl, na verdade quero aprender a >> >> utilizar o perl em windows com algum banco de dados, já peguei vários >> >> tutoriais na net más não dá, pois não sou programador por profissão e >> >> sim >> >> por hobbye. >> >> Se souber de alguem que cobre para ensinar, gostaria do contato. Acho >> >> que em >> >> uma manhã já daria pra pegar. >> >> Obrigado >> >> Bruno da Fonte >> >> brunodafonte em gmail.com >> >> 81.9232.4444 >> >> _______________________________________________ >> >> Recife-pm mailing list >> >> Recife-pm em pm.org >> >> http://mail.pm.org/mailman/listinfo/recife-pm >> >> >> > _______________________________________________ >> > Recife-pm mailing list >> > Recife-pm em pm.org >> > http://mail.pm.org/mailman/listinfo/recife-pm >> > >> _______________________________________________ >> Recife-pm mailing list >> Recife-pm em pm.org >> http://mail.pm.org/mailman/listinfo/recife-pm > > > > -- > André Garcia Carneiro > Analista/Desenvolvedor Perl > (11)82907780 > From breno em rio.pm.org Tue Jun 8 16:20:09 2010 From: breno em rio.pm.org (breno) Date: Tue, 8 Jun 2010 20:20:09 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: 2010/6/8 Andre Carneiro : > > > Em 8 de junho de 2010 17:05, Cleber Morais escreveu: >> >> Hmmm >> >> Bem, uma das coisas que eu gosto em Perl é que existe inúmeras >> maneiras de programar. >> De certa forma, isso diz que cada programador de Perl segue uma forma >> diferente de escrever >> E literalmente pensar. Eu por exemplo, oriento meu códigos a sujeira >> que funciona até >> limpeza artística. Má prática de programação? Poderia ser, se os >> códigos não funcionassem. >> Para facilitar a manutenção, organizo depois que o sistema funciona. > > Que medo! > Desde que você aplique isso para scripts descartáveis eu até posso > concordar. > Acho que, com algumas ressalvas, os dois pontos de vista tem razão. O André é um desenvolvedor profissional, e está certíssimo em exigir qualidade de software. Recentemente as pessoas gostam de complementar TIMTOWTDI com BCINABT (There Is More Than One Way To Do It, But Consistency Is Not A Bad Thing - existe mais de uma maneira de fazer as coisas, mas consistência não é algo ruim). Dito isso, é importante lembrar que Perl não é apenas usado por profissionais, ou em programas profissionais. É uma linguagem com tanta pluralidade e flexibilidade que é fácil compará-la a um idioma de fato, como português ou inglês. É uma linguagem muito agradável - pra não dizer divertida - de aprender, e há muitos hobbyistas usando Perl diariamente para resolver pequenos problemas ou engatinhar em programação. O problema é quando um "pet project" ou um código caseiro feito por *diversão* é tratado como algo sério, usado em produção ou divulgado para pessoas que não conhecem essa característica da linguagem. É como escrever em português errado, cheio de gírias, rasuras, ou setinhas que nem aquelas em prova de escola quando acaba o espaço da pergunta. Pega muito mal pro (pseudo)desenvolvedor, para profissionais sérios e pra própria linguagem. Um caso típico é o do JAPH (http://en.wikipedia.org/wiki/JAPH), pequenos códigos Perl na assinatura de emails e posts, imprimindo a frase "Just another Perl hacker," de alguma forma "inteligente", obscura ou alternativa. O Randal Schwartz, criador do JAPH, já se disse arrependido. Afinal, embora seja *muito* divertido para quem conhece a linguagem, talvez tenha sido o principal motivo pelo qual Perl ganhou a má fama de linguagem feia, confusa e ilegível: "Perl é isso? Que horror!!". Quando a resposta esperada era mais na linha "que legal, não sabia que dava pra brincar com Perl desse jeito, achava q era só pra código profissional. Vou aprender!". Assim, é importante saber quais os objetivos do Bruno em aprender Perl: desenvolvimento de software de verdade, com melhores práticas e código elegante e moderno, ou brincar com pequenos programas que *nunca* serão mais do que isso (ou, se forem, serão reescritos da forma correta, facilitando legibilidade e escalabilidade), dobrando a linguagem, brincando com possibilidades e sem medo de dar tiros no pé. O importante é ser honesto consigo mesmo, pq fazer algo rapidinho ou de qualquer jeito (funciona? tá bom!) e ter que manter depois é um pesadelo. Na hora de fazer software, uma boa máxima é "programe como se a próxima pessoa que for manter seu código seja um psicopata homicida que saiba onde vc mora". São caminhos totalmente diferentes. Mas vai de cada um :-) []s -b From breno em rio.pm.org Tue Jun 8 16:26:53 2010 From: breno em rio.pm.org (breno) Date: Tue, 8 Jun 2010 20:26:53 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: 2010/6/8 Andre Carneiro : > > macaé ++ #ótima explicação no troll mode off ! Mas acho importante dar uma > puxada de orelha! Eu tomei várias e agradeço por isso. Não por ser > masoquista, mas por ter me tornado um profissional melhor. > macaé++ # se eu tivesse atualizado a thread antes de escrever, nem precisava ter mandado nada :-) From marcos.alvares em gmail.com Tue Jun 8 17:11:20 2010 From: marcos.alvares em gmail.com (marcos alvares) Date: Tue, 8 Jun 2010 21:11:20 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Oi Bruno, o método que vai ser mais adequado ao seu caso vai depender do seu nível de maturidade com linguagens de programação e paradigmas de linguagem de programação. Dependendo da sua situação, a contratação de um professor particular pode ser desnecessário. Na época que aprendi Perl, estava iniciando minha graduação e tinha pouca experiência com orientação a objetos. Eu li o livro "*Programming Perl*" [1] (inclusive tem uma versão em português) e pratiquei bastante. Tive muita sorte de poder aplicar Perl diretamente no meu trabalho. Uma alternativa prática é participar de algum projeto *open-source*. Após aprender Perl bem (sintaxe, semântica e prática), ai você estará preparado para estudar as extensões de Perl para aplicações específicas (Banco de dados, WEB, Eventos ...). Acredito que esse é um caminho para um aprendizado sólido da linguagem (inclusive podemos extrapolar pra outras linguagens). Se você precisar de Perl e do DBI para um esforço pontual e urgente. Então compre direto um daqueles livros de tecnologia da tecnologia, Perl - DBI em 24h [2]. [1] http://books.google.com.br/books?id=oh8lz4A3sUsC&dq=programming+perl&printsec=frontcover&source=bn&hl=pt-BR&ei=bNcOTOmhJ4yGuAf3wIWwDQ&sa=X&oi=book_result&ct=result&resnum=4&ved=0CC0Q6AEwAw#v=onepage&q&f=false [2] http://oreilly.com/catalog/9781565926998 --- Marcos Álvares 2010/6/7 Bruno da Fonte > Boa tarde, > > gostaria de ter "aula particular" de Perl, na verdade quero aprender a > utilizar o perl em windows com algum banco de dados, já peguei vários > tutoriais na net más não dá, pois não sou programador por profissão e sim > por hobbye. > > Se souber de alguem que cobre para ensinar, gostaria do contato. Acho que > em uma manhã já daria pra pegar. > > Obrigado > > Bruno da Fonte > brunodafonte em gmail.com > 81.9232.4444 > > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From cmorais em gmail.com Wed Jun 9 03:45:07 2010 From: cmorais em gmail.com (Cleber Morais) Date: Wed, 9 Jun 2010 07:45:07 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Oooeee Que bom que um tópico simples animou tudo. Pena que a pessoa que postou não falou mais. E ai, Bruno da Fonte, o que acha de tudo isso? Não vou entrar nesse flame wars, apesar da ENORME vontade. Só acho que não é necessário ficar provocando com essas coisas de "vai estudar"... Porque eu estudo. Eu leio e sei, com o limite da minha opinião, o que estou falando. Programo em Perl há 9 anos e já mantive um sistema web com mais de 8000 usuários cadastrados e mais de 300 acessos por dia. Ah, e sou formado, ok? E com Mestrado. (Já imagino o comentário Troll: "Putz, pior ainda!"). Defendido minha pessoa, continuemos. Mas o ponto que levanto é: é mais fácil aprender Perl programando ou aprender Perl aplicando restrições?(Antes de mais nada, aprenda boas práticas; leia o perldocs -- preferencialmente todo--, levante bom requisitos, documente corretamente, use a metodologia adequada, passe pelos momentos de iteração... para fazer sua calcuradora). Acho que o mais importante é, desculpem a lista, é aprender a programar. Qualquer coisa, de qualquer jeito. Por sorte nossa, usamos Perl, que possui um monte de coisas que facilitam a aprendizagem e o modelo mental de cada um. Algumas linguagens não são tão fáceis assim, tão mnemónicas (toda vez que uso C tenho que ficar xingando o fato de não poder atribuir simplesmente um valor a um array). Mas o objetivo é PROGRAMAR, não aprender Perl. E eu venho de uma "linhagem" de caras que aprendem fazendo. Teorizar é ótimo, mas nem sempre aprende-se onde coloca isso no mundo. Prática é legal, mas esvazia o conhecimento. Por isso acredito que começamos com a prática e depois vamos para o estudo para melhorar a prática...e entra em loop. Meu objetivo quando falei era fazer o Bruno programar, numa abordagem top-down. Todo mundo na lista estava falando bottom-up (leia o perldocs, veja o CPAN...). Mas isso não é a parte mais legal (pelo menos para mim) do Perl. A parte mais legal é funcionar. É fácil dizer que o código é uma desgraça. E é mesmo. Não é uma obra de arte e nem pretende ser. Mas eu asseguro que funciona. Asseguro que pode ser melhorado e asseguro que foi o único (e até agora, quando mandei essa mensagem) que mandou código para a lista. Espera, é uma lista de boas práticas e leitura comentada ou de programação? Ou existe uma metodologia para falar disso? Primeiro manda o cara ler tudo que vier pela frente... Se ele continuar na lista, manda ele ler mais outras coisas, se realmente o cara for chato suficiente para continar, mandamos algum código para ele calar a boca . [Não resisti a essa provocação...] Concordo com o Breno e o MACAE. E, acho importante frizar, não sou contra POG. Só acho que você não deve vender gato por lebre. Não venda POG como se fosse ouro, não venda documentos quando o que você precisa é uma coisa muito simples. But... With that being said... I'll probably goes with the tomatoes. It'll be a lot of rain in your area latter this year and that will help the crop. Next caller! [1] Cleber M [1] Calls for Cthullu http://www.youtube.com/watch?v=-DsgZ4JXXB8 2010/6/8 Andre Carneiro : > > > Em 8 de junho de 2010 17:05, Cleber Morais escreveu: >> >> Hmmm >> >> Bem, uma das coisas que eu gosto em Perl é que existe inúmeras >> maneiras de programar. >> De certa forma, isso diz que cada programador de Perl segue uma forma >> diferente de escrever >> E literalmente pensar. Eu por exemplo, oriento meu códigos a sujeira >> que funciona até >> limpeza artística. Má prática de programação? Poderia ser, se os >> códigos não funcionassem. >> Para facilitar a manutenção, organizo depois que o sistema funciona. > > Que medo! > Desde que você aplique isso para scripts descartáveis eu até posso > concordar. > Mas num projeto maior, se você usa esse tipo de mentalidade, só posso dizer > que sinto muito pelo seu patrão e pela empresa onde você trabalha. E se o > seu patrão pensa assim também, pobre dos clientes. > Duvido que você chegue ao que você mencionou de 'limpeza artística'. Mesmo > porque isso tá me parecendo mesmo é conversa mole! > Qualidade não é luxo da empresa, é DEVER do desenvolvedor. Por favor não > trate com desdém essas coisas. Dizer que programar de qualquer jeito e > melhorar depois é 'conversa pra boi dormir' !! Com o tempo( e já vi > acontecer muito por aqui ), profissionais/empresas que trabalham assim logo > perdem credibilidade e/ou clientes( salvo as raras exceções ). > Se você faz bem-feito logo de início, não precisará se preocupar tanto com > manutenção no futuro, isso é fato! Se não fosse asim não existiriam padrões > de projeto, nem seriam necessárias as criações de padrões de > desenvolvimento. Todos os desenvolvedores ganhariam bem e fariam orgias com > seus códigos... > Então não me venha com essa, e seja profissional por favor! Atitudes como > essa só queimam o filme da linguagem e da comunidade. > > >> >> Ruim, para mim,  é fazer um código perfeito documentado em cinco >> camandas... que não roda direito. >> > > Se você fez isso e mesmo assim o código não roda direito, então o problema é > o seu projeto, não o fato de você usar programação em camadas. Você é que > não sabe fazer, portanto pare de falar besteira vai estudar! > >> >> Para quê todo esse preâmbulo? Para dizer que você pode aprender DB >> fácil e rápido com Perl. > > > A questão não é aprender rápido, mas superficialmente. Se você aprende algo > superficialmente, vai ter resultados superficiais, ou seja, código POG, > armengues, ou sei lá mais o q... > > >> >> E depois você incrementa, melhora, desenvolve, em conjunto com sua >> capacidade de programação. >> > > Sinto muito, mas desculpa de alejado é muleta!!! > Não, meu caro! Uma coisa é você começar com algo simples, outra é começar > com algo errado, continuar fazendo errado, e sugerir que façam errado ! > Existem várias maneiras 'certas' de se resolver um problema, não precisa dar > relaxo só porque tá com preguiça fazer, ou com preguiça de ensinar. > >> >> Porque isso? Quanto menos dificuldade você tiver para COMEÇAR em Perl, >> mais fácil será para você FICAR usando. Perl tem uns truques que são >> realmente muito legais, porque não aproveitar isso? >> > > Ninguém falou nada sobre 'não usar truques', truques != "ARMENGUE" , como se > diz por aí... Armengue é coisa de amador preguiçoso, aceitável somente e em > casos extremos e temporários, e olhe lá... E isso não tem nada a ver com ser > um programador 'preguiçoso', como disse Larry Wall. > Resumindo, seja, acima de tudo, PROFISSIONAL. Ame o que faz e faça direito! > Perl dá muitos atalhos para resolver as coisas, de muitas maneiras > diferentes. No entanto você é quem precisa decidir se o seu código vai ser > reaproveitável, de fácil manutenção( ou nenhuma, se possível ), escalável, > elegante, e não menos importante, robusto, e você deve cuidar disso, pois > Perl não vai cuidar pra você!!! > >> >> No caso de um DB, muito provavelmente tanto faz se for Windows ou >> Linux. O código é extremamente portável... Não chega a ser uma >> dificuldade. Normalmente eu uso Perl para Web, o que para mim é >> incrivelmente mais fácil pensar front-end. Mas terminal também rola e >> muito legal. >> > > > E você ainda programa para web pensando desse jeito? E no WIndows????? > Só pelo fato de você trabalhar com Windows, já deveria estar 10000x mais > preocupado com questões de segurança, no windows + web nem se fala!! Bruno, > não escute o que esse homem diz. Ele precisa de mais orientação que você! > >> >> Saca só esses dois códigos: http://codethe.net/codigo/perlDB.zip >> É esperado, se você tiver todos os pacotes, que esse código funcione >> tanto no Windows como no Linux. Eu uso Linux, mas já rodei esses >> carinhas ai no Windows...No Windows, eu uso normalmente o ActivePerl, >> que acho bem arrumado e já vem com PerlPackageManager2 (ppm) vulgo >> "cpan" no linux. Você diz qual é o pacote, ele instala. Simples assim. >> > > > Você precisa realmente se atualizar e ler mais a documentação do DBI, > principalmente sobre 'placeholders'. E com certeza precisa aprender sobre > tratamento de erros e transações. Esse código é uma desgraça! Totalmente > sujeito a falhas de segurança e crash. E isso não é algo que se deva tratar > 'melhorando depois'... > >> >> É tudo o que você precisa, o resto é melhorar e aplicar. >> > > Não, com certeza não é. Meu conselho é que não se siga esse caminho, pois > vai dar tiros no pé, e vai se arrepender muito depois. Sem mencionar que vai > acabar sendo demitido mais cedo ou mais tarde por uma malfadada cagada. Ou > pior, vai acabar se decepcionando injustamente com a linguagem. > >> >> Com esses códigos ai você já pode fazer um sistema que funcione em >> rede conectando a DBs remotos... Não é seguro, mas funciona =D >> > > > 'Não é seguro, mas funciona' . Você é parente do Maluf ?? Trágico que você > pense assim. Espero que mude de atitude um dia. > > É nessas horas que dá vergonha de ser brasileiro. > > >> >> Precisas estudar SQL e alguma coisa sobre Hashes e iteração neles... >> >> No mais, mão a obra! >> > > Essa aqui é piada, né? > >> >> 2010/6/7 Bruno da Fonte : >> > Boa tarde, >> > gostaria de ter "aula particular" de Perl, na verdade quero aprender a >> > utilizar o perl em windows com algum banco de dados, já peguei vários >> > tutoriais na net más não dá, pois não sou programador por profissão e >> > sim >> > por hobbye. >> > Se souber de alguem que cobre para ensinar, gostaria do contato. Acho >> > que em >> > uma manhã já daria pra pegar. >> > Obrigado >> > Bruno da Fonte >> > brunodafonte em gmail.com >> > 81.9232.4444 >> > _______________________________________________ >> > Recife-pm mailing list >> > Recife-pm em pm.org >> > http://mail.pm.org/mailman/listinfo/recife-pm >> > >> _______________________________________________ >> Recife-pm mailing list >> Recife-pm em pm.org >> http://mail.pm.org/mailman/listinfo/recife-pm > > > Cheers! > > -- > André Garcia Carneiro > Analista/Desenvolvedor Perl > (11)82907780 > From cmorais em gmail.com Wed Jun 9 04:38:04 2010 From: cmorais em gmail.com (Cleber Morais) Date: Wed, 9 Jun 2010 08:38:04 -0300 Subject: [Recife-pm] Dec. 18, 1987: Perl Simplifies the Labyrinth That Is Programming Language ( Da revista Wired) Message-ID: Essa foi uma matéria publicada na Revista Wired quando Perl completou 20 anos: http://www.wired.com/science/discoveries/news/2007/12/dayintech_1218 abs Cleber M From ulisses.montenegro em gmail.com Wed Jun 9 05:43:09 2010 From: ulisses.montenegro em gmail.com (Ulisses Montenegro) Date: Wed, 9 Jun 2010 09:43:09 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Cleber e demais, Gostaria de fazer alguns comentários sobre os pontos discutidos -- enquanto um nível mínimo de civilidade for mantido na discussão, acredito que as diferenças de opinião só tem a agregar. DISCLAIMER: Cortei os emails originais e as partes que não vou comentar, porque os emails já estavam ficando enormes devido à quantidade de lixo residual incluído. 2010/6/9 Cleber Morais : > Mas o ponto que levanto é: é mais fácil aprender Perl programando ou > aprender Perl aplicando restrições?(Antes de mais nada, aprenda boas > práticas; leia o perldocs -- preferencialmente todo--, levante bom > requisitos, documente corretamente, use a metodologia adequada, passe > pelos momentos de iteração... para fazer sua calcuradora). > > > Acho que o mais importante é, desculpem a lista, é aprender a > programar. Qualquer coisa, de qualquer jeito. Por sorte nossa, usamos > Perl, que possui um monte de coisas que facilitam a aprendizagem e o > modelo mental de cada um. Algumas linguagens não são tão fáceis assim, > tão mnemónicas (toda vez que uso C tenho que ficar xingando o fato de > não poder atribuir simplesmente um valor a um array). Mas o objetivo é > PROGRAMAR, não aprender Perl. E eu venho de uma "linhagem" de caras > que aprendem fazendo. Teorizar é ótimo, mas nem sempre aprende-se onde > coloca isso no mundo. Prática é legal, mas esvazia o conhecimento. Por > isso acredito que começamos com a prática e depois vamos para o estudo > para melhorar a prática...e entra em loop. Você tocou em um ponto importantíssimo, mas que talvez seja polêmico devido ao público da lista -- Perl é uma boa linguagem para se aprender a programar? Eu acredito que restrições são essenciais durante o processo de aprendizado, uma vez que diminuem o escopo de possibilidades a serem validadas. Os usuários de Linux (eu me incluo na categoria, uso o sistema operacional de Linus Torvalds desde 1995) já viram essa história várias vezes -- algum amigo ou conhecido decide tentar a plataforma, e já de cara precisa escolher uma distribuição. Logo depois, o desktop environment -- KDE, Gnome ou aldo diferente? Qual browser, Firefox ou Chrome? Qual editor de texto, vim ou emacs? O usuário tipicamente vai utilizar aquilo que os mais experientes (i.e., aqueles que poderão tirar suas dúvidas quando surgirem) sugerirem, mas será que esse critério é realmente o mais adequado para garantir que o usuário tem suas demandas devidamente atendidas? Eu, particularmente, considero Perl uma escolha ruim para uma primeira linguagem, justamente por oferecer opções em excesso. Devido ao excesso de possíveis abordagens de implementação, fica difícil para um desenvolvedor iniciante decidir qual a mais adequada. Excesso de opções também dificulta diferenciar implementações bem feitas de gambiarras. Isso pode ser observado facilmente na quantidade enorme de módulos no CPAN para resolver problemas mais comuns, e na gritante diferença de qualidade que existe entre muitos deles. Dêem uma olhada em http://www.shlomifish.org/lecture/Perl/Lightning/Too-Many-Ways/slides/index.html e vejam que não sou apenas eu quem acredita nisso. Isso não quer dizer que escolha seja algo ruim, mas no contexto de alguém que está aprendendo algo novo, eu acredito trazer mais malefícios do que benefícios. > Meu objetivo quando falei era fazer o Bruno programar, numa abordagem > top-down. Todo mundo na lista estava falando bottom-up (leia o > perldocs, veja o CPAN...). Mas isso não é a parte mais legal (pelo > menos para mim) do Perl. A parte mais legal é funcionar. É legal quando você entende *porque* funciona. Óbvio que funcionar é divertido, mas programação é um processo construtivo, e construir algo que não entendemos não é tão divertido assim. > É fácil dizer que o código é uma desgraça. E é mesmo. Não é uma obra > de arte e nem pretende ser. Mas eu asseguro que funciona. Asseguro que > pode ser melhorado e asseguro que foi o único (e até agora, quando > mandei essa mensagem) que mandou código para a lista. Espera, é uma > lista de boas práticas e leitura comentada ou de programação? Ou > existe uma metodologia para falar disso? Primeiro manda o cara ler > tudo que vier pela frente... Se ele continuar na lista, manda ele ler > mais outras coisas, se realmente o cara for chato suficiente para > continar, mandamos algum código para ele calar a boca . > [Não resisti a essa provocação...] Na verdade, se ele ler um pouco mais, tentar implementar algo e falhar, e mostrar o código que escreveu, os erros que está enfrentando, nós provavelmente vamos tentar ajudá-lo da melhor forma possível. No entanto, a resposta dele deu a entender que ele não está conseguindo entender como a coisa funciona. Código não vai ajudá-lo a resolver o problema do entendimento, leitura talvez também não, mas com certeza vai deixá-lo mais próximo de conseguir resolver a situação por conta própria. > Cleber M Ulisses -- ?If debugging is the process of removing software bugs, then programming must be the process of putting them in.? - Edsger Dijkstra From cmorais em gmail.com Wed Jun 9 09:04:07 2010 From: cmorais em gmail.com (Cleber Morais) Date: Wed, 9 Jun 2010 13:04:07 -0300 Subject: [Recife-pm] Perl como primeira linguagem Message-ID: O email de Ulisses me lembrou de um questionamento meu: Será que Perl "presta" para ser a primeira linguagem a ser aprendida por alguém? Queria pensar transversalmente nisso, não diretamente. Eu aprendi a programar com Pascal, num curso de Delphi (1.3 na época). Mas efetivamente, só comecei a programar MESMO com Perl, na faculdade. Nas faculdades, sempre começa-se por portugol, pascal e --às vezes-- C. Algumas tendem a já colocar JAVA desde o princípio. E eu pergunto: porque não Perl? Uma desvantagem é que não é fortemente tipada, que pode ser uma habilidade importante para certos contextos. Com algumas linguagens mais modernas, como Python, também são assim e não parece ser um problema significativo. Sobre a forma de escrever, acho que não é um problema; Porque o professor pode escolher uma forma e os alunos seguiriam essa. Não seria necessário, por exemplo, que o professor explicasse TODAS as formas de fazer uma iteração. Mas uma, que ele achar mais didática, menos "criptic". O que vocês adicionariam? abs Cleber M From cmorais em gmail.com Wed Jun 9 10:15:37 2010 From: cmorais em gmail.com (Cleber Morais) Date: Wed, 9 Jun 2010 14:15:37 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Ok, agora deu. O que tu ganhas ofendendo as pessoas? CARAMBA Em nenhum momento eu direcionei nada para a sua pessoa e no entanto sempre ao invés de discutir ideas, você fica agredindo? É falta de argumento racional? Sinceramente, desisto de conversar ou até mesmo interagir com isso. Sobre leitura, já leu isso? http://smeira.blog.terra.com.br/2009/10/22/espaos-criatividade-inovao-e-gambiarra/ "A despeito das depreciações que se costumam atribuir a alguns destes tipos de procedimentos ? em muitos casos com total fundamento, na qualidade de ?precário?, ?feio?, ?malandro?, ?tosco?, o termo gambiarra recebe também conotações positivas. Acompanhando um momento de mudança na maneira como alguns pensadores e a própria população brasileira têm enxergado sua cultura e identidade, o termo gambiarra tem sido remetido à idéia do pronunciado ?jeitinho brasileiro?, numa visão que busca enfatizar em seu próprio povo, uma propensão ao espírito criativo, à capacidade inventiva e inovadora, à inteligência e dinâmica da cultura popular; levando em consideração a conjuntura de adversidades e vicissitudes às quais todos nós (muitos evidentemente mais) estamos expostos; entendendo-a como uma prática que se aproxima de conceitos como reutilização/reciclagem ou bricolagem." Sobre me educar, não se dê esse trabalho. Uma educação como a sua não me serviria para nada. Pode ficar com ela TODINHA para você. E se você acha que pessoas como eu que "queimam" a linguagem Perl, tenho pena de você, pela ingenuidade e da linguagem, pela fraqueza. Também espero nunca trabalhar com você e que você nunca administre uma lista. Lamento você não ter nenhuma abertura em seu pensamento hermético, mas isso é um problema integral e absoluto seu. Logo voc? que fique com ele e suas consequências. Até mais Cleber M 2010/6/9 Andre Carneiro : > > > Em 9 de junho de 2010 07:45, Cleber Morais escreveu: >> >> Oooeee >> >> Que bom que um tópico simples animou tudo. Pena que a pessoa que >> postou não falou  mais. E ai, Bruno da Fonte, o que acha de tudo isso? >> >> >> Não vou entrar nesse flame wars, apesar da ENORME vontade. Só acho que >> não é necessário ficar provocando com essas coisas de "vai estudar"... >> Porque eu estudo. Eu leio e sei, com o limite da minha opinião, o que >> estou falando. Programo em Perl há 9 anos e já mantive um sistema web >> com mais de 8000 usuários cadastrados e mais de 300 acessos por dia. >> Ah, e sou formado, ok? E com Mestrado. (Já imagino o comentário Troll: >> "Putz, pior ainda!"). Defendido minha pessoa, continuemos. >> > > Isso não tem nada a ver com ser formado ou não. Tem a ver com > profissionalismo e caráter... > > > 'Eu leio e sei, com o limite da minha opinião, o que > estou falando. Programo em Perl há 9 anos e já mantive um sistema web > com mais de 8000 usuários cadastrados e mais de 300 acessos por dia.' > > A parte dos 9 anos .. Nem vou comentar ! > > >> Mas o ponto que levanto é: é mais fácil aprender Perl programando ou >> aprender Perl aplicando restrições?(Antes de mais nada, aprenda boas >> práticas; leia o perldocs -- preferencialmente todo--, levante bom >> requisitos, documente corretamente, use a metodologia adequada, passe >> pelos momentos de iteração... para fazer sua calcuradora). >> >> > > Não tem nada a ver com restrições, novamente você está usando desculpas > esfarrapadas. Como eu já disse, código bem-feito não é luxo, é obrigação! > Você pode fazer um código decente sem aplicar metodologia alguma, apenas > seguindo bom-senso e boas práticas de programação. Agora, não tem como você > aprender e aplicar isso se não ler a respeito e se não usar no dia-dia, e > isso eu faço questão de passar na lista sim, ao invés de código pronto, >  porque entregar coisas de mão-beijada é errado, e acostuma mal pessoas como > você. > E mesmo que não seja de mão beijada, sou contra estimular a preguiça. E > considerando que faz 9 anos que você trabalha com isso, já deveria estar > mais do que familiarizado e identificando a cultura Perl, e do significa é > bom-senso quando se desenvolve; > Lembrando é claro, emergências existem, assim como exceções, mas são > emergências e exceções. Tornar código 'suíno' um hábito é um mal-hábito, não > importa o que você diga, ou a desculpa que você arrume. É simplesmente > inaceitável pensar dessa maneira e deixar pra deixar coisas mal-feitas, e é > um absurdo e uma falta de respeito aos iniciantes que você tente estimular > as pessoas a fazer o mesmo. Portanto, enquanto fizer isso vai ser comida de > trolls. > >> >> Acho que o mais importante é, desculpem a lista, é aprender a >> programar. Qualquer coisa, de qualquer jeito. > > cmorais -- # Meus pêsames para você! Espero que nunca venhamos a trabalhar > juntos. > >> >> Por sorte nossa, usamos >> Perl, que possui um monte de coisas que facilitam a aprendizagem e o >> modelo mental de cada um. Algumas linguagens não são tão fáceis assim, >> tão mnemónicas (toda vez que uso C tenho que ficar xingando o fato de >> não poder atribuir simplesmente um valor a um array). Mas o objetivo é >> PROGRAMAR, não aprender Perl. E eu venho de uma "linhagem" de caras >> que aprendem fazendo. Teorizar é ótimo, mas nem sempre aprende-se onde >> coloca isso no mundo. Prática é legal, mas esvazia o conhecimento. Por >> isso acredito que começamos com a prática e depois vamos para o estudo >> para melhorar a prática...e entra em loop. >> > > Ferramentas diferentes para propósitos diferentes. As particularidades são > algo que simplesmente você tem que lidar. C veio de uma época bem diferente > de Perl. Quando ela surgiu mal se falava em coisas como orientação a > objetos, por exemplo. Se você não é capaz de lidar com isso, então mude de > ferramenta, ou mude a ferramenta! Reclamar é fácil... > >> >> Meu objetivo quando falei era fazer o Bruno programar, numa abordagem >> top-down. Todo mundo na lista estava falando bottom-up (leia o >> perldocs, veja o CPAN...). Mas isso não é a parte mais legal (pelo >> menos para mim) do Perl. A parte mais legal é funcionar. >> > > Não, teu objetivo é convencer as pessoas a serem medíocres enquanto for > conveniente! Isso me revolta, e se você postar isso em outras listas talvez > seja até banido, e garanto que você não sobrevive um semana trabalhando numa > empresa séria dessa maneira. E nem deveria mesmo! > >> >> É fácil dizer que o código é uma desgraça. E é mesmo. Não é uma obra >> de arte e nem pretende ser. Mas eu asseguro que funciona. Asseguro que >> pode ser melhorado e asseguro que foi o único (e até agora, quando >> mandei essa mensagem) que mandou código para a lista. > > 'Funciona' não é desculpa pra deixar mal-feito, tão pouco ensinar a fazer > errado, menos ainda estimular os iniciantes a fazer o mesmo. Aquele código é > uma desgraça, e repitirei isso quantas vezes for necessário. > > Só pra deixar bem claro a diferença, e o quanto de 'trabalho extra' você > teria, Bruno. Aqui embaixo tem um código que é meramente didádico, mas > semanticamente correto, e segue as boas práticas de programação. > > > #! /usr/bin/perl > use strict; > use DBI; > use Config::General; #Modulo extremamente poderoso para tratar arquivos de > configuração. > my $cobj = Config::General->new('meuarquivodeconfiguracao'); > my %config =$cobj->getall; > my $dsn = 'DBD:Meudriver;infodeconexcao'; > my( $user,$pass) = ( $config{user} , $config{passwd} ); > my $dbh = undef; > #Tentando a conexão com tratamento de erros básico. > eval{DBI->connect($dsn,$user,$passw, >                                                          { ShowError => 1 , >                                                            RaiseError => 1 , >                                                            AutoCommit => 0 , >  #se for fazer INSERT, UPDATES ou DELETES, vai precisar tratar isso com > transações. A não ser que esteja trabalhando com bancos que não lidam com > transações. >                                                            #... várias > outras opções. Veja a documentação! >                                                          } ); > }; > if($@){ #Se der problema, Perl vai jogar o erro em $@. Para saber o que > significa, RTFM em perlvar >            print "\nErro de conexão: $@\n"; >            exit 0; > } >  else{  #a conexão está ok. >           my $sth = undef; >           my $query = 'SELECT * FROM SOMETABLE WHERE ID = ? '; #A > interrogação é o 'place holder' que eu mencionei. Mais detalhes na > documentação do DBI. >           eval{ >                     $sth = $dbh->prepare($query); #Sempre bom dizer ao DBI > que tipo de query você vai querer executar. Assim ele pode tomar algumas > providências... >                     $sth->execute('algumvalor'); #Executa efetivamente o > SQL. Repare que 'algumvalor' é o valor que será substituido em '?'. >           }; >           if($@){ #Se der problema, novamente, tratar aqui, utilizando $@ > como referência. >                  print "\nNAO FOI POSSIVEL RECUPERAR A INFORMACAO! $@\n"; >                  exit 0; >           } >           else { #meus dados estão acessíveis através de sth. Só preciso de > um método para iterar as tuplas. >                  while(my $result = $sth->fetchrow_hashref){ > #fetchrow_hashref é o meu método preferido para iterar tuplas. Existem > outros. RTFM DBI. >                        my $dado = $result->{alguma_coluna_do_BD}; > #fetchrow_hashref me retorna os dados no contexto de referência para um > hash. Difícil de entender? Pergunte, que eu respondo. >                  } >                 $query = 'INSERT INTO SOMETABLE (id , field1) VALUES(?,?); >                 eval{ >                      $sth = $dbh->prepare($query); >                     $sth->execute(1,'somevalue'); >                 }; >                  if($@){ >                       print "\nERRO! Nao foi possivel executar o INSERT: > $@\n"; >                       $dbh->rollback; #cancela a transação! >                       exit(0); >                   }else{ >                       print "\nINSERT OK!"; >                       $dbh->commit; #confirma a transação! >                      exit(1); >                   } >            } >            $sth->finish; #Se nao vai mais usar esse 'Statement Handle', ou > seja, o cara que efetivamente busca os resultados das suas 'queries', então > você deve finalizá-lo! Caso contrário pode continuar usando sem ter que > refazer a conexão. Você pode fazer isso quantas vezes quiser. >      } >      if(defined($dbh){ >           $dbh->disconnect; #Se não vai mais usar a conexão, em hipótese > alguma deixe aberta, mesmo sabendo que alguns SGBDS utilizam timeout para > fechar conexões inativas... >      }else{ >          exit 0; >      } > > > OBS: Alguns bancos exigem um comando 'start_transaction', ou algo do tipo, > mas nem todos... > Esse é um código decente(embora básico), mas não tem POG nenhum, tem um > nível de segurança razoável(mas dá pra melhorar). > Você pode separar as operações em métodos/funções, pode criar um módulo DAO > e abstrair essas coisas, enfim... tudo sem POG! > Percebe que não é difícil e não é sacrifício nenhum fazer esse tipo de > coisa? > > > >> Espera, é uma >> lista de boas práticas e leitura comentada ou de programação? Ou >> existe uma metodologia para falar disso? Primeiro manda o cara ler >> tudo que vier pela frente... Se ele continuar na lista, manda ele ler >> mais outras coisas, se realmente o cara for chato suficiente para >> continar, mandamos algum código para ele calar a boca . >> [Não resisti a essa provocação...] >> > > Se você não está familiarizado com a cultura Perl, mesmo trabalhando a 9 > anos com a linguagem, nem vou perder meu tempo tentando te explicar o motivo > de ter postado as sugestões de leitura. Se um dia mostrar algum interesse e > vontade de aprender de verdade, terei prazer em passar o que eu sei, mas não > sem que você me mostre estar disposto a procurar as respostas e tentar de > verdade a fazer as coisas direito. Caso contrário pode continuar falando > besteira, prometo que não vou mais responder, a não ser quando tentar passar > isso adiante como se fosse o modo como todos deveriam trabalham com Perl. > Nesse caso vou arrancar árvores e bater em você com elas, como é de costume > dos Trolls... > >> >> Concordo com o Breno e o MACAE. E, acho importante frizar, não sou >> contra POG. Só acho que você não deve vender gato por lebre. Não venda >> POG como se fosse ouro, não venda documentos quando o que você precisa >> é uma coisa muito simples. >> > POG é algo que simplesmente não deve existir em um ambiente de produção. Se > existe, tem algo errado, ou na abordagem do problema, ou no projeto, ou em > algum momento onde o foco do projeto se perdeu. Em resumo, quando não se > sabe mais o que está fazendo e o prazo aperta, aparecem os POGS! Não saber > não fazer algo não é pecado nenhum. Todo mundo tem 'gaps' de aprendizado. > Mas isso não é desculpa para abandonar a idéia de fazer as coisas > corretamente e sair fazendo besteira e depois vir dizer que 'funciona', isso > é de uma mediocriade atroz, e é punível na maioria das listas principalmente > fora do país. Hoje eu me sinto na obrigação de tentar orientar pessoas como > você, não porque eu me simpatize com você,  mas primeiro porque é como o > desenvolvedor Perl é 'educado e disciplinado' por default e em qualquer > lista, e porque atitudes como a sua infelizmente refletem na comunidade como > um todo, e acabam prejudicando a linguagem e queimando Perl no mercado de > trabalho, e isso, no final, indireta, ou diretamente, refletirá em mim no > futuro. > Agora se você quer continuar sendo medíocre, então seja medíocre, não vou > mais te incomodar com as minhas 'chatices'. Mas não permito que você tente > passar esse tipo de mentalidade adiante. Então vou censurá-lo sim toda a vez > que você tentar dizer algo tão estúpido quanto 'Não é seguro, mas funciona.' > > Ficou ofendidinho? Ao invés disso reflita, converse com o Macaé, e vai ver > que ele concorda com boa parte das bobagens que eu escrevi... > > > Cheers! > > >> >> But... With that being said... I'll probably goes with the tomatoes. >> It'll be a lot of rain in your area latter this year and that will >> help the crop. Next caller! [1] >> >> >> >> Cleber M >> >> >> [1] Calls for Cthullu http://www.youtube.com/watch?v=-DsgZ4JXXB8 >> >> >> >> 2010/6/8 Andre Carneiro : >> > >> > >> > Em 8 de junho de 2010 17:05, Cleber Morais escreveu: >> >> >> >> Hmmm >> >> >> >> Bem, uma das coisas que eu gosto em Perl é que existe inúmeras >> >> maneiras de programar. >> >> De certa forma, isso diz que cada programador de Perl segue uma forma >> >> diferente de escrever >> >> E literalmente pensar. Eu por exemplo, oriento meu códigos a sujeira >> >> que funciona até >> >> limpeza artística. Má prática de programação? Poderia ser, se os >> >> códigos não funcionassem. >> >> Para facilitar a manutenção, organizo depois que o sistema funciona. >> > >> > Que medo! >> > Desde que você aplique isso para scripts descartáveis eu até posso >> > concordar. >> > Mas num projeto maior, se você usa esse tipo de mentalidade, só posso >> > dizer >> > que sinto muito pelo seu patrão e pela empresa onde você trabalha. E se >> > o >> > seu patrão pensa assim também, pobre dos clientes. >> > Duvido que você chegue ao que você mencionou de 'limpeza artística'. >> > Mesmo >> > porque isso tá me parecendo mesmo é conversa mole! >> > Qualidade não é luxo da empresa, é DEVER do desenvolvedor. Por favor não >> > trate com desdém essas coisas. Dizer que programar de qualquer jeito e >> > melhorar depois é 'conversa pra boi dormir' !! Com o tempo( e já vi >> > acontecer muito por aqui ), profissionais/empresas que trabalham assim >> > logo >> > perdem credibilidade e/ou clientes( salvo as raras exceções ). >> > Se você faz bem-feito logo de início, não precisará se preocupar tanto >> > com >> > manutenção no futuro, isso é fato! Se não fosse asim não existiriam >> > padrões >> > de projeto, nem seriam necessárias as criações de padrões de >> > desenvolvimento. Todos os desenvolvedores ganhariam bem e fariam orgias >> > com >> > seus códigos... >> > Então não me venha com essa, e seja profissional por favor! Atitudes >> > como >> > essa só queimam o filme da linguagem e da comunidade. >> > >> > >> >> >> >> Ruim, para mim,  é fazer um código perfeito documentado em cinco >> >> camandas... que não roda direito. >> >> >> > >> > Se você fez isso e mesmo assim o código não roda direito, então o >> > problema é >> > o seu projeto, não o fato de você usar programação em camadas. Você é >> > que >> > não sabe fazer, portanto pare de falar besteira vai estudar! >> > >> >> >> >> Para quê todo esse preâmbulo? Para dizer que você pode aprender DB >> >> fácil e rápido com Perl. >> > >> > >> > A questão não é aprender rápido, mas superficialmente. Se você aprende >> > algo >> > superficialmente, vai ter resultados superficiais, ou seja, código POG, >> > armengues, ou sei lá mais o q... >> > >> > >> >> >> >> E depois você incrementa, melhora, desenvolve, em conjunto com sua >> >> capacidade de programação. >> >> >> > >> > Sinto muito, mas desculpa de alejado é muleta!!! >> > Não, meu caro! Uma coisa é você começar com algo simples, outra é >> > começar >> > com algo errado, continuar fazendo errado, e sugerir que façam errado ! >> > Existem várias maneiras 'certas' de se resolver um problema, não precisa >> > dar >> > relaxo só porque tá com preguiça fazer, ou com preguiça de ensinar. >> > >> >> >> >> Porque isso? Quanto menos dificuldade você tiver para COMEÇAR em Perl, >> >> mais fácil será para você FICAR usando. Perl tem uns truques que são >> >> realmente muito legais, porque não aproveitar isso? >> >> >> > >> > Ninguém falou nada sobre 'não usar truques', truques != "ARMENGUE" , >> > como se >> > diz por aí... Armengue é coisa de amador preguiçoso, aceitável somente e >> > em >> > casos extremos e temporários, e olhe lá... E isso não tem nada a ver com >> > ser >> > um programador 'preguiçoso', como disse Larry Wall. >> > Resumindo, seja, acima de tudo, PROFISSIONAL. Ame o que faz e faça >> > direito! >> > Perl dá muitos atalhos para resolver as coisas, de muitas maneiras >> > diferentes. No entanto você é quem precisa decidir se o seu código vai >> > ser >> > reaproveitável, de fácil manutenção( ou nenhuma, se possível ), >> > escalável, >> > elegante, e não menos importante, robusto, e você deve cuidar disso, >> > pois >> > Perl não vai cuidar pra você!!! >> > >> >> >> >> No caso de um DB, muito provavelmente tanto faz se for Windows ou >> >> Linux. O código é extremamente portável... Não chega a ser uma >> >> dificuldade. Normalmente eu uso Perl para Web, o que para mim é >> >> incrivelmente mais fácil pensar front-end. Mas terminal também rola e >> >> muito legal. >> >> >> > >> > >> > E você ainda programa para web pensando desse jeito? E no WIndows????? >> > Só pelo fato de você trabalhar com Windows, já deveria estar 10000x mais >> > preocupado com questões de segurança, no windows + web nem se fala!! >> > Bruno, >> > não escute o que esse homem diz. Ele precisa de mais orientação que >> > você! >> > >> >> >> >> Saca só esses dois códigos: http://codethe.net/codigo/perlDB.zip >> >> É esperado, se você tiver todos os pacotes, que esse código funcione >> >> tanto no Windows como no Linux. Eu uso Linux, mas já rodei esses >> >> carinhas ai no Windows...No Windows, eu uso normalmente o ActivePerl, >> >> que acho bem arrumado e já vem com PerlPackageManager2 (ppm) vulgo >> >> "cpan" no linux. Você diz qual é o pacote, ele instala. Simples assim. >> >> >> > >> > >> > Você precisa realmente se atualizar e ler mais a documentação do DBI, >> > principalmente sobre 'placeholders'. E com certeza precisa aprender >> > sobre >> > tratamento de erros e transações. Esse código é uma desgraça! Totalmente >> > sujeito a falhas de segurança e crash. E isso não é algo que se deva >> > tratar >> > 'melhorando depois'... >> > >> >> >> >> É tudo o que você precisa, o resto é melhorar e aplicar. >> >> >> > >> > Não, com certeza não é. Meu conselho é que não se siga esse caminho, >> > pois >> > vai dar tiros no pé, e vai se arrepender muito depois. Sem mencionar que >> > vai >> > acabar sendo demitido mais cedo ou mais tarde por uma malfadada cagada. >> > Ou >> > pior, vai acabar se decepcionando injustamente com a linguagem. >> > >> >> >> >> Com esses códigos ai você já pode fazer um sistema que funcione em >> >> rede conectando a DBs remotos... Não é seguro, mas funciona =D >> >> >> > >> > >> > 'Não é seguro, mas funciona' . Você é parente do Maluf ?? Trágico que >> > você >> > pense assim. Espero que mude de atitude um dia. >> > >> > É nessas horas que dá vergonha de ser brasileiro. >> > >> > >> >> >> >> Precisas estudar SQL e alguma coisa sobre Hashes e iteração neles... >> >> >> >> No mais, mão a obra! >> >> >> > >> > Essa aqui é piada, né? >> > >> >> >> >> 2010/6/7 Bruno da Fonte : >> >> > Boa tarde, >> >> > gostaria de ter "aula particular" de Perl, na verdade quero aprender >> >> > a >> >> > utilizar o perl em windows com algum banco de dados, já peguei vários >> >> > tutoriais na net más não dá, pois não sou programador por profissão e >> >> > sim >> >> > por hobbye. >> >> > Se souber de alguem que cobre para ensinar, gostaria do contato. Acho >> >> > que em >> >> > uma manhã já daria pra pegar. >> >> > Obrigado >> >> > Bruno da Fonte >> >> > brunodafonte em gmail.com >> >> > 81.9232.4444 >> >> > _______________________________________________ >> >> > Recife-pm mailing list >> >> > Recife-pm em pm.org >> >> > http://mail.pm.org/mailman/listinfo/recife-pm >> >> > >> >> _______________________________________________ >> >> Recife-pm mailing list >> >> Recife-pm em pm.org >> >> http://mail.pm.org/mailman/listinfo/recife-pm >> > >> > >> > Cheers! >> > >> > -- >> > André Garcia Carneiro >> > Analista/Desenvolvedor Perl >> > (11)82907780 >> > > > > > -- > André Garcia Carneiro > Analista/Desenvolvedor Perl > (11)82907780 > From marcos.alvares em gmail.com Wed Jun 9 11:15:14 2010 From: marcos.alvares em gmail.com (marcos alvares) Date: Wed, 9 Jun 2010 15:15:14 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Calma pessoal, observem como o thread perdeu o foco da tentativa de ajudar o companheiro Bruno para uma disputa de egos. Não sei porque danado isso acontece tanto na nossa área. Vamos tentar fazer uma lista de discussão construtiva. OFF-Topic (minha opinião): Temos que ter cuidado ao citar caras como Silvio Meira. Com todo respeito, pois ele foi e é de extrema importância para o desenvolvimento tecnológico de Pernambuco. Porém ele é um sofista hábil. Muito bom formador de opinião. A sequência lógica que ele coloca no artigo (retirada de uma dissertação de mestrado) é incrível: Gambiarra -> Jeitinho Brasileiro -> Criatividade e Inovação -> Capacidade e habilidade Criativa -> Design Chegando a relação: Gambiarra =~ Design Ainda tem o fluxograma lá que ou está errado ou eu não entendi. Talvez seja essa confusão, por Gambiarra ser uma palavra tão informal e com tantos significados. Eu mesmo, só vejo gambiarra como algo negativo. BTW, uma reflexão para descontrair e amenizar o clima de conflito : P. PS: Vamos marcar outra cerveja no Recife Antigo que dessa vez estou vendo que teremos uma pauta longa de debate. Da ultima vez só apareceu eu, Ulisses e Macaé e foi um encontro muito produtivo. --- Marcos Álvares 2010/6/9 Cleber Morais > r nesse flame wars, apesar da ENORME vontade. Só acho que > >> não é necessário ficar provocando com essas coisas de "vai estudar"... > >> Porque eu estudo. Eu leio e sei, com o limite da minha opinião, o que > >> estou falando. Programo em Perl há 9 anos e já mantive um sistema web > >> com mais de 8000 usuários cadastrados e mais de 300 acessos por dia. > >> Ah, e sou formado, ok? E com Mestrado. (Já imagino o comentário Troll: > >> "Putz, pior ainda!"). Defendido minha pessoa, continuemos. > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From marcoaureliomacae em gmail.com Wed Jun 9 11:29:37 2010 From: marcoaureliomacae em gmail.com (=?ISO-8859-1?B?TWFyY28gQXVy6WxpbyAoTUFDQckp?=) Date: Wed, 9 Jun 2010 15:29:37 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Caros Monges, Nós aprendemos muito com as mensagens apresentadas neste tópico, às gambiarras são tão velhas quanto à computação, e todos nós já fizemos gambiarras, isso acontece por causa de um ecossistema de acontecimentos. Temos experiência e participamos de outras listas de discussão podemos agitar a lista mantendo o nível alto de exigência técnica sem descartar quem tem o nível iniciante e/ou intermediário, peço a todos um pouco de bom senso nas discussões. ;-) Os interessados no assunto devem contribuir em um novo tópico para uma discussão saudável sobre a questão: Programação Orientada a Gambiarras. :-) Abraços de formadores, Marco Aurélio (MACAÉ) 2010/6/9 marcos alvares : > Calma pessoal, > > observem como o thread perdeu o foco da tentativa de ajudar o companheiro > Bruno para uma disputa de egos. Não sei porque danado isso acontece tanto na > nossa área. Vamos tentar fazer uma lista de discussão construtiva. > > OFF-Topic (minha opinião): > Temos que ter cuidado ao citar caras como Silvio Meira. Com todo respeito, > pois ele foi e é de extrema importância para o desenvolvimento tecnológico > de Pernambuco. Porém ele é um sofista hábil. Muito bom formador de opinião. > A sequência lógica que ele coloca no artigo (retirada de uma dissertação de > mestrado) é incrível: > > Gambiarra -> Jeitinho Brasileiro -> Criatividade e Inovação -> Capacidade e > habilidade Criativa -> Design > Chegando a relação:  Gambiarra =~ Design > > Ainda tem o fluxograma lá que ou está errado ou eu não entendi. > > Talvez seja essa confusão, por Gambiarra ser uma palavra tão informal e com > tantos significados. Eu mesmo, só vejo gambiarra como algo negativo. > > > > > BTW, uma reflexão para descontrair e amenizar o clima de conflito : P. > > > PS: Vamos marcar outra cerveja no Recife Antigo que dessa vez estou vendo > que teremos uma pauta longa de debate. Da ultima vez só apareceu eu, Ulisses > e Macaé e foi um encontro muito produtivo. > > --- > Marcos Álvares > > > 2010/6/9 Cleber Morais >> >> r nesse flame wars, apesar da ENORME vontade. Só acho que >> >> não é necessário ficar provocando com essas coisas de "vai estudar"... >> >> Porque eu estudo. Eu leio e sei, com o limite da minha opinião, o que >> >> estou falando. Programo em Perl há 9 anos e já mantive um sistema web >> >> com mais de 8000 usuários cadastrados e mais de 300 acessos por dia. >> >> Ah, e sou formado, ok? E com Mestrado. (Já imagino o comentário Troll: >> >> "Putz, pior ainda!"). Defendido minha pessoa, continuemos. > > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm > From andregarciacarneiro em gmail.com Wed Jun 9 11:46:09 2010 From: andregarciacarneiro em gmail.com (Andre Carneiro) Date: Wed, 9 Jun 2010 15:46:09 -0300 Subject: [Recife-pm] Digest Recife-pm, volume 12, assunto 1 In-Reply-To: References: Message-ID: Em 9 de junho de 2010 15:29, Marco Aurélio (MACAÉ) < marcoaureliomacae em gmail.com> escreveu: > Caros Monges, > > Nós aprendemos muito com as mensagens apresentadas neste tópico, às > gambiarras são tão velhas quanto à computação, e todos nós já fizemos > gambiarras, isso acontece por causa de um ecossistema de > acontecimentos. > > Isso não significa que elas devam persistir. Entendam! Eu também faço gambiarras de vez enquanto(estaria sendo mentiroso se dissesse que não), mas eu não as mantenho, e muito menos apoio, e nem saio dizendo por aí que as apoio. Esse é o ponto! O meu medo nesse caso é que pessoas que iniciam em Perl como o Bruno, tomem esse tipo de atitude como filosofia de vida, como parece fazer o nosso amiguinho Cléber. E isso eu não vou deixar acontecer enquanto estiver em meu alcance fazê-lo! > Temos experiência e participamos de outras listas de discussão podemos > agitar a lista mantendo o nível alto de exigência técnica sem > descartar quem tem o nível iniciante e/ou intermediário, peço a todos > um pouco de bom senso nas discussões. ;-) > > Acho que você não entendeu o ponto ainda. Ninguém aqui está dizendo que os códigos dos iniciantes não devam ser aceitos ou algo assim. O ponto é que um cara como 9 anos de experiência fica tentando ensinar porcaria para os iniciantes. Isso é inadimissível. Todos foram iniciantes, inclusive eu . E tomei muita, mas muita paulada de Troll tanto por fazer besteira, quanto por dizer besteiras. E isso só me ajudou, te juro! Macaé você sabe muito bem do que eu tô falando!!! Então, eu proponho que encerremos a discussão por aqui(Eu encerrei), e sobre o novo tópico, prefiro orientar a galera sobre Orientação a Objetos clássica vs Orientação a Objetos com Moose. Esse sim é um assunto útil, do meu ponto de vista. Vou postar algo aqui sobre isso a noite. > Os interessados no assunto devem contribuir em um novo tópico para uma > discussão saudável sobre a questão: Programação Orientada a > Gambiarras. :-) > > Abraços de formadores, > Marco Aurélio (MACAÉ) > > > Cheers! > > 2010/6/9 marcos alvares : > > Calma pessoal, > > > > observem como o thread perdeu o foco da tentativa de ajudar o companheiro > > Bruno para uma disputa de egos. Não sei porque danado isso acontece tanto > na > > nossa área. Vamos tentar fazer uma lista de discussão construtiva. > > > > OFF-Topic (minha opinião): > > Temos que ter cuidado ao citar caras como Silvio Meira. Com todo > respeito, > > pois ele foi e é de extrema importância para o desenvolvimento > tecnológico > > de Pernambuco. Porém ele é um sofista hábil. Muito bom formador de > opinião. > > A sequência lógica que ele coloca no artigo (retirada de uma dissertação > de > > mestrado) é incrível: > > > > Gambiarra -> Jeitinho Brasileiro -> Criatividade e Inovação -> Capacidade > e > > habilidade Criativa -> Design > > Chegando a relação: Gambiarra =~ Design > > > > Ainda tem o fluxograma lá que ou está errado ou eu não entendi. > > > > Talvez seja essa confusão, por Gambiarra ser uma palavra tão informal e > com > > tantos significados. Eu mesmo, só vejo gambiarra como algo negativo. > > > > > > > > > > BTW, uma reflexão para descontrair e amenizar o clima de conflito : P. > > > > > > PS: Vamos marcar outra cerveja no Recife Antigo que dessa vez estou vendo > > que teremos uma pauta longa de debate. Da ultima vez só apareceu eu, > Ulisses > > e Macaé e foi um encontro muito produtivo. > > > > --- > > Marcos Álvares > > > > > > 2010/6/9 Cleber Morais > >> > >> r nesse flame wars, apesar da ENORME vontade. Só acho que > >> >> não é necessário ficar provocando com essas coisas de "vai > estudar"... > >> >> Porque eu estudo. Eu leio e sei, com o limite da minha opinião, o que > >> >> estou falando. Programo em Perl há 9 anos e já mantive um sistema web > >> >> com mais de 8000 usuários cadastrados e mais de 300 acessos por dia. > >> >> Ah, e sou formado, ok? E com Mestrado. (Já imagino o comentário > Troll: > >> >> "Putz, pior ainda!"). Defendido minha pessoa, continuemos. > > > > _______________________________________________ > > Recife-pm mailing list > > Recife-pm em pm.org > > http://mail.pm.org/mailman/listinfo/recife-pm > > > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm > -- André Garcia Carneiro Analista/Desenvolvedor Perl (11)82907780 -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From andregarciacarneiro em gmail.com Wed Jun 9 12:37:18 2010 From: andregarciacarneiro em gmail.com (Andre Carneiro) Date: Wed, 9 Jun 2010 16:37:18 -0300 Subject: [Recife-pm] Perl como primeira linguagem In-Reply-To: References: Message-ID: Em 9 de junho de 2010 13:04, Cleber Morais escreveu: > O email de Ulisses me lembrou de um questionamento meu: > Será que Perl "presta" para ser a primeira linguagem a ser aprendida por > alguém? > Queria pensar transversalmente nisso, não diretamente. > > Eu aprendi a programar com Pascal, num curso de Delphi (1.3 na época). > Mas efetivamente, só comecei a programar MESMO com Perl, na faculdade. > > Nas faculdades, sempre começa-se por portugol, pascal e --às vezes-- C. > Algumas tendem a já colocar JAVA desde o princípio. E eu pergunto: > porque não Perl? > > Uma desvantagem é que não é fortemente tipada, que pode ser uma > habilidade importante > para certos contextos. Com algumas linguagens mais modernas, como > Python, também são assim > e não parece ser um problema significativo. > > Sobre a forma de escrever, acho que não é um problema; Porque o > professor pode escolher uma forma > e os alunos seguiriam essa. Não seria necessário, por exemplo, que o > professor explicasse TODAS > as formas de fazer uma iteração. Mas uma, que ele achar mais didática, > menos "criptic". > > O que vocês adicionariam? > > > abs > > Cleber M > Acho que os conceitos básicos são muito mais importantes do que a linguagem em si. Portanto o ideal, ao meu ver, seria escolher uma linguagem onde seria possível aplicar esses conceitos básicos. Mas quais seriam eles? Estrutura de dados - utilização de referências e ponteiros, conceitos sobre listas, filas, pilhas, árvores, grafos etc., matrizes, matrizes esparsas, armazenamento estático, dinâmico, buffers, hippes, hashes, etc... Programação em baixo nível - conceitos sobre interrupções, registradores, barramentos, talvez um pouco de Assembly?!?!?. Acho que linguagens como C e Pascal se adequam melhor para o entendimento dessas coisas do que Perl, já que Perl abstrai muito esses conceitos, embora seja possível demonstrar com Perl, mas de formas diferentes e, na minha opinião, não ajudam muito no entendimento. É importante lembrar que isso também deve depender muito do curso. As grades de cursos com foco no mercado, ou se preferirem, 'atividade fim'( tô ficando velho...), demonstra normalmente a não-intenção de se ensinar alguns desses conceitos que mencionei acima, e acabam desviando o foco para o mercado, assim normalmente adotam Java ou outra linguagem orientada a objetos como plataforma de estudos. Cursos como Ciência e Engenharia da Computação, eram conhecidos 'no meu tempo', como cursos de 'atividade-meio', ou seja, atividades que se preocupavam em como as coisas são e/ou deveriam ser feitas, e isso deveria implicar em produção científica e novos conceitos e tecnologias, mas não é o que normalmente ocorre. Mas sem sair do foco, normalmente é nesse tipo de curso em que se vê os conceitos mencionados acima. Concluindo Concordo com você que Perl não é adequado para introduzir uma pessoa no mundo do desenvolvimento, preferindo para isso, linguagens como C e Pascal. Cheers! > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm > -- André Garcia Carneiro Analista/Desenvolvedor Perl (11)82907780 -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From ulisses.montenegro em gmail.com Tue Jun 29 06:01:03 2010 From: ulisses.montenegro em gmail.com (Ulisses Montenegro) Date: Tue, 29 Jun 2010 10:01:03 -0300 Subject: [Recife-pm] Modern Perl: The Book Message-ID: Modern Perl Book é uma tentativa de criar literatura voltada às boas práticas *modernas* do desenvolvimento em Perl. Muitos dos livros considerados bíblias da linguagem, como o Programming Perl (aka Camel Book) e o Advanced Perl Programming (Panther Book) fazem uso de ferramentas, idiomas e técnicas que muitas vezes não são as mais adequadas hoje em dia. Por exemplo, quantos de vocês ainda programam OO utilizando hashrefs? sub new { my ($class, $params) = @_; my $self = { ... }; bless($self, $class) } Tudo funciona perfeitamente até o dia que alguém descobre que pode acessar os atributos de uma instância como chaves do seu hash. Por exemplo: my $instance = Module::Class->new($params); $instance->{'attr01'} = 'something'; Existem várias maneiras de fazer uso de OO sem hashrefs, uma vez que bless() pode ser utilizado com qualquer escalar. Esse é apenas um exemplo entre vários dos tratados no livro, cujo draft foi liberado para avaliação: http://www.modernperlbooks.com/mt/2010/06/modern-perl-the-book-the-draft.html Vale muito a pena dar uma lida, principalmente para a turma mais experiente, que provavelmente tem vários vícios legados e nem percebe (eu percebi isso ao ler o Perl Best Practices, e isso ficou mais óbvio ainda depois de dar uma lida rápida no Modern Perl). Abraços Ulisses PS: Quando vamos ter um novo encontro da turma? Eu proponho cerveja e conversa descontraída, sem nenhum formalismo mesmo, para ver se conseguimos ao menos criar um hábito. -- ?If debugging is the process of removing software bugs, then programming must be the process of putting them in.? - Edsger Dijkstra