On 11/30/06, <b class="gmail_sendername">Adriano Ferreira</b> <<a href="mailto:a.r.ferreira@gmail.com">a.r.ferreira@gmail.com</a>> wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On 11/30/06, Lorn <<a href="mailto:lorn.br@gmail.com">lorn.br@gmail.com</a>> wrote:<br>> Quando você usa módulos no seu programa, significa que você está usando OO??<br><br>Não. O primeiro propósito dos módulos é ter um 'namespace' separado
<br>onde você pode colocar as subrotinas principais, variáveis, etc. de<br>seu código e escolher seletivamente o que você expõem para os usuários<br>do módulo (através de métodos que podem ser exportados ou objetos).<br><br>
> Eu sempre tive essa duvida, por causa daquele 'package...' lá em cima :)<br>> E também porque você acessa "metodos" do modulo, e sempre que eu ouço falar<br>> em metodos eu lembro de OO.<br><br>Em Perl, subrotinas são métodos quando você usa elas do tipo
<br><br> File::Spec->catfile(@parts)<br><br>ou<br><br> $mech->get($url)<br><br>É OO mesmo neste caso.</blockquote><div><br>Foi o que eu pensei, eu tenho a mente meio perturbada com OO por causa do Java, no Perl é muito melhor, vou seguir a sua dica, e a do Randal em aprender Smalltalk só pra aprender/entender melhor os conceitos de orientação a objeto.
<br>Obrigado pelo esclarecimento Adriano.<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">> Agora programar em OO só pra quem gosta mesmo, ou se você usa um Framework
<br>> que facilita isso, tipo Catalyst.<br><br>Como eu disse, OO pode ser a escolha certa às vezes. Muitos módulos<br>famosos do CPAN são OO (DBI, WWW::Mechanize, etc.), outros não (como<br>ExtUtils::MakeMaker, Test::More, etc.), e outros tem interfaces que
<br>suportam OO e API funcional (como XML::Simple, YAML, etc., etc.)<br><br>Eles não são úteis só há nível de frameworks completos como o Catalyst.<br><br>> /me tem trauma de OO por causa do Java >.<<br><br>Todos que foram apresentados a OO da forma errada tem trauma. Faz
<br>pouco tempo o Randal disse "Você não conhece objetos se não conhece<br>Smalltalk". (<a href="http://use.perl.org/~merlyn/journal/31081">http://use.perl.org/~merlyn/journal/31081</a>)<br><br><br>> On 11/30/06, Adriano Ferreira <
<a href="mailto:a.r.ferreira@gmail.com">a.r.ferreira@gmail.com</a>> wrote:<br>> ><br>> > On 11/30/06, Lorn <<a href="mailto:lorn.br@gmail.com">lorn.br@gmail.com</a>> wrote:<br>> > > Qual a vantagem de eu tranformar um programa em perl normal em objeto?
<br>> > > alem dele ficar "abençoado" :P<br>> ><br>> > Se o programa tem partes reutilizáveis, vale apenas trabalhá-lo em<br>> > módulos (que já ajudam) e se a complexidade aumenta, objetos podem ser
<br>> > interessantes (embora não haja regra geral -- tem de ser visto caso a<br>> > caso e, como sempre, depende. Depende de mil e um fatores -- passando<br>> > desde a utilização do código até a proficiência/paciência do
<br>> > programador).<br>> ><br>> > Se é um código para ser usado uma única vez, não vale a pena complicar<br>> > -- você pode demorar mais projetando o objeto do que resolvendo o<br>> > problema em mãos. Se é um código com o qual você e outros terão de
<br>> > conviver por muito tempo e que provavelmente vai mudar e evoluir, você<br>> > vai apreciar ter feito dele na forma de objetos.<br>> ><br>> > Se você é supersticioso, abençoar seu código (o equivalente Perl de
<br>> > trabalhar com objetos) deve ser sempre um bom negócio. Mas superstição<br>> > não há de funcionar sempre em casos de programação.<br>> > _______________________________________________<br>> > Cascavel-pm mailing list
<br>> > <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>> > <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>> ><br>><br>>
<br>><br>> --<br>> Lorn<br>> - Slackware Linux<br>> <a href="http://www.slackwarezine.com.br">www.slackwarezine.com.br</a><br>> - <a href="http://lornlab.org">http://lornlab.org</a><br>> _______________________________________________
<br>> Cascavel-pm mailing list<br>> <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>> <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
><br>><br>_______________________________________________<br>Cascavel-pm mailing list<br><a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm
</a><br></blockquote></div><br><br clear="all"><br>-- <br>Lorn <br>- Slackware Linux<br><a href="http://www.slackwarezine.com.br">www.slackwarezine.com.br</a><br>- <a href="http://lornlab.org">http://lornlab.org</a>