terça-feira, dezembro 21, 2010

Será Que Tão Poucos Sabem o Que É Programação Orientada a Objeto?

Entre as minhas "desventuras" deste ano estão algumas tentativas de contratação de desenvolvedores e estagiários. Faz parte do processo aplicar uma provinha nos candidatos entrevistados.

Neste ano eu dei preferência por questões mais básicas e de resposta aberta, na expectativa de fazer o candidato escrever um pouco. A primeira questão era justamente "o que você entende por Programação Orientada a Objeto". Me pareceu "barbada", já que todo currículo diz que o candidato estudou e pratica isto. Eu estava aberto tanto para definições decoradas de livro como para visões pessoais e imperfeitas.

O resultado foi péssimo, poucas respostas faziam sentido. Acho que teve até quem deixou em branco! No entanto, todo este pessoal está formado (ou a caminho de) e escreve programas (profissional ou academicamente) em linguagens como Java e C# (que supostamente impõem OOP). Eu me pergunto o que será que é visto nas aulas.

Talvez a culpa esteja nas IDEs cheia de wizards e outras bruxarias. Por exemplo, no Windows Forms cada formulário corresponde a uma classe (que herda a maioria das funcionalidades de uma classe chamada Form), mas o Visual Studio escreve o grosso desta classe para você e até esconde a parte mais mundana (como a definição dos controles como campos da classe). Talvez tenha gente que nunca tenha reparado que uma classe está sendo definida.

Em tempo: minha tentativa de dizer o que é OOP está aqui; é claro que se alguém me pergunta-se de supetão a minha resposta não seria tão articulada.

2 comentários:

wmoecke disse...

Eu penso que grande parte da moçada de hoje que sai das faculdades, muitas vezes sequer teve algum conteúdo pertinente ao que é exigido comercialmente.
Tendo cursado (eu disse: 'cursado') Engenharia da Computação em duas faculdades de certo renome em SP há alguns anos atrás, eu pude constatar que a relevância do conteúdo em si certamente não era prioridade. Muitas dessas faculdades (a maioria, particulares) se preocupam no lucro com as mensalidades, e criam cursos para 'atender as necessidades do mercado, bla-bla...', que no fim das contas apenas atende a uma necessidade 'básica'...

Normalmente, são ensinadas noções fundamentais em lógica de programação (aquela história do 'crie um algoritmo em portugol para [trocar uma lâmpada]|[fazer pipoca no microondas]|[insira o esu exemplo aqui]') e bancos de dados e/ou web design (acredite, eu já tive matéria de 'web design' em um curso de engenharia da computação em uma 'prestigiada' faculdade particular!) e pascal - e quando muito, se ensina C básico nos semestres mais avançados.

Não somente os cursos deixam muito a desejar (em minha opinião), mas também se nota que a maioria entra nos cursos para 'ganhar um diploma', pouco se interessando no conteúdo em si. Não notei na maioria da moçada que cursava comigo qualquer preocupação com o futuro. Essa é a realidade que eu vejo: poucos pensam mais à frente do que (sic) 'sair da facul pra tomar umas brejas' (detesto essa palavra!!)

Enfim... também concordo com seu comentário a respeito das IDEs. Sem falar que o Visual Studio, ferramenta tão largamente utilizada (e caríssima), oferece tantos recursos que no meu ponto de vista causa 'dependência' em programadores. Se você acaba se acostumando a usar os recursos como Intellisense, acaba deixando de estimular o lado direito (ou seria o esquerdo?) do cérebro (acontece algo semelhante a acostumar-se a usar a calculadora até para saber se o troco da padaria está correto).

E linguagens de hoje cada vez mais se esforçam para criar mecanismos que afastem os programadores de qualquer contato com o 'núcleo' da linguagem. Veja o exemplo: http://net.tutsplus.com/tutorials/javascript-ajax/rocking-out-with-coffeescript/. O que se espera de um programador a partir do momento em que nem se requer dele que use regras básicas de sintaxe??

Enfim, perdoe meus pontos de vista, apenas desabafando novamente...

P.S.: Você ainda está procurando programadores? ;-D

LorD FeniX (Martins) disse...

Lendo esse post me lembrei de um caso antigo bastante curioso e interessante. Até hj considero-o ótima referência sobre os perigos do mau uso da OOP :)
http://catalisando.com/infoetc/449.htm

E parabéns pelo site. "Caí" aqui procurando o esquema de um equipamento [tb não sei, pergunte ao Google :))) ] e achei fantástico. Nota 1000! :D