Atendendo a milhares de pedidos dos ouvintes ensandecidos, enfim gravamos um episódio sobre Programação e Orientação a Objetos. Finalmente, respondemos a uma das perguntas mais frequentes na história da computação e contamos quantos programadores são necessários para se trocar uma lâmpada.
Quer ficar rico programando? Pergunte-me como. Qual a melhor linguagem para trabalhar com POO? E quais as linguagens mais esquisitas que você irá encontrar? Quem são esses mafiosos da Gangue dos Quatro? Saiba como estabelecer um contrato com seu cão e aprenda de uma vez por todas a comentar corretamente o seu código.
Para o desenvolvimento deste projeto, contratamos o gerente Magnun Leno, auxiliado pelo analista-sênior e gestor de qualidade André Moreira. Estão presentes também os beta testers especiais Silmar, Ronaldo e Jorge aplicando a eficazmente comprovada técnica da programação em pares (Uuui). E, antes de baixarem esse cast, tenham a certeza de executar seus testes automatizados e lembrem de nunca, mas NUNCA mesmo fazer alterações no ambiente de produção.
Comentado neste episódio:
- Programação Orientada a Objetos (POO).
- All code is bad: reflexões sobre a dura vida de um programador.
- SOLID: é um acrônimo dos cinco primeiros princípios da programação orientada a objetos e design de código identificados pelo Uncle Bob.
- Boas Práticas em Programação: parte 1, parte 2 e Manifesto Ágil.
- Ferramentas que geram documentação baseada em código.
- Linguagem de Modelagem Unificada (UML).
- Linguagens Brainfuck e Whitespace.
- Melhores comentários encontrados em códigos-fontes.
- Wat Talks: o inverso do Ted Talks, com foco em programação e seu universo. Sarcasmo included.
Vídeo
- Piratas do Vale do Silício (1999): filme que conta o início da computação pessoal e do surgimento da Microsoft e Apple, consequentemente o surgimento (golpe) do MS-DOS, do MacOS, do mouse, da interface gráfica e etc. Disponível para aluguel digital.
- Pair Programming: da forma que não deve ser feita!
Literatura
- Padrões de Projetos – Soluções Reutilizáveis de Software Orientado a Objetos (Gang of Four, 2000): quatro projetistas de grande renome apresentam um catálogo de soluções simples e sucintas para os problemas mais freqüentes na área de projeto. Os autores descrevem o que são padrões e como eles ajudam a projetar o software orientado a objetos de forma rápida e eficiente. Todos os 23 padrões foram compilados de sistemas já existentes e estão baseados em exemplos reais, incluindo códigos que demonstram a sua implementação em linguagens orientadas a objetos, como C++ e Smalltalk. Disponível também em ebook.
- Análise e Projeto Orientado ao Objeto (Pollice, Westhead e Mclaughlin, 2007): este livro da renomada serie Use a Cabeça! mostra a você como analisar, projetar e escrever um software orientado a objetos sério, um software que seja fácil de reutilizar, manter e estender; um software que não cause lesões em seu cérebro; que permita a você adicionar novos recursos sem quebrar os antigos.
- Programação com Java (John R. Hubbard, 2006): este exemplar pertence à série Schaum’s Outline, cuja premissa é similar ao “For Dummies”. Esse livro ensina a base da programação Java e da Orientação a Objeto de uma forma simples e pragmática, trazendo muitos exemplo de código e exercícios com respostas. Indicado para aqueles que já possuem uma noção de programação.
- Modelagem e Projeto Baseado em Objetos com UML 2 (Michael Blaha e James Rumbaugh, 2006): Um livro muito mais voltado para os conceitos da modelagem e design apresentando os “cenários” mais comuns da orientação a objeto sempre com a representação do cenário em UML2. É um livro mais abstrato e que trata muito mais de conceitos da OO, pois só apresenta algum código (de verdade) já quase na página 300.
- Jogador Nº 1 (Ernest Cline, 2011): um tributo aos anos 80 em forma de livro. Em 2045 em uma terra distópica exaurida de combustível fóssil e assolada por pobreza e violência, boa parte da sociedade se enclausurou em suas casas, em busca de refúgio e onde realizam todas as suas obrigações (ir a escola, trabalhar, passear e etc) em uma realidade virtual/jogo massivo multiplayer online chamado Oasis. Entretanto, o criador do OASIS (já morto) havia preparado uma busca a Easter Eggs, onde o ganhador iria herdar sua fortuna e o controle do OASIS.
- Segredos de uma Garota de Programa: Valéria revela nesse livro os mais recônditos segredos sobre sua antiga profissão, e como dominava facilmente os homens.
Games
- Game Dev Story (iPhone e Android): jogo onde você controla uma empresa produtora de jogos. Nela você deve contratar seus funcionários, criar games, desenvolver seus próprios consoles ou prestar serviços terceirizados. Dependendo da qualidade do serviço você pode ganhar prêmios como Melhor Jogo, Melhor Plataforma, Melhor Som e etc. Ele é bem realista, já que o gerente não serve pra nada no jogo e faz referência a diversas plataformas como o ATARI, Master System, Sega Saturn etc.
- Game Dev Tycon: similar ao Game Dev Story (de onde os autores se inspiraram), o objetivo deste jogo também é administrar uma produtora de games, obedecendo às leis do mercado, inclusive as mais prejudiciais aos desenvolvedores – leia-se pirataria. Tentando passar uma mensagem irônica e bem-humorada, os produtores do Game Tycon decidiram liberar via torrents uma versão pirata do jogo, na qual a taxa de pirataria aumenta exponencialmente com o sucesso dos jogos produzidos. Assim, ao chegar em determinado ponto, quem baixou a versão pirata acaba por entrar em falência (e perder no jogo) simplesmente por causa da… pirataria (rá!). Desnecessário dizer que, mesmo assim, em menos de um dia 93,6% dos jogadores ativos estavam com a versão hackeada do game.
Saiba Mais
- Design Principles and Design Patterns (Robert Martin, 2000): extenso artigo (em pdf) no qual o autor detalha os conceitos mais importantes da OOD, além de descrever minuciosamente os princípios da Metodologia SOLID, com exemplos em pseudo-código para cada um. Nas seções finais, dá uma breve pincelada nos Padrões de Projeto da GoF.
- Java e Orientação a Objetos: aprenda Java, a linguagem de programação mais usada atualmente, e os princípios da programação orientada a objetos. Este material gratuito é produzido e utilizado pela Caelum em seu curso de Java.
- edX: cursos online (em inglês) oferecidos pelas melhores universidades do mundo.
Você pode assinar o #SciCast através do iTunes ou usar o Feed RSS no seu agregador preferido.