1 / 29

OOPSLA ’04/ETX

OOPSLA ’04/ETX. Giuliano Mega. O que é a OOPSLA ? . Conferência anual em O rientação a O bjetos ( OO ). PSLA : P rogramação; S istemas; L inguagens; A plicações; promovida pela ACM desde 1986; 19 a edição (outubro de 2004); uma das mais importantes; certamente a maior delas.

clovis
Download Presentation

OOPSLA ’04/ETX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OOPSLA ’04/ETX Giuliano Mega

  2. 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.

  3. 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…

  4. Estrutura da OOPSLA (cont.) • Workshops • BoFs • Eventos diversos (após os horários de conferência) • Comida. Muita comida. 

  5. 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

  6. 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.

  7. 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;

  8. Strathcona

  9. Strathcona - busca

  10. Strathcona - busca (cont.)

  11. 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.

  12. 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.

  13. 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.

  14. 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.

  15. MEProf – Modular Extensible Profiler • Os requisitos para profiling são heterogêneos: • Baixo nível: • Informações detalhadas sobre o funcionamento de métodos-chave. • 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.

  16. 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).

  17. Profiling Pipeline • Pontas: • Gatilhos + coletores – produzem dados; • Visualizadores – consomem dados. • O restante dos módulos apenas transformam/combinam dados.

  18. Profiling Pipeline (cont.)

  19. 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.

  20. 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.

  21. 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.

  22. OOPSLA – motivos para ir

  23. 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.

  24. 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)

  25. … pessoas que você respeita.

  26. 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.

  27. OOPSLA – pontos negativos • Ganhei 2 quilos.

  28. Homenagem aos desbravadores do Canada

  29. Perguntas?

More Related