O título deste foi o título do meu trabalho de conclusão de curso para obtenção do diploma de bacharel em Ciência da Computação pela Universidade do Estado do Rio Grande do Norte (UERN).
A investigação se deu na medida em que pesquisei algumas ferramentas que pudessem ser utilizadas em disciplinas de algoritmos/introdução a programação em sistemas GNU/Linux. Em particular, refiro-me a ferramentas que pudessem compilar/executar programas escritos em portugol. O resultado dessa pesquisa pode ser resumida na tabela abaixo:
Quila | AlgoMais | G-Portugol | |
Linguagem em que foi desenvolvido | C++ | Java | C++ |
Licença | GPL | ??? | GPL |
Compilador | x | x | |
Interpretador | x | x | |
Editor | x | x | |
Nativo | x | x | |
Documentação | Razoável | Excelente | |
Ativo | x | ||
Usabilidade | Boa | Razoável | Boa/Excelente |
Instalação | Difícil | Muito difícil | Difícil |
Apresentando um pouco mais sobre cada um destas ferramentas:
- Quila: a característica mais vantajosa dessa ferramenta é a sintaxe semelhante ao Pascal, mas com as palavras-chaves em português. Porém, esse interpretador só está disponível em formato de código-fonte, sendo necessário sua compilação para uso, que pode não ser trivial para quem está começando no mundo da computação. Atualmente o projeto está abandonado pelo seu autor original.
- AlgoMais: é um interpretador de algoritmos que embora feita na linguagem Java, conhecida pela sua portabilidade, para ser executado em ambiente GNU/Linux é necessário uma série de ajustes manuais, o que o deixa inviável para iniciantes.
- G-Portugol: é um projeto que envolve a definição de uma linguagem, também chamada de G-Portugol. Sua principal ferramenta é o GPT, que faz a compilação para linguagem de máquina, tradução para C e Assembly, e interpretação dos algoritmos. A outra ferramenta é o GPTEditor, editor para a linguagem com recursos de destaque de sintaxe e depuração.
Disso tudo, podemos deduzir que o projeto mais completo e bem acabado é o G-Portugol, incluindo a documentação. No entanto, a linguagem G-Portugol não é totalmente compatível com o Português Estruturado comumente apresentado nos cursos de algoritmos, não podendo ser completamente utilizado em um curso que envolvesse programação. Por exemplo, não havia o instrução “repita… até…” nem passagem de parâmetros por referência. E foi aí que entrou a “extensão”. Analisei o código fonte do GPT e fiz a inclusão do “repita… até…” e a correção de alguns bugs, além da documentação de todo esse processo, facilitando para que outros deem continuidade.
Quando propuz este trabalho, o professor da disciplina de orientação do TCC disse que compiladores são normalmente construídos durante uma disciplina. E, de fato, do ponto de vista técnico da implementação, do produto final produzido pelo meu trabalho, não há nada de grandioso ou inovador. Mas não era isso que eu tinha em mente.
Uma auto-restrição que apliquei foi a de que todo o código produzido deveria ser retornado para o projeto, já que este era um software livre. E realmente, este foi o maior trunfo deste trabalho, bastante elogiado pela banca, por sinal. Aquele não seria mais um trabalho encadernado e esquecido na biblioteca, de fato, trabalhos futuros partirão de onde parei. A partir do código que produzi. Este é o modelo que deveria ser utilizado pela instituições de ensino, principalmente pelas públicas.
Para quem tiver interesse, segue abaixo o trabalho escrito, devidamente licenciado em Creative Commons.
Até o próximo.
0sem comentários ainda