home


categorias

  • choque (16)
  • comida (5)
  • crônicas (9)
  • design (2)
  • entretenimento (8)
  • estudos (5)
  • línguas (4)
  • memória (3)
  • meta (3)
  • nova york (14)
  • pirações (12)
  • trampo (12)
  • Aprenda programação orientada a objetos no dia dos namorados

    Escrito em 12/June/2009, 1:16 em crônicas, pirações

    Há algumas semanas atrás, o grande @mjlogan publicou uma frase em sua conta do Twitter que achei genial:

    @mjlogan: Gata, pode vir populando que meu array já está inicializado. #pedreiro_geek

    Era mais uma – de muitas – cantadas geek que estavam circulando naquele dia no Twitter (e que continuam circulando) com a hashtag #pedreiro_geek (ou #geekpickuplines na versão gringa). Neste caso, bastante voltada pra programação.

    Ler isso fez com que uma verdadeira lâmpada se acendesse acima da minha cabeça. Ou seja, estava sem fazer porra nenhuma e pensei, “Caralho, dá pra fazer um monte de cantadas toscas desse tipo relacionadas a programação!“.

    Quem me conhece sabe que sou um solteiro convicto, mas a oportunidade me pareceu boa demais pra deixar passar. Sabe aqueles momentos em que a inspiração bate e você não liga muito pras consequências? Então. Foi aí que acabei despejando uma torrente de frases parecidas na minha conta no Twitter, mas todas relacionadas a Object-Oriented Programming, ou OOP (Programação Orientada a Objetos, em português). Quem teve a honra prazer sorte infelicidade de acompanhar os tweets não deve ter entendido muita coisa, porque elas são realmente muito voltadas pro mundo OOP; no máximo, pode ter achado uma ou outra engraçadinha.

    Como o search do Twitter não parece funcionar pra coisas muito antigas, não dá mais pra listar tudo que postei através de um simples link. Mas como a data é bastante propícia, decidi postá-las aqui para guardá-las pra posteridade.

    No entanto, pro bem da humanidade, e pra ter algum propósito minimamente útil neste artigo, decidi colocar explicações de cada frase junto de cada uma delas. Pra quem não entendeu nada quando as escrevi, pode ser uma oportunidade de entender o quão genial razoável cada uma das frases era; pra quem está aprendendo OOP, pode ser uma oportunidade de sacar alguns conceitos através de exemplos, digamos, pouco ortodoxos; e pra quem já sabe, pode ler sem precisar de muitas explicações, no máximo utilizar as descrições pra ver se acertou, e talvez, quem sabe, achar um pouco de graça.

    Seguem abaixo as cantadas oop, na ordem em que foram postadas. A explicação de cada uma delas está escondida; clique na setinha no final de cada frase para ler a explicação correspondente.

    Nota: os links que coloquei na explicação, bem como as expressões que usei, são dos conceitos originais em inglês (porque foi assim que aprendi), mas é só clicar no link pra versão em português na página da Wikipedia que se abre pra achar o equivalente em português. Além disso, alguns dos conceitos explicados nas frases do começo não são repetidos mais além, então vale a pena ler na sequência porque as explicações podem parecer meio vagas mais pro final da lista.

    Gata, você é uma constante na minha classe estática.

    Gata, no Singleton do meu coração, você é a instância default.

    Gata, se meu coração é o Model, você é o Controller e eu sou o View.

    Gata, não tem Garbage Collection que consiga fazer eu te esquecer.

    Gata, eu ter esquecido o dia do seu aniversário é culpa de um memory leak.

    Gata, sua classe é final.

    Gata, não tem longint grande o suficiente pra dizer o quanto eu gosto de você.

    Gata, vou extender meu coração só pra fazer um override no toString() pra escrever seu nome nele.

    Gata, sua classe não tem clone().

    Gata, você implementa ILoveYou.

    Gata, todos os meus overloads têm você como parâmetro.

    Gata, meu dispose() é disparado automaticamente se sua referência for removida da instância.

    Gata, me diz qual o método da sua API que retorna seu coração.

    Gata, sua instância é única.

    Gata, quero te extender pra classe MyGirl.

    Gata, vamos fazer um composition que instancia nós dois.

    Gata, depois que eu terminar com você, vão escrever um capítulo novo sobre você no Gang Of Four.

    Gata, depois que eu terminar com você, não vai ter refactoring que faça você me esquecer.

    Gata, o unit testing de minha classe só retorna válido se ele te encontrar.

    Gata, depois de ser instanciada, deus removeu sua classe do repositório.

    Gata, não tem encapsulamento que esconda o que eu sinto por você.

    Gata, não dá setar o que sinto por você pra null.

    Gata, meu o command pattern tá preso em loveYou().

    Gata, minha paixão está em loop infinito.

    Gata, todas as entradas do meu iterator apontam pra você.

    Gata, você não tem factory, é base class.

    Gata, você provocou uma exceção no init() do meu coração.

    Gata, não tem especificação que explique sua classe.

    Gata, você conseguiu acessar uma propriedade do meu coração que era protected até eu te conhecer.

    Gata, depois de te conhecer, deu um lock na instância do meu coração.

    Gata, não tem pattern que explique o que sinto por você.

    Gata, meu try é pra dizer o que sinto por você, pra catch seu coração, e finally te conquistar.

    Gata, quero adicionar um listener em todos os seus eventos.

    Gata, você é tão única que seu prototype é private.

    Gata, todos os seus erros são fatais para meu coração.

    Gata, espero a documentação que me ajude a conquistar seu coração.

    Gata, universo = universo.replace(/([\.-,;\s]+s|^s)o(l$|l[\.-,;\s])/im, “você”);

    Nota final: não garanto a eficácia de nenhuma das cantadas listadas acima. Use por sua própria conta e risco.

    E, por favor, não leve a sério.

    9 comentários no artigo “Aprenda programação orientada a objetos no dia dos namorados”:

    1. Ramon Fritsch indagou em 12/June/2009 às 7:41:

      Cara, tu nunca pensou em escrever um livro?
      puta q pariu!
      aeiohjioaejhioaehj

      e outra: não pensou em ter uma namorada ainda não?
      aehjioaejheaiojh

      abração!

    2. Zeh comentou em 12/June/2009 às 8:16:

      Escrever um livro, ter uma namorada? Já pensei em escrever uma namorada, mas dava problema no unit testing, as respostas eram inconsistentes. http://instantrimshot.com/

      (Perdão, meninas, perdão… é brincadeira e hipotético, mas não podia deixar passar)

    3. Mj. Logan argumentou em 13/June/2009 às 15:12:

      Hahahaha, demais! Praticamente o roteiro de uma sessão geek de declamações para a amada! Esse dia foi muito engraçado, uma iluminação do super-zeh.

    4. alelex88 assinalou em 14/June/2009 às 12:42:

      sensacional a tua idéia em cima da brinks do #pedreiro_geek. você conseguiu algo raro: agregar informação à brincadeira, e ainda mais: criou uma forma lúdica de demonstrar alguns dos conceitos da oop. parabéns, cara.

    5. alelex88 analisou em 14/June/2009 às 12:43:

      ah, sim: os parabéns acima dados pelo criador do #pedreiro_geek :)

    6. Mj. Logan assinalou em 16/June/2009 às 7:47:

      alelex88, eu não fui o criador da hashtag não, cara, apenas fui mais um que teve esse “insight” no dia, vendo o tweet de alguém :^)

    7. Tobias comentou em 18/June/2009 às 10:46:

      hahahaha, excelente post cara, to rindo demais aqui, muito bom mesmo, parabéns.

    8. mauriciomassaia bradou em 29/June/2009 às 12:14:

      hahahah caralho!!! to cascando aqui mto pedreiro geek, nao tinha expressao melhor

      []s

    9. FabioTNT questionou em 13/July/2009 às 16:37:

      hahaha mt bom zeh!!!
      Mandou ver nas cantadas!
      Ri demais!

    Escreva um comentário