SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Linguagem de programação
Darwin.
Índice
• O que é Bioinformática?
• O que é a linguagem de programação LUA?
• O que é o projeto Linux?
• Problema.
• Objetivo geral.
• Objetivos específicos.
• Referências
Bioinformática
• A Bioinformática combina conhecimentos de química,
física, biologia, ciência da computação, informática e
matemática/estatística para processar dados biológicos
ou biomédicos.
• Buscando tratar os dados, é necessário desenvolver
softwares para, por exemplo: identificar genes, prever a
configuração tridimensional de proteínas, identificar
inibidores de enzimas, organizar e relacionar informação
biológica, simular células, agrupar proteínas homólogas,
montar árvores filogenéticas, comparar múltiplas
comunidades microbianas por construção de bibliotecas
genômicas, analisar experimentos de expressão gênica
entre outras inúmeras aplicações.
Bioinformática
• Screenshots para referência de resultados de
processamento de dados por software de bioinformática.
Linguagem de programação LUA
• Lua é uma linguagem de programação poderosa, rápida e
leve, projetada para estender aplicações.
• Lua combina sintaxe simples para programação
procedural com poderosas construções para descrição de
dados baseadas em tabelas associativas e semântica
extensível. Lua é tipada dinamicamente, é interpretada a
partir de bytecodes para uma máquina virtual baseada
em registradores, e tem gerenciamento automático de
memória com coleta de lixo incremental. Essas
características fazem de Lua uma linguagem ideal para
configuração, automação (scripting) e prototipagem
rápida.
Linguagem de programação LUA.
• Lua é usada em muitas aplicações industriais (e.g.,
Adobe's Photoshop Lightroom), com ênfase em sistemas
embutidos (e.g., o middleware Ginga para TV digital) e
jogos (e.g., World of Warcraft). Lua é atualmente a
linguagem de script mais usada em jogos.
Linux
• O linux é o termo utilizado para designar qualquer
sistema operacional que utilize núcleo Linux.
• Construído sobre GPL, permite uma maior liberdade para
a pessoa utilizar, estudar, modificar e distribuir softwares
baseados nesse tipo de licença.
• O Linux utiliza núcleo monolítico, o que permite uma
maior velocidade de execução das tarefas, apesar da
desvantagem de qualquer erro no núcleo ser geralmente
fatal para todo o sistema.
• Sistemas Linux são famosos por sua robustez e
segurança, devido a sua arquitetura.
Problema
• Os softwares para bioinformática necessitam de um
rápido processamento e um alto grau de robustez.
• A linguagem de programação C/C++, cumpre seu papel
de alto desempenho na maior parte das funções de
software necessárias a área de bioinformática, porém
não provê uma boa robustez como a linguagem Java,
devido a filosófia adotada de não existir uma melhor
maneira para se resolver tudo, então o programador é
quem deve cuidar de certas particularidades, como por
exemplo o gerenciamento de memória, ao contrário de
Java que por sua vez perde em desempenho para a
linguagem C/C++ na maior parte das funções de software
necessárias a área de bioinformática, devido a sua
arquitetura, mas permite um alto grau de robustez como
por exemplo o gerenciamento automático de memória.
Problema
• Como podemos ver no benchmark abaixo:
Speed Neighbor-Joining in seconds:
This program reads DNA sequences from a FASTA file and infers an NJ
tree. The tree is printed to the standard output in the newick format.
Problema
• O problema é a falta de uma tecnologia ou um conjunto
de tecnologias (Sistema) voltada especifícamente ao
desenvolvimento de software de bioinformática,
buscando potencializar ao máximo a capacidade de
construção e execução sem erros do referido tipo de
software, o que se aproxima da idéia de linguagem de
domínio específico, ou seja, linguagem que tem como
propósito a solução de problemas específicos.
Exemplo de softwares de domínio específico:
• Linguagem de programação “Logo” para
desenvolvimento de software para crianças.
• Linguagens de programação “Verilog”, “R” e “S” para
desenvolvimento de softwares de estatística.
• Linguagem de programação “Mata” para programação de
matrizes.
Objetivo Geral
• Propor o desenvolvimento de uma tecnologia que
possiblite a programação de software para
bioinformática que ofereça alto grau de robustez,
facilidade, flexibilidade e alto desempenho no
desenvolvimento, teste e execução de software para
bioinformática.
Objetivos Específicos
• Implementar paradigma de orientação a objetos.
• Possuir suporte nativo a linguagem de programação Lua,
para facilitar a integração do software com outras
tecnologias.
• Gerenciamento automático de memória e desalocação
manual.
• Reduzir número de bugs e tempo de desenvolvimento.
• Ser compatível com API C/C++.
• Reduzir o tempo de criação de documentação.
• Ter alto desempenho.
• Ser fácil.
• Possuir sintaxe semelhante a linguagem Lua.
Justificativa
• O presente trabalho se mostra relevante, diante do
crescimento da área de bioinformática no mundo e o
crescimento do Brasil como um centro de ciência e
pesquisa.
• O trabalho e seu resultado deve ser utilizador por
estudantes, pesquisadores e profissionais para o
desenvolvimento de tecnologia em bioinformática, que
se beneficiarão das qualidades do projeto proposto para
ajudar a implementar suas idéias, assim como a
economia da região que deve se beneficiar do avanço
promovido pela tecnologia proposta por esse trabalho.
Referências
• Vogt, Carlos, Bioinformática, genes e inovação, Revista
ComCiência 08/2003.
• Fontoura Costa, Luciono, Bioinformatics: perspectives for
the future, Genet. Mol. Res. 3 (4): 564-574 (2004).
• Language Benchmarks. Disponível em <
http://www.bioinformatics.org/benchmark/results.html>
. Acesso em: 11/09/2010.
• Linguagem de programação LUA. Disponível em <
http://www.lua.org/ >. Acesso em: 11/09/2010.

Weitere ähnliche Inhalte

Andere mochten auch

Logica programar
Logica programarLogica programar
Logica programarManawydan
 
Palestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalhoPalestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalhoJanynne Gomes
 
A Linguagem Lua - Uma abordagem inicial
A Linguagem Lua - Uma abordagem inicialA Linguagem Lua - Uma abordagem inicial
A Linguagem Lua - Uma abordagem inicialFlávio Schuindt
 
Apresentação sobre a linguagem lua
Apresentação sobre a linguagem luaApresentação sobre a linguagem lua
Apresentação sobre a linguagem luaRafael Sanches
 

Andere mochten auch (6)

Logica programar
Logica programarLogica programar
Logica programar
 
Palestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalhoPalestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalho
 
A Linguagem Lua - Uma abordagem inicial
A Linguagem Lua - Uma abordagem inicialA Linguagem Lua - Uma abordagem inicial
A Linguagem Lua - Uma abordagem inicial
 
Apresentação sobre a linguagem lua
Apresentação sobre a linguagem luaApresentação sobre a linguagem lua
Apresentação sobre a linguagem lua
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Slideshare
SlideshareSlideshare
Slideshare
 

Ähnlich wie Linguagem de programação darwin

Congresso iii unifacsv3
Congresso iii unifacsv3Congresso iii unifacsv3
Congresso iii unifacsv3IP10
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09essa
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09essa
 
Congresso iv
Congresso ivCongresso iv
Congresso ivIP10
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
 
Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_ImplementaçãoWagner Zaparoli
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoRegis Magalhães
 
Linguagen..
Linguagen..Linguagen..
Linguagen..essa
 
Introdução a programação em python d3
Introdução a programação em python d3Introdução a programação em python d3
Introdução a programação em python d3Moises de Paula
 
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfPARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfAthena542429
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 
Programação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaProgramação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaRosicleia Frasson
 

Ähnlich wie Linguagem de programação darwin (20)

Congresso iii unifacsv3
Congresso iii unifacsv3Congresso iii unifacsv3
Congresso iii unifacsv3
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
 
Congresso iv
Congresso ivCongresso iv
Congresso iv
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_Implementação
 
Trabalho de sgbd
Trabalho de sgbdTrabalho de sgbd
Trabalho de sgbd
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
Java 01 Java Visao Geral
Java 01 Java Visao GeralJava 01 Java Visao Geral
Java 01 Java Visao Geral
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral Detalhado
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
apostila de dev.pdf
apostila de dev.pdfapostila de dev.pdf
apostila de dev.pdf
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
Linguagen..
Linguagen..Linguagen..
Linguagen..
 
Pré-banca TCC Informática
Pré-banca TCC InformáticaPré-banca TCC Informática
Pré-banca TCC Informática
 
Introdução a programação em python d3
Introdução a programação em python d3Introdução a programação em python d3
Introdução a programação em python d3
 
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfPARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
Programação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaProgramação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com Java
 

Linguagem de programação darwin

  • 2. Índice • O que é Bioinformática? • O que é a linguagem de programação LUA? • O que é o projeto Linux? • Problema. • Objetivo geral. • Objetivos específicos. • Referências
  • 3. Bioinformática • A Bioinformática combina conhecimentos de química, física, biologia, ciência da computação, informática e matemática/estatística para processar dados biológicos ou biomédicos. • Buscando tratar os dados, é necessário desenvolver softwares para, por exemplo: identificar genes, prever a configuração tridimensional de proteínas, identificar inibidores de enzimas, organizar e relacionar informação biológica, simular células, agrupar proteínas homólogas, montar árvores filogenéticas, comparar múltiplas comunidades microbianas por construção de bibliotecas genômicas, analisar experimentos de expressão gênica entre outras inúmeras aplicações.
  • 4. Bioinformática • Screenshots para referência de resultados de processamento de dados por software de bioinformática.
  • 5. Linguagem de programação LUA • Lua é uma linguagem de programação poderosa, rápida e leve, projetada para estender aplicações. • Lua combina sintaxe simples para programação procedural com poderosas construções para descrição de dados baseadas em tabelas associativas e semântica extensível. Lua é tipada dinamicamente, é interpretada a partir de bytecodes para uma máquina virtual baseada em registradores, e tem gerenciamento automático de memória com coleta de lixo incremental. Essas características fazem de Lua uma linguagem ideal para configuração, automação (scripting) e prototipagem rápida.
  • 6. Linguagem de programação LUA. • Lua é usada em muitas aplicações industriais (e.g., Adobe's Photoshop Lightroom), com ênfase em sistemas embutidos (e.g., o middleware Ginga para TV digital) e jogos (e.g., World of Warcraft). Lua é atualmente a linguagem de script mais usada em jogos.
  • 7. Linux • O linux é o termo utilizado para designar qualquer sistema operacional que utilize núcleo Linux. • Construído sobre GPL, permite uma maior liberdade para a pessoa utilizar, estudar, modificar e distribuir softwares baseados nesse tipo de licença. • O Linux utiliza núcleo monolítico, o que permite uma maior velocidade de execução das tarefas, apesar da desvantagem de qualquer erro no núcleo ser geralmente fatal para todo o sistema. • Sistemas Linux são famosos por sua robustez e segurança, devido a sua arquitetura.
  • 8. Problema • Os softwares para bioinformática necessitam de um rápido processamento e um alto grau de robustez. • A linguagem de programação C/C++, cumpre seu papel de alto desempenho na maior parte das funções de software necessárias a área de bioinformática, porém não provê uma boa robustez como a linguagem Java, devido a filosófia adotada de não existir uma melhor maneira para se resolver tudo, então o programador é quem deve cuidar de certas particularidades, como por exemplo o gerenciamento de memória, ao contrário de Java que por sua vez perde em desempenho para a linguagem C/C++ na maior parte das funções de software necessárias a área de bioinformática, devido a sua arquitetura, mas permite um alto grau de robustez como por exemplo o gerenciamento automático de memória.
  • 9. Problema • Como podemos ver no benchmark abaixo: Speed Neighbor-Joining in seconds: This program reads DNA sequences from a FASTA file and infers an NJ tree. The tree is printed to the standard output in the newick format.
  • 10. Problema • O problema é a falta de uma tecnologia ou um conjunto de tecnologias (Sistema) voltada especifícamente ao desenvolvimento de software de bioinformática, buscando potencializar ao máximo a capacidade de construção e execução sem erros do referido tipo de software, o que se aproxima da idéia de linguagem de domínio específico, ou seja, linguagem que tem como propósito a solução de problemas específicos. Exemplo de softwares de domínio específico: • Linguagem de programação “Logo” para desenvolvimento de software para crianças. • Linguagens de programação “Verilog”, “R” e “S” para desenvolvimento de softwares de estatística. • Linguagem de programação “Mata” para programação de matrizes.
  • 11. Objetivo Geral • Propor o desenvolvimento de uma tecnologia que possiblite a programação de software para bioinformática que ofereça alto grau de robustez, facilidade, flexibilidade e alto desempenho no desenvolvimento, teste e execução de software para bioinformática.
  • 12. Objetivos Específicos • Implementar paradigma de orientação a objetos. • Possuir suporte nativo a linguagem de programação Lua, para facilitar a integração do software com outras tecnologias. • Gerenciamento automático de memória e desalocação manual. • Reduzir número de bugs e tempo de desenvolvimento. • Ser compatível com API C/C++. • Reduzir o tempo de criação de documentação. • Ter alto desempenho. • Ser fácil. • Possuir sintaxe semelhante a linguagem Lua.
  • 13. Justificativa • O presente trabalho se mostra relevante, diante do crescimento da área de bioinformática no mundo e o crescimento do Brasil como um centro de ciência e pesquisa. • O trabalho e seu resultado deve ser utilizador por estudantes, pesquisadores e profissionais para o desenvolvimento de tecnologia em bioinformática, que se beneficiarão das qualidades do projeto proposto para ajudar a implementar suas idéias, assim como a economia da região que deve se beneficiar do avanço promovido pela tecnologia proposta por esse trabalho.
  • 14. Referências • Vogt, Carlos, Bioinformática, genes e inovação, Revista ComCiência 08/2003. • Fontoura Costa, Luciono, Bioinformatics: perspectives for the future, Genet. Mol. Res. 3 (4): 564-574 (2004). • Language Benchmarks. Disponível em < http://www.bioinformatics.org/benchmark/results.html> . Acesso em: 11/09/2010. • Linguagem de programação LUA. Disponível em < http://www.lua.org/ >. Acesso em: 11/09/2010.