quinta-feira, 10 de dezembro de 2009

Objetos versus Procedimentos



De tempos em tempos encontro uma discussão relacionada com os conceitos iniciais de programação que devem ser apresentados em uma disciplina introdutória. Inevitavelmente, o foco acaba destacando uma antiga (agora) discussão: seguir a trilha das linguagens procedimentais ou seguir a trilha das linguagens OO.

Solução de Problemas

Acredito que um ponto importante a ser considerado é aquele que se relaciona com o tema "solução de problemas" no nível abstrato. Esse tema conduz, naturalmente, ao estudo dos algoritmos [Vega, 2008]. Ou seja, quais técnicas auxiliam na descoberta de instruções que resolvem um problema? Quais técnicas auxiliam a organizar tais instruções para que o problema seja resolvido? Como saber se o algoritmo, ao ser executado (em uma máquina abstrata) resolve o problema? O estudo das estruturas de controle (sequencia, decisão e repetição) não pode ser excluído. Como, também, as diferentes maneiras de se organizar as informações manipuladas pelas instruções do algoritmo.

Codificação

Por outro lado, a codificação do algoritmo (e das estruturas de dados), revela um outro tema, de natureza diferente ao de "solução de problemas". Preocupa-se com a geração de um código que resolve um problema ao ser executado em uma máquina concreta (física ou virtual). Quais técnicas são apropriadas para gerar o código? Como coordenar os esforços de vários programadores, quando da geração de trechos de código que devem ser posteriormente integrados?

Seriam as questões relacionadas à solução de problemas e de codificação tratadas em um momento introdutório? Certamente. E como fazer isso? Qual o papel das linguagens de programação?

Revista ReCeT



Concluí a editoração do primeiro número da revista ReCeT, uma revista do Departamento de Computação da PUC-SP. Ela tem a proposta de divulgar trabalhos de pesquisa e posições ideológicas na área computacional. O acesso aos artigos é livre (no site da revista).

Foram quase três anos, desde o momento da ideia até a finalização do primeiro número. Agradeço aos colegas articulistas pelo crédito no projeto, bem como aos demais colaboradores (incluindo os anônimos) pelo apoio e ajuda na reta final.

Faço um destaque para o desenho da capa. Um belo trabalho de belíssima qualidade do professor David. Tive a honra de assistir as suas aulas sobre técnicas de elaboração de roteiro de jogos.

O acesso pode ser feito através do seguinte endereço: http://revistas.pucsp.br/ReCET