Alice
Autor: Xuk | Publicado: 2009-07-06T15:29:00-07:00

Alice (disponível em http://www.alice.org) é um software desenvolvido em Java na Universidade Carnegie Mellon destinado à criação de animações 3D em que os comandos e os objetos são adicionados por meio de uma interface do tipo "arrastar e soltar". O seu objetivo é familiarizar alunos de graduação em computação com a lógica de programação e a organização dos procedimentos sequencialmente. A grande vantagem do ambiente Alice é a visualização imediata dos resultados, tornando a programação muito mais agradável e intuitiva. Este ambiente foi criado para atrair um maior número de estudantes para a área da ciência de computação, pois nos EUA o número de interessados tem caído ao longo dos anos, principalmente entre as mulheres.Tela inicial do programa Alice, com os tutoriais disponíveisA primeira coisa que se nota são os tutoriais disponibilizados juntamente com a aplicação. Existem 4 tutoriais que abordam diferentes partes do programa, começando por funcionalidades mais básicas e aumentando gradualmente o nível de complexidade dos recursos utilizados. Quase todas as funcionalidades do programa são trabalhadas, permitindo que o usuário aprenda a utilizar o programa rapidamente, modificando animações previamente elaboradas.A tela principal do programa permite o acesso a praticamente todas as funcionalidades, separando-as por abas. Uma das poucas excessões é a tela para a adição e deslocamento de objetos, que é aberta por meio de um botão, cobrindo parte da tela principal.Na tela principal, o uso é muito simples, bastando arrastar as ações disponíveis para cada objeto de uma janela para a outra, criando os seus próprios métodos ou funções com grande liberdade para o usuário, pois qualquer combinação de ações é possível.Tela principal do ambiente AliceO programa aborda a programação sob o paradigma da orientação à objetos, pois cada objeto tem seus próprios métodos e o estado pode ser visualizado na própria animação. É feita uma diferenciação entre um método e uma função: um método é uma sequencia de ações que modifica apenas o estado do objeto, enquanto uma função sempre retorna um resultado. Um ponto a ser destacado é a delimitação do escopo dos comandos, como num "if", que pode ser visto na figura abaixo:Exemplo do comando "if"Pode-se facilmente identificar quais elementos compõem um "if", sendo feita a diferenciação entre as condições a serem avaliadas (no caso, a função World.isemcima) e as ações que serão executadas em cada caso (retorno de "true" ou "false"). Além disso, alguns comandos podem ser visualizados em versões complexas ou simplificadas, como o "for". Tudo isso melhora a inteligibilidade do código, o que ele representa e quais resultados serão obtidos, facilitando o entendimento da lógica de programação e da execução sequencial dos comandos.Outro ponto positivo para o ambiente Alice é o grande número de objetos disponíveis para a composição da animação. Tais objetos estão organizados em categorias, o que facilita a localização dos mesmos. Além disso, quando um novo objeto é adicionado ao cenário, uma referência para ele é adicionada na árvore de objetos (por padrão, no canto superior esquerdo), facilitando a sua manipulação com a criação de novos métodos e funções.Na tela para adição de objetos há uma maior dificuldade em organizar os elementos. O primeiro dos problemas é impossibilidade de escolher a posição em que um objeto é adicionado ao cenário, sendo colocado em um local aleatório. Isto poderia ser facilmente modificado, para que o usuário possa escolher a posição do objeto. Outro problema são os controles de câmera pouco intuitivos e pouco práticos também, fazendo com que o usuário se perca facilmente no mundo que está criando. Por fim os controles para a manipulação dos objetos são mal elaborados, tornando complicada a tarefa de dimensionar e posicionar um objeto da forma que se deseja (ações também dificultadas pelos controles da câmera, pois certos ajustes requerem um certo ângulo de visualização dos objetos).Tela para adição e deslocamento de objetosUm outro problema encontrado na interface do ambiente Alice foi a funcionalidade que lembra o usuário de salvar o seu trabalho a cada quinze minutos a qual interrompe a ação que está sendo realizada.Tela exibindo mensagem que relembra o usuário de salvar o trabalhoEnfim, acreditamos que o ambiente Alice faz o se propõe a fazer, pois facilita o entendimento do que é programar, permitindo a visualização imediata dos resultados obtidos com os comandos passados e o entendimento de como estes são executados (sequencialmente), por meio de uma atividade agradável como é contar uma história através de uma animação. Assim o usuário pode perceber que computação não se resume a sentar na frente de um computador e escrever códigos e mais códigos, mas sim em ser criativo.Só falta uma versão em português =) .