- Valor: A definir
- Tamanho: 10 grupos de 3 alunos e 1 grupo de 2 alunos
- Duração: até 15 minutos por equipe + tempo para perguntas
- Tema: linguagens de programação
- Sugestões: linguagens de script (ex.: Ruby, Python), linguagens para domínios específicos (ex.: R, Matlab), linguagens para sistemas distribuídos (ex.: Erlang, Elixir), linguagens funcionais (ex.: Haskell), outros (XSLT, Swift). Veja outras linguagens em https://repl.it/languages
- Abordagem:
- a equipe deve explicar as principais características da linguagem escolhida, dando destaque às características que a diferenciam das outras. As características devem ser ilustradas com exemplos de código-fonte.
- Dicas para evitar uma apresentação cansativa
- Não demore muito pra mostrar código-fonte.
- Alterne a ordem dos apresentadores, de forma que cada apresentador fale mais de uma vez.
- Alguns tópicos sugeridos (Não entendeu algum tópico? Pergunte em sala de aula)
- Visão geral
- Histórico
- Quais as principais áreas de aplicação (ex.: aplicações web, computação científica…)?
- Características básicas
- Quais paradigmas são diretamente suportados?
- A linguagem é compilada, interpretada ou híbrida (i.e., com bytecode)?
- Como é feito o gerenciamento da memória?
- Quais são as principais estruturas da linguagem para seleção e repetição?
- Quais são os diferenciais da linguagem, isto é, características que a tornam melhor do que outras para certas aplicações?
- Nomes e vinculação
- Quais as restrições para identificadores? (Ex.: maiúsculas, minúsculas etc.)
- Faz distinção entre maiúsculas e minúsculas?
- Em que momento é feita a vinculação de tipo a uma variável?
- Em que momento é feita a vinculação de valor a uma variável/constante?
- Tipos
- A tipificação é forte ou fraca? É dinâmica ou estática?
- Quais são os principais tipos (além de inteiros, floats e strings)?
- As strings são mutáveis ou imutáveis? E quanto aos outros tipos?
- Funções
- Permite funções aninhadas?
- Funções são cidadãos de primeira classe?
- Quais os tipos de passagem de parâmetro, e como isso é especificado no programa? (ex.: em Pascal, usa-se “var” para passar por referência)
- Outros
- Há alguma ferramenta para gerenciamento de dependências, que permite baixar e instalar bibliotecas da Internet?
- Como é feita a iteração sobre uma lista de valores?
- Outras coisas que vocês acharem que vale a pena falar.
Apresentações
Turma 01
- 26/08
- Swift: Joaldino, Paula, Icaro
- C++: Kaio, Roberto, Weslley
- Ruby: Felipe, Ivanildo, Jadson
- Java: Mario, Caio Souza
- 31/08
- Haskell: Weydson, Frederico, Telson
- LaTeX: Vinicius, Leonardo, Antonio
- PHP: Priscila, Edicarla
- Lua: Fernanda, Raphael, Ariel
- 02/09
- R: Joevan, Osvaldo
- Python: André, Jonatas, Rafael
- APL: Jonathan, Vitor Vidal, Joselito
- C#: Carla, Igor, Lucas Almeida
Turma 02
- 26/08
- Ruby: Ian, Ramon Oliveira, Suzanne
- Perl: Deuana, Angelmario, Tassia
- Python: Francisleide, Elayne, Yane
- C#: José, Guilherme, Braian
- 31/08
- C: Adiel, Ubirajara, Jeferson
- Java: Rafael, Adriano, Luiz Rosario
- Cobol: Ramon, Rafael Trigueiros, Pablo
- Scala: Bruno, Eduardo, Ricardo
- 02/09
- Swift: Ramon de Carvalho, Danilo, Paulo Henrique
- PHP: Naara, Rodrigo, Tassio
- VBScript: Daniel