PPT

Propaganda
OOPSLA ’04/ETX
Giuliano Mega
O que é a OOPSLA?
Conferência anual em Orientação a Objetos
(OO). PSLA:
Programação;
Sistemas;
Linguagens;
Aplicações;
promovida pela ACM desde 1986;
19a edição (outubro de 2004);
uma das mais importantes;
certamente a maior delas.
Estrutura da OOPSLA
 Atividades:
 Technical Papers*
 “O filé da conferência”
 Garbage Collection, Design, Aspects, Performance, etc.
 Practitioner Reports*
 Experiências aplicando conceitos, tecnologias.
 “O que funciona e o que não funciona”
 Panels*
 Onward!
 Assuntos revolucionários.
 Tutorials
 Scott Meyers, Douglas Schmidt, Erich Gamma, Ralph
Johnson…
Estrutura da OOPSLA (cont.)
Workshops
BoFs
Eventos diversos (após os horários de conferência)
 Comida. Muita comida. 
O Eclipse Technology eXchange
É um dos workshops da OOPSLA;
exposição e discussão de trabalhos
relacionados ao Eclipse;
“fórum onde pesquisadores têm a oportunidade de
conhecerem uns aos outros e compartilharem suas
experiências e código”;
21 trabalhos neste ano, divididos em 6 seções.
Opnião pessoal - três trabalhos:
Strathcona (Unsticking Eclipse Plug-In Development)
Java Traits in Eclipse
MEProf – Modular Extensible Profiler
Unsticking Eclipse plug-in Development
Motivação
O Eclipse é um arcabouço poderoso, genérico,
flexível e… complexo.
Arcabouços devem fornecer:
Boa documentação de alto nível;
exemplos, muitos exemplos.
Disponibilizar exemplos pode ser uma tarefa
árdua.
Achá-los é ainda pior.
Motivação (cont.)
 Abordagens:
Manual (grande maioria):
 Razoável para tarefas fundamentais;
 impraticáveis no caso geral (defasagem, escopo).
Repositórios de exemplos + ferramentas:
 Exemplos são o código;
 ferramentas auxiliam na busca por exemplos relevantes;
Diferem quanto ao método de recuperação:
 ad hoc;
 busca por categorias (Eclipse);
 query languages especializadas;
Strathcona
Strathcona - busca
Strathcona - busca (cont.)
Strathcona
Exemplos auto-sustentáveis.
Poderia reduzir significativamente a inclinação
da curva de aprendizado.
Custo administrativo adicional é negligível perto
dos benefícios.
O código do plug-in NÃO está disponível.
Java Traits
Traits:
Conceito simples e poderoso, sub-utilizado em OO.
São coleções de métodos.
Definem também um conjunto de requisitos.
Múltiplos traits podem ser aplicados a uma classe.
Java Traits (cont.)
Aumentam a qualidade do código
Reduzem código duplicado.
Altamente ligados aos conceitos de refatoração.
Experiência pessoal:
Eliminariam muitas “gambiarras”:
• Classes utilitárias
• Métodos estáticos.
Reduziriam significativamente a quantidade de
código.
Infelizmente o plug-in não está disponível.
Java Traits - implementação
Traits são implementados sob a forma de
classes abstratas.
Requisitos transformam-se em stubs: métodos
abstratos.
Ferramenta:
implementa um browser parecido com o do
Smalltalk;
permite criar novos traits através da composição de
traits já existentes;
gerencia automaticamente as dependências.
MEProf – Modular Extensible Profiler
Os requisitos para profiling são heterogêneos:
 Baixo nível:
• Informações detalhadas sobre o funcionamento de métodoschave.
• Pode envolver o uso de medidores de performance de
hardware empregados no nível do bytecode ou até mesmo do
código assembly.
 Alto nível:
• Profiling específico a certos domínios;
• pode envolver acesso a dados gerados em níveis mais baixos.
Resultado:
 Muitos programas específicos;
 difícil unificar os dados produzidos.
Profiling Pipeline
MEProf: Profiler modular para o Eclipse:
Profiling pipeline.
Versão inicial fortemente baseada em AOP.
Composto por seis tipos de componentes que
operam em dados:
gatilhos (triggers);
coletores (collectors);
agregadores (aggregators);
adaptadores (adapters);
filtros (filters);
visualizadores (visualisation modules).
Profiling Pipeline
 Pontas:
 Gatilhos + coletores – produzem dados;
 Visualizadores – consomem dados.
 O restante dos módulos apenas transformam/combinam dados.
Profiling Pipeline (cont.)
Criando novos módulos
Agregadores, adaptadores, filtros e visualizadores –
simples de conceber.
Gatilhos:
 conceito de corte pontual;
 podem ser definidos através deles.
Coletores:
 classe que implementa a interface Collector;
 junção aspecto-conselho se dá pelo framework.
Aparentemente gatilhos podem ser bem mais
complexos do que isso (não fica claro pelo artigo).
Infelizmente, o código deste plug-in também não está
disponível.
Eclipse – tendências
 RCP:
 Decolando aos poucos.
 Maior parte dos passos: IBM.
 Plug-ins:
projetos de educação ligados a Ciências da
Computação
pesquisa em como incrementar ainda mais o poder das
IDEs;
 gerenciamento de interrupções
 programação pareada à distância
 acessibilidade;
Depuração e linguagens: poucos.
Mudança de foco: nenhuma nova IDE.
OOPSLA/ETX – opinião pesoal
Pontos negativos - grupo heterogêneo:
Não foi tão bom assim para conhecer novas
pessoas.
Interatividade menor do que o que eu esperava.
maior parte das discussões centrada em trabalhos
de cunho educacional.
chair incapaz de instigar discussões em outras
áreas.
Pontos positivos:
Muitos trabalhos interessantes.
Excelente experiência.
Principalmente: ir à OOPSLA.
OOPSLA – motivos para ir
OOPSLA – motivos para ir (cont.)
Publicação: de longe não é a única recompensa.
Contato com muita pesquisa séria em OO.
Eventos após os horários de conferência:
computólogos à solta +
bebida =
excelentes oportunidades para falar abobrinha.
Falar abobrinha e fazer contatos.
Interação com:
Pessoas que escrevem os livros que você lê.
Atmosfera descontraída.
Livros que você lê…
 Trojan Proxy
 Encapsulated Big Fat
Opening
 Container-Managed
relationships
 “Half Bad Boy Plus
Protocol”
 “best use of the word
private members I’ve ever
seen”
(Anonymous reviewer)
… pessoas que você respeita.
OOPSLA – mais motivos para ir
Key notes, Invited Speakers, Turing Lecture
Alan Kay
Ward Cunningham
Jaron Lanier
•
•
•
•
Louco, visionário ou ambos?
Comunicação pós-simbólica.
Pós-simbolismo e software.
Singularidade tecnológica.
Aprender nos tutoriais.
Comer mais um pouquinho.
Conhecer lugares e pessoas interessantes.
OOPSLA – pontos negativos
Ganhei 2 quilos.
Homenagem aos desbravadores do
Canada
Perguntas?
Download