Corrigir as questões teóricas de um teste de AVE é um exercício penoso de decifra de letras encarquilhadas, mas que em compensação nos brinda com pérolas imagináveis. Mas também quem é que idealizava há uns anos atrás que um dia viessem a existir agendas como o iPhone e HTC Touch Diamond, que chegam até fazer chamadas telefónicas.
Quem sabe se algumas das ideias mirabolantes dos meus alunos (não da maioria felizmente) não se virão a tornar indiscutíveis nos futuros ambientes virtuais de execução. Já pensei no final de cada semestre publicar uma lista das melhores ideias, vá-se lá saber se alguém as aproveita.
Então decidi classificar as melhores ideias em 3 categorias: avassaladora, surrealista e artística.
Começando pelas duas melhores ideias avassaladoras, que são aquelas em que a resposta é simplesmente avassaladora. É tipo como matar uma formiga com um canhão. Ou usar napalm em tempo de guerra. É aquela resposta que “catapumba”… “deslargar” a bomba.
A pergunta era: “Dada a definição de componente de Software: “Software components are binary units of independent production, acquisition and deployment that interact to form a functioning system.” [Szyperski, C. - 1998] indique e justifique a entidade do CLI que se constitui como componente à luz dessa definição.”
A resposta avassaladora: “A entidade CLI é um dos componentes de software que em conjunto com outros permitem construir um sistema.”
A outra resposta avassaladora foi dada à questão que entre outras características perguntava como é que o .Net dá suporte à auto-descrição.
E a segunda resposta avassaladora foi: “A auto-descrição é realizada criando uma base de dados onde são colocadas as funções com a sua assinatura, tipo de retorno e comentários do programador se tal existir.”
A categoria surrealista engloba aquelas funcionalidades que em OOP ainda não sou capaz de as visualizar, porque estão “muito à frente”. São visões como aquela da Auto (re)criação PARCIAL. São demais para mim.
A pergunta era: “Indique um cenário em que o compilador de C# gera a instrução call na chamada a um método virtual”
A resposta surrealista foi: “Se o método não tiver sido redefinido e se estiver a ser chamado pela única classe que o redefine.”
É o mesmo que dizer que o SLB não nunca ganhou a taça UEFA a não ser no único ano em que a ganhou. Uau…
Por fim e para mim aquela que considero a primeira do top, até pelo seu sentido artístico. Porque tudo isto de se dizer que os ambientes virtuais de execução são um mundo extraordinário, tem muito que se lhe diga…. Bom, bom era que o código dos nossos programas ficasse mais legível e de preferência que até falasse por si. Quem sabe se um dia o código fonte até se pode vir a tornar em obras de arte.
À pergunta: como é que o .Net dá suporte à auto-descrição? A resposta artística foi: “Com o .Net torna-se uma linguagem muito descritiva e fácil de se perceber.”
Escrevam o mesmo em C++ e já não percebem nada. Por isso é que usamos .Net em AVE, porque assim (nós professores) percebemos melhor o código que os alunos escrevem.