[Cascavel-pm] Transformando em objeto

Luis Motta Campos luismottacampos em yahoo.co.uk
Quinta Novembro 30 07:39:42 PST 2006


Lorn wrote:
> Quando você usa módulos no seu programa, significa que você está 
> usando OO??

  Não.
  Perl não tem suporte a orientação à objetos.
  Perl tem, sim, um "syntatic sugar" que permite ao programador se
iludir, acreditando piamente que está trabalhando sobre o paradigma de
orientação à objetos. Mas é pura ilusão de óptica.

> Eu sempre tive essa duvida, por causa daquele 'package...' lá em cima
> 
"package" é uma diretriz de programação do Perl que serve para definir
que o código e as declarações que aparecerem naquele arquivo, daquele
ponto em diante, estão associadas com o "namespace" declarado na
diretriz "package". NADA MAIS.

> :) E também porque você acessa "metodos" do modulo, e sempre que eu 
> ouço falar em metodos eu lembro de OO.

  "Métodos" é /patois/ de orientação à objetos. Está fortemente
associada com procedimentos ou funções, nos paradigmas de programação
funcional e procedimental.

  Perl não suporta "métodos", no sentido estrito da palavra: não é
possível separar a interface do código que uma determinada chamada
executa, e, mesmo que alguém consiga algum recurso para isso, não vai
passar de um hack sujo ou uma brincadeira habilidosa sobre os
/namespaces/ do Perl.

> Agora programar em OO só pra quem gosta mesmo, ou se você usa um
> Framework que facilita isso, tipo Catalyst.

  Lamento, podem existir vantagens.
  Como todas as outras ferramentas de construção de algorítimos, os
paradigmas de programação nos permitem ver problemas de uma maneira mais
simples (ou mais complicada, se você escolheu o paradigma errado).
  Não jogue suas ferramentas fora apenas por que nunca as usou. Pode
aparecer um problema diferente na outra esquina... ;-)

> /me tem trauma de OO por causa do Java >.<

  Java NÃO É uma linguagem puramente orientada à objetos. A prova disso
é a classe System, e em especial todos os descendentes de
java.io.OutputStream e java.io.InputStream, que conseguem escrever e ler
de um mundo essencialmente procedimental (e, logicamente, desmentindo
que Java alguma vez foi ou será puramente procedimental).

  /me vai trabalhar por que estas coisas são como discutir o sexo dos
anjos...

  Putamplexos!
-- 
Luis Motta Campos
Senior System Engineer at Segula.FR
Hobbyist Cooker and Photograph


Mais detalhes sobre a lista de discussão Cascavel-pm