Objetivos
Os estudantes que terminam com sucesso esta unidade curricular serão capazes de:
- Comparar e utilizar diferentes construções comuns em linguagens de programação modernas, enquadrando diferentes paradigmas de programação, e o seu suporte no ambiente de execução.
- Entender os principais constituintes de um ambiente de execução para linguagens de alto nível, e saber comparar diferentes abordagens de sistemas de tipos destes ambientes.
- Usar metadados em tempo de execução (reflexão) para examinar tipos e usar metaprogramação para analisar e transformar programas em tempo de execução.
- Analisar o desempenho de programas managed e usar eficientemente o suporte automático de gestão de memória (garbage collection).