SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
06/05/2021
Código Declarativo com JavaScript
> Alexandre Cysne Esteves
< Analista de Sistemas Java >
< Fábrica de Software GlobalWeb>
Código Declarativo com JavaScript
</> Você sabe como usar código declarativo com JavaScript?
</> Quais são os tipos de paradigmas?
</> Imperativo ou Declarativo?
</> Quais as diferenças dos paradigmas de programação imperativa e
declarativa?
</> Quais as vantagens e desvantagens?
Código Declarativo com JavaScript
</> Quais são os paradigmas de programação mais importantes?
</> Por que é importante aprender sobre paradigmas de programação?
</> JavaScript é uma linguagem multiparadigma, mas o que isso
significa?
</> Um paradigma é melhor que o outro?
Paradigma de Programação?
</> As linguagens de programação modernas se enquadram em
duas categorias: imperativo (também chamado de procedural) e
declarativo (também chamada de funcional).
</> Os paradigmas de programação são, antes de tudo, um meio de
qualificar a linguagem com base em sua funcionalidade. São atributos
que expressam como uma linguagem funciona e também soluciona
problemas.
Teoria e Conceitos
</> Conforme vamos nos adquirindo de conhecimento ao longo de
nossa caminhada profissional, nos deparamos com diversas
linguagens de programação, mas muito mais empolgante do que
aprender uma nova linguagem de programação é aprender um novo
paradigma de programação.
Programação Imperativa?
</> “Programação imperativa é quando você diz como fazer.”
A Programação Imperativa se baseia em especificar os passos que um
programa deve seguir para alcançar um estado desejado.
Programação
Imperativa
TestaCPF
Programação
Imperativa
validate(cpf: str)
Programação
Imperativa
Mathematical
Formula
Translation
System
Programação Imperativa?
</> Vantagens
Eficiência
Modelagem natural dos problemas do mundo real
Consolidado e com dominância de mercado
Bem estabelecido
</> Desvantagens
Foca no “COMO” e não o “QUE” precisa ser feito
Difícil legibilidade
Programação Declarativa?
</> “Programação declarativa é quando você diz o que você quer.”
É um paradigma de programação baseado em programação funcional,
programação lógica ou programação restritiva. Um programa se diz
declarativo quando descreve o que ele faz e não como seus
procedimentos funcionam. Na programação declarativa, não há a ideia
de estado do programa, como ocorre na programação imperativa
Programação Declarativa?
</> Vantagens
Reduzir efeito colaterais
Minimizar mutabilidade
Mais legibilidade e menos bugs
</> Desvantagens
Não oferece alocação explícita de memória ou declaração explícita de
variáveis, necessários para a resolução de muitos problemas reais.
Declarativa x Imperativa
</>
Declarativa x Imperativa
</>
</> Outros exemplos?
Declarativa x Imperativa
Programação
Declarativa
Programação
Declarativa
</> Exemplos do dia a dia?
Declarativa x Imperativa
</> Perguntas?
Código Declarativo com JavaScript
</> Opiniões?
</> Exemplos?
</> Obrigado.
Código Declarativo com JavaScript

Mais conteúdo relacionado

Semelhante a 1º GLOBALWEB DEVSUMMIT_ 2021

Manual de Usuario OpenErp v7 Português Brasil
Manual de Usuario OpenErp v7 Português BrasilManual de Usuario OpenErp v7 Português Brasil
Manual de Usuario OpenErp v7 Português BrasilFábio Martinelli
 
Programação Pragmática
Programação PragmáticaProgramação Pragmática
Programação Pragmáticaelliando dias
 
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosTDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosRafael Chaves
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
 
Métodos Ágeis para Desenvolvimento de Software
Métodos Ágeis para Desenvolvimento de SoftwareMétodos Ágeis para Desenvolvimento de Software
Métodos Ágeis para Desenvolvimento de Softwarealexandre_malaquias
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaRalph Rassweiler
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Gabriel Rubens
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Developer Academy
 
Arquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioArquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioRalph Rassweiler
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Rennan Martini
 
Engenharia Software Rup
Engenharia Software   RupEngenharia Software   Rup
Engenharia Software RupFelipe
 
Engenharia software rup
Engenharia software   rupEngenharia software   rup
Engenharia software rupFelipe
 

Semelhante a 1º GLOBALWEB DEVSUMMIT_ 2021 (20)

Manual de Usuario OpenErp v7 Português Brasil
Manual de Usuario OpenErp v7 Português BrasilManual de Usuario OpenErp v7 Português Brasil
Manual de Usuario OpenErp v7 Português Brasil
 
01 aula1 habib
01 aula1 habib01 aula1 habib
01 aula1 habib
 
Programação Pragmática
Programação PragmáticaProgramação Pragmática
Programação Pragmática
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Vamos falar de DevOps?
Vamos falar de DevOps?Vamos falar de DevOps?
Vamos falar de DevOps?
 
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosTDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Refactoring
RefactoringRefactoring
Refactoring
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
Métodos Ágeis para Desenvolvimento de Software
Métodos Ágeis para Desenvolvimento de SoftwareMétodos Ágeis para Desenvolvimento de Software
Métodos Ágeis para Desenvolvimento de Software
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e prática
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
 
Arquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioArquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócio
 
Planning Onion
Planning OnionPlanning Onion
Planning Onion
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)
 
Xamarin UI Test + BDD Specflow
Xamarin UI Test + BDD SpecflowXamarin UI Test + BDD Specflow
Xamarin UI Test + BDD Specflow
 
Engenharia Software Rup
Engenharia Software   RupEngenharia Software   Rup
Engenharia Software Rup
 
Engenharia software rup
Engenharia software   rupEngenharia software   rup
Engenharia software rup
 
Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
 

Mais de Alexandre Cysne Esteves

Mais de Alexandre Cysne Esteves (6)

(ASES) 12 homens e uma sentença
(ASES) 12 homens e uma sentença(ASES) 12 homens e uma sentença
(ASES) 12 homens e uma sentença
 
(CSCW) O estado da arte dos modelos de maturidade na colaboração organizacional
(CSCW) O estado da arte dos modelos de maturidade na colaboração organizacional(CSCW) O estado da arte dos modelos de maturidade na colaboração organizacional
(CSCW) O estado da arte dos modelos de maturidade na colaboração organizacional
 
(CSCW) Awareness and Coordination in Shared Workspaces
(CSCW) Awareness and Coordination in Shared Workspaces(CSCW) Awareness and Coordination in Shared Workspaces
(CSCW) Awareness and Coordination in Shared Workspaces
 
(CSCW) Interaction and Outeraction
(CSCW) Interaction and Outeraction(CSCW) Interaction and Outeraction
(CSCW) Interaction and Outeraction
 
Vigie seus julgamentos
Vigie seus julgamentosVigie seus julgamentos
Vigie seus julgamentos
 
BR Cube
BR CubeBR Cube
BR Cube
 

1º GLOBALWEB DEVSUMMIT_ 2021