Aspectos internos e idiomas de programação em C#

Inscrição

Resumo

A evolução da linguagem C# introduziu maioritariamente construções próprias de linguagens funcionais e de tipificação dinâmica, que até há algum tempo não eram de utilização generalizada nas linguagens de ampla disseminação. Estas construções abrem novas possibilidades ao programador, que não se limitam ao âmbito em que foram originalmente introduzidas. Por outro lado, ao passarem a fazer parte do dia-a-dia do processo de desenvolvimento, é fundamental conhecer o seu funcionamento e peculiaridades.

Programa

Nesta sessão começa-se por caracterizar o funcionamento dos novos mecanismos (e.g. expressões lambda, métodos de extensão, árvores de expressão), alertando-se para alguns dos aspectos menos óbvios que podem comprometer a correcção dos programas que os usam. De seguida, apresentam-se exemplos de utilização, identificando novos idiomas e ilustrando como contribuem para a flexibilidade, a correcção e a concisão dos programas.

São temas desta sessão:

  • Expressões lambda
  • Métodos extensão
  • Tipos anónimos e inferência de tipos
  • Árvores de expressão
  • Iniciadores de tipo e de sequências
  • Co-variância e contra-variância
  • Linq to XML
  • Tipificação dinâmica e o tipo dynamic

Pré-requisitos

Esta sessão destina-se a:

  • programadores com bons conhecimentos sobre a linguagem C# que pretendam aprender a tirar o melhor proveito das adições a esta linguagem;
  • programadores experientes na linguagem Java que pretendam avaliar a evolução ocorrida numa linguagem de programação próxima.

São pré-requisitos aconselhados:

  • conhecimentos elementares da linguagem C#, nomeadamente classes, interfaces, tipos e métodos genéricos e delegates;
  • experiência de utilização do Visual Studio;

ou, em alternativa:

  • muito bom conhecimento e experiência da linguagem Java e boa capacidade de adaptação a outro ambiente de desenvolvimento.

Docentes

Pedro Félix, Duarte Nunes e João Trindade

Data

26 de Janeiro de 2011, das 17:00 às 22:30

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>