Projecto de fim de curso

Propaganda
Projecto de fim de curso
Licenciatura em Ensino de Informática, Informática e Engenharia
de Sistemas e Informática
Análise comparativa e desempenho da linguagem de programação D
Introdução
A linguagem de programação D foi concebida em Dezembro de 1999 por Walter Bright como
uma evolução das linguagens C/C++. Esta linguagem está a um nível mais alto que C++ mas
contínua a permitir chamadas à API do sistema operativo em baixo nível tal como o C.
Ao contrário de outras linguagens que evoluíram do C/C++ como Java e C#, não é uma
linguagem interpretada baseada numa máquina virtual, mas sim compilada. De facto a
linguagem D foi desenhada com intenção de ser relativamente simples o desenvolvimento de
um compilador (com optimizador), tentando manter-se a portabilidade do código fonte entre
compiladores, máquinas e sistemas operativos.
Objectivos
Comparar a linguagem D, ao nível da sintaxe com as linguagens C++, C# e Java2.
Comparar a geração de código (compilação) do compilador da linguagem D, com o
compilador da linguagem C e com as linguagens C# e Java2.
Implementar uma pequena biblioteca de cálculo matricial que permita desenvolver aplicações
para comparar o desempenho (benchmarking) das linguagens D, C, C++, C# e Java2, para
cálculo intensivo.
Bibliografia
Stroustrup, B., The C++ Programming language (3rd edition), Addison-Wesley
Martins, F. Mário, Programação Orientada por Objectos em Java 2 (3ª edição), Tecnologias
de informação, FCA editores.
Liberty, Jesse, Programmimg C# (4th edition), O’Reilly
Projecto Mono:
http://www.mono-project.com/Main_Page
Linguagem de programação D:
http://www.digitalmars.com/d/
Pré-requisitos
Conhecimentos sólidos de programação nas linguagem C / C++, Java. Os alunos deverão ter
tido aprovação nas disciplinas de EDa, POO e Algoritmos.
Material necessário
Hardware
PC com sistema operativo Windows ou Linux, que possa ser administrado pelos alunos de
modo a serem instalados e configurados os pacotes de software necessários.
Software
Compilador de C / C++
Compilador D
J2EE
Mono
(Windows ou Linux)
(Windows ou Linux)
(Windows ou Linux)
(Windows ou Linux) ou Plataforma .net + #Dev (Windows)
Avaliação
A avaliação será baseada nas seguintes componentes:
- Comparação da sintaxe da linguagem D com C++, C# e Java2
- Comparação da geração de código executável D com C++, C# e Java2
- Implementação da biblioteca de cálculo matricial
- Comparação do desempenho das linguagens D, C, C++, C# e Java2
30%
10%
30%
30%
Orientador: Helder Daniel, gabinete 2.66, [email protected].
Discentes: 2
Duração prevista: anual
Selecção dos candidatos
Critérios de selecção
- Média de curso
- Nota de Programação Orientada por Objectos
- Número de disciplinas de informática concluídas, com especial incidência sobre a área
científica de Ciências da Computação.
Perfil dos candidatos:
Fluência em linguagens de programação orientada por objectos, tais como C++ e Java.
Conhecimentos sólidos sobre Compiladores e Interpretadores.
Se não houver candidatos que se enquadrem no perfil o projecto poderá não ser atribuído.
Download