SlideShare a Scribd company logo
1 of 12
Download to read offline
Prof. Adriano Teixeira de Souza
   Lógico

    ◦ Não é Capaz de Gerir Banco de Dados

    ◦ Variáveis Não Tipadas

    ◦ Utiliza Lógica de Predicados

    ◦ Enfoque em “oque” o sistema deve fazer e não o
      “como”

    ◦ Busca por uma solução aceitável ao invés de uma
      solução ótima



                              Prof. Adriano Teixeira de Souza
   Funcional

    ◦ Programa = Conjunto de Funções

    ◦ Funções obedecem aos princípios matemáticos

    ◦ O Interpretador funciona como calculadora

    ◦ Não possui estrutura de dados

    ◦ Não é capaz de Gerir Banco de Dados


                           Prof. Adriano Teixeira de Souza
   Imperativo

    ◦ Permite utilização de Estrutura de Dados

    ◦ Possui Funções e Procedimentos

    ◦ Possui Variáveis Tipadas

    ◦ Possui Gerência de Banco de Dados

    ◦ Estrutura do programa semelhante a executada pela
      máquina.


                             Prof. Adriano Teixeira de Souza
   Orientado a Objeto
    ◦ Possui gerência de Banco de Dados

    ◦ Encapsulamento

    ◦ Reuso de código e facilidade de manutenção

    ◦ Abstração semelhante ao mundo real

    ◦ Polimorfismo

    ◦ Classe, objetos e métodos



                             Prof. Adriano Teixeira de Souza
   Lógico

    ◦ Usado principalmente em empresas de I.A


    ◦ Atrai pelo desenvolvimento barato


    ◦ Destaca-se pelo tempo de desenvolvimento reduzido


    ◦ Suporte rápido as necessidades do mercado
   Funcional

    ◦ Usada também para projetos de I.A principalmente Redes
      Neurais.


    ◦ Possui recursos poderosos de interação com outros
      ambientes de programação e com paradigmas de
      programação O.O


    ◦ Usada para problemas de solução matemática.
   Imperativo

    ◦ Largamente utilizado em soluções com ênfase na programação
      algorítmica.


       Exemplos: Problemas de busca, otimização, resolução de equações.


    ◦ Grandes sistemas comerciais em atividade utilizam esta
      abordagem tecnológica.


    ◦ Atualmente, vêm cedendo espaço ao paradigma OO, já que as
      manutenções e atualizações são onerosas e complexas.
   Orientado a Objeto

    ◦ É crescente a quantidade de projetos de software em que o
      tratamento estruturado é ineficaz;


    ◦ Surge o paradigma OO acrescendo características inovadoras às
      metodologias estruturadas. Possibilita a divisão de problemas em
      subgrupos;


    ◦ Utilizado comumente em aplicações comerciais, animação gráfica,
      banco de dados entre outros.
   Um ambiente de programação é um conjunto de
    ferramentas usadas no desenvolvimento de software:
    ◦ Ferramentas necessárias:
      Editores de texto para a escrita de programas fonte.
      Compiladores ou interpretadores para a obtenção de programas
       objeto.
      Ligadores e carregadores de código para a obtenção de
       programas executáveis.

    ◦ Ferramentas úteis:
      Depuradores de código.
      Visualizadores de programas.
      Ferramentas de auxílio sintático/semântico.
      Geradores de código, a exemplo de geradores de interfaces
       gráficas.
      Interpretadores passo a passo.



                                 Prof. Adriano Teixeira de Souza
   Tipos:

    ◦ Linux/Unix: sistema operacional com coleção de
      ferramentas livres em diversas linguagens.

    ◦ Microsoft Visual Studio: grande e elaborada coleção de
      ferramentas visuais para plataforma DotNet.

    ◦ Eclipse: ferramenta moludar utilizada para o
      desenvolvimento em diversas linguagens (Java, C/C++,
      Python, Ruby, PHP, etc)

    ◦ NetBeans: ambiente para desenvolvimento em diversas
      linguagens (Java, C/C++, PHP, Ruby)



                              Prof. Adriano Teixeira de Souza
   Ambiente integrado de desenvolvimento de
    software: várias ferramentas integradas e que
    interagem para prestar serviço aos
    desenvolvedores.

   Quanto mais complexa é a atividade de
    desenvolvimento, mais completos e sofisticados
    devem ser os ambientes de desenvolvimento:
    ◦ Ferramentas de controle de versões.
    ◦ Ferramentas de integração de componentes.
    ◦ Ferramentas para localizar código passível de
      reutilização.
    ◦ Preparação para instalação de software.
    ◦ Documentação, etc.


                              Prof. Adriano Teixeira de Souza

More Related Content

What's hot

Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de ProgramaçãoBeDMK
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programaçãoAlbertoVach
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação Marcos Gregorio
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programaçãoessa
 
Critérios de avaliação de linguagens
Critérios de avaliação de linguagensCritérios de avaliação de linguagens
Critérios de avaliação de linguagensPaulo Muniz
 
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
 
Introdução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoIntrodução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoJessica Ribeiro
 
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1Ismar Silveira
 
Paradigmas de Linguagens de Programação
Paradigmas de Linguagens de ProgramaçãoParadigmas de Linguagens de Programação
Paradigmas de Linguagens de ProgramaçãoFabio Spanhol
 
Paradigmas de Programação - Imperativo, Orientado a Objetos e Funcional
Paradigmas de Programação - Imperativo, Orientado a Objetos e FuncionalParadigmas de Programação - Imperativo, Orientado a Objetos e Funcional
Paradigmas de Programação - Imperativo, Orientado a Objetos e FuncionalGustavo Coutinho
 
Plp aula-02-critérios de avaliação
Plp aula-02-critérios de avaliaçãoPlp aula-02-critérios de avaliação
Plp aula-02-critérios de avaliaçãoJosé Meirelles
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de ProgramaçãoNatanael Simões
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativoTony Alexander Hild
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação12anogolega
 

What's hot (20)

Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Critérios de avaliação de linguagens
Critérios de avaliação de linguagensCritérios de avaliação de linguagens
Critérios de avaliação de linguagens
 
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
 
Introdução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoIntrodução a Linguagem de Programação
Introdução a Linguagem de Programação
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
01 aula1 habib
01 aula1 habib01 aula1 habib
01 aula1 habib
 
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1
 
Paradigmas de Linguagens de Programação
Paradigmas de Linguagens de ProgramaçãoParadigmas de Linguagens de Programação
Paradigmas de Linguagens de Programação
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Paradigmas de Programação - Imperativo, Orientado a Objetos e Funcional
Paradigmas de Programação - Imperativo, Orientado a Objetos e FuncionalParadigmas de Programação - Imperativo, Orientado a Objetos e Funcional
Paradigmas de Programação - Imperativo, Orientado a Objetos e Funcional
 
Plp aula-02-critérios de avaliação
Plp aula-02-critérios de avaliaçãoPlp aula-02-critérios de avaliação
Plp aula-02-critérios de avaliação
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de Programação
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativo
 
Software
SoftwareSoftware
Software
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
 

Similar to Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Programação

Paradigmas de Linguagens de Programação - Estruturas de Controle
Paradigmas de Linguagens de Programação - Estruturas de ControleParadigmas de Linguagens de Programação - Estruturas de Controle
Paradigmas de Linguagens de Programação - Estruturas de ControleAdriano Teixeira de Souza
 
aula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxaula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxMarcondesTiburcio
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de SoftwareLeinylson Fontinele
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
Aula 02 informática aplicada - sistemas operacionais
Aula 02  informática aplicada - sistemas operacionaisAula 02  informática aplicada - sistemas operacionais
Aula 02 informática aplicada - sistemas operacionaisRobson Ferreira
 
It skills para rh aprender e contratar
It skills para rh  aprender e contratarIt skills para rh  aprender e contratar
It skills para rh aprender e contratarAle Uehara
 
Introdução ao Domain-Driven Design
Introdução ao Domain-Driven DesignIntrodução ao Domain-Driven Design
Introdução ao Domain-Driven DesignAndré Borgonovo
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Renato Groffe
 
Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwareTiago Barros
 
Pipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasPipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasAécio Pires
 
Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxRoberto Nunes
 
Aula processo de reuso de software
Aula processo de reuso de softwareAula processo de reuso de software
Aula processo de reuso de softwareTatiana Tavares
 
26 03 09_-_mercado_de_trabalho_em_ti
26 03 09_-_mercado_de_trabalho_em_ti26 03 09_-_mercado_de_trabalho_em_ti
26 03 09_-_mercado_de_trabalho_em_tiMarcelo Avila
 

Similar to Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Programação (20)

Paradigmas de Linguagens de Programação - Estruturas de Controle
Paradigmas de Linguagens de Programação - Estruturas de ControleParadigmas de Linguagens de Programação - Estruturas de Controle
Paradigmas de Linguagens de Programação - Estruturas de Controle
 
aula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxaula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptx
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
 
Comparativo do uso de linguagens de programação e geradores de código no dese...
Comparativo do uso de linguagens de programação e geradores de código no dese...Comparativo do uso de linguagens de programação e geradores de código no dese...
Comparativo do uso de linguagens de programação e geradores de código no dese...
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Aula 02 informática aplicada - sistemas operacionais
Aula 02  informática aplicada - sistemas operacionaisAula 02  informática aplicada - sistemas operacionais
Aula 02 informática aplicada - sistemas operacionais
 
It skills para rh aprender e contratar
It skills para rh  aprender e contratarIt skills para rh  aprender e contratar
It skills para rh aprender e contratar
 
Introdução ao Domain-Driven Design
Introdução ao Domain-Driven DesignIntrodução ao Domain-Driven Design
Introdução ao Domain-Driven Design
 
Fundamentos Java - 01
Fundamentos Java - 01Fundamentos Java - 01
Fundamentos Java - 01
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
 
Aula 1a.ppt
Aula 1a.pptAula 1a.ppt
Aula 1a.ppt
 
Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de Software
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
Pipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasPipeconf no CoffeOps Campinas
Pipeconf no CoffeOps Campinas
 
Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptx
 
Linear Engineering
Linear EngineeringLinear Engineering
Linear Engineering
 
Gt 2 – ferramentas
Gt 2 – ferramentasGt 2 – ferramentas
Gt 2 – ferramentas
 
Engenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - IntroEngenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - Intro
 
Aula processo de reuso de software
Aula processo de reuso de softwareAula processo de reuso de software
Aula processo de reuso de software
 
26 03 09_-_mercado_de_trabalho_em_ti
26 03 09_-_mercado_de_trabalho_em_ti26 03 09_-_mercado_de_trabalho_em_ti
26 03 09_-_mercado_de_trabalho_em_ti
 

More from Adriano Teixeira de Souza

Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Adriano Teixeira de Souza
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasAdriano Teixeira de Souza
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Adriano Teixeira de Souza
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Adriano Teixeira de Souza
 
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSSistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSAdriano Teixeira de Souza
 
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Adriano Teixeira de Souza
 
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaParadigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaAdriano Teixeira de Souza
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Adriano Teixeira de Souza
 
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)Adriano Teixeira de Souza
 

More from Adriano Teixeira de Souza (20)

Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores Binárias
 
Estrutura de dados em Java - Pilhas
Estrutura de dados em Java - PilhasEstrutura de dados em Java - Pilhas
Estrutura de dados em Java - Pilhas
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - FilasEstrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória
 
Estrutura de dados em Java - Recursividade
Estrutura de dados em Java - RecursividadeEstrutura de dados em Java - Recursividade
Estrutura de dados em Java - Recursividade
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
 
Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSSistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
 
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
 
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaParadigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
 
Estrutura de dados - Árvores Binárias
Estrutura de dados - Árvores BináriasEstrutura de dados - Árvores Binárias
Estrutura de dados - Árvores Binárias
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
 
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
 

Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Programação

  • 2. Lógico ◦ Não é Capaz de Gerir Banco de Dados ◦ Variáveis Não Tipadas ◦ Utiliza Lógica de Predicados ◦ Enfoque em “oque” o sistema deve fazer e não o “como” ◦ Busca por uma solução aceitável ao invés de uma solução ótima Prof. Adriano Teixeira de Souza
  • 3. Funcional ◦ Programa = Conjunto de Funções ◦ Funções obedecem aos princípios matemáticos ◦ O Interpretador funciona como calculadora ◦ Não possui estrutura de dados ◦ Não é capaz de Gerir Banco de Dados Prof. Adriano Teixeira de Souza
  • 4. Imperativo ◦ Permite utilização de Estrutura de Dados ◦ Possui Funções e Procedimentos ◦ Possui Variáveis Tipadas ◦ Possui Gerência de Banco de Dados ◦ Estrutura do programa semelhante a executada pela máquina. Prof. Adriano Teixeira de Souza
  • 5. Orientado a Objeto ◦ Possui gerência de Banco de Dados ◦ Encapsulamento ◦ Reuso de código e facilidade de manutenção ◦ Abstração semelhante ao mundo real ◦ Polimorfismo ◦ Classe, objetos e métodos Prof. Adriano Teixeira de Souza
  • 6. Lógico ◦ Usado principalmente em empresas de I.A ◦ Atrai pelo desenvolvimento barato ◦ Destaca-se pelo tempo de desenvolvimento reduzido ◦ Suporte rápido as necessidades do mercado
  • 7. Funcional ◦ Usada também para projetos de I.A principalmente Redes Neurais. ◦ Possui recursos poderosos de interação com outros ambientes de programação e com paradigmas de programação O.O ◦ Usada para problemas de solução matemática.
  • 8. Imperativo ◦ Largamente utilizado em soluções com ênfase na programação algorítmica.  Exemplos: Problemas de busca, otimização, resolução de equações. ◦ Grandes sistemas comerciais em atividade utilizam esta abordagem tecnológica. ◦ Atualmente, vêm cedendo espaço ao paradigma OO, já que as manutenções e atualizações são onerosas e complexas.
  • 9. Orientado a Objeto ◦ É crescente a quantidade de projetos de software em que o tratamento estruturado é ineficaz; ◦ Surge o paradigma OO acrescendo características inovadoras às metodologias estruturadas. Possibilita a divisão de problemas em subgrupos; ◦ Utilizado comumente em aplicações comerciais, animação gráfica, banco de dados entre outros.
  • 10. Um ambiente de programação é um conjunto de ferramentas usadas no desenvolvimento de software: ◦ Ferramentas necessárias:  Editores de texto para a escrita de programas fonte.  Compiladores ou interpretadores para a obtenção de programas objeto.  Ligadores e carregadores de código para a obtenção de programas executáveis. ◦ Ferramentas úteis:  Depuradores de código.  Visualizadores de programas.  Ferramentas de auxílio sintático/semântico.  Geradores de código, a exemplo de geradores de interfaces gráficas.  Interpretadores passo a passo. Prof. Adriano Teixeira de Souza
  • 11. Tipos: ◦ Linux/Unix: sistema operacional com coleção de ferramentas livres em diversas linguagens. ◦ Microsoft Visual Studio: grande e elaborada coleção de ferramentas visuais para plataforma DotNet. ◦ Eclipse: ferramenta moludar utilizada para o desenvolvimento em diversas linguagens (Java, C/C++, Python, Ruby, PHP, etc) ◦ NetBeans: ambiente para desenvolvimento em diversas linguagens (Java, C/C++, PHP, Ruby) Prof. Adriano Teixeira de Souza
  • 12. Ambiente integrado de desenvolvimento de software: várias ferramentas integradas e que interagem para prestar serviço aos desenvolvedores.  Quanto mais complexa é a atividade de desenvolvimento, mais completos e sofisticados devem ser os ambientes de desenvolvimento: ◦ Ferramentas de controle de versões. ◦ Ferramentas de integração de componentes. ◦ Ferramentas para localizar código passível de reutilização. ◦ Preparação para instalação de software. ◦ Documentação, etc. Prof. Adriano Teixeira de Souza