O GoConqr está de visual novo! Conte para nós o que você achou.

Mapa mental

INTRODUÇÃO AOS PARADIGMAS DAS LINGUAGENS DE PROGRAMAÇÃO

cleversonsh Português

Conteúdo do mapa

INTRODUÇÃO AOS PARADIGMAS DAS LINGUAGENS DE PROGRAMAÇÃO

  1. ASSIM COMO TODA A PARTE DE HARDWARE, SOFREU VÁRIAS MUDANÇAS AO LONGO DOS ANOS, A FÓRMA COMO SE PROGRAMA TAMBÉM MODIFICOU-SE, DE ACORDO COM A VISÃO DE CADA LINGUAGEM PROJETADA. CRIOU-SE TAMBÉM VÁRIOS PARADIGMAS DA PROGRAMAÇÃO.

  2. QUAL O SIGNIFICADO DE PARADIGMA?

    • O TERMO SIGNIFICA MODELO, OU SEJA, A DEFINIÇÃO DE UM PADRÃO A SER SEGUIDO.
      • O CONCEITO NASCEU EM 1900 A PRINCIPIO RELACIONAVA-SE SOMENTE A LINGUAGEM E COMUNICAÇÃO HUMANA, MAIS TARDE FOI UTILIZADO TAMBÉM NA COMPUTAÇÃO.
  3. O PARADIGMA DE PROGRAMAÇÃO, DEFINE A FÓRMA DE COMO FAZER A ESTRUTURAÇÃO DAS INSTRUÇÕES EM UMA DETERMINADA LING. UTILIZADA PELO PROGRAMADOR, AFIM DE DESENVOLVER UM PROG. CAPAZ DE REALIZAR DETERMINADAS TAREFAS.

  4. ATUALMETE É FORMADO POR DOIS GRUPOS PRICIPAIS E SUBDIVIDIDA EM NOVOS GRUPOS

    • 2- PROGRAMAÇÃO DECLARATIVA
      • É UM TIPO DE LINGUAGEM QUE O PROGRAMADOR DESCREVE, "Q META UMA TAREFA TEM", SEM ESCREVER O CÓDIGO P/ REALIZAÇÃO DA TAREFA.( EX:" Ñ DESCREVE COMO ELA "DEVERÁ SERÁ REALIZADA"). SENDO O OPOSTO DA IMPERATIVA.
        • APRESENTA VÁRIAS VANTAGENS EM COMPARAÇÃO COM OUTRAS LINGUAGENS, ONDE É PRECISO REALMENTE ESCREVER TODO O CÓDIGO Q DEFINE O PROGRAMA E COMO ELE DEVE REALIZAR AS TAREFAS.
          • SÃO PROGRAMAS FEITOS EM LING.DECLARATIVA SÃO MENORES SE COMPARADO COM PROG. FEITOS EM LING.IMPERATIVA
            • EXEMPLOS DE LINGUAGEM DECLARATIVA
              • HTML
              • SQL
                • SITE UTILIZADO NA MINHA PESQUIZA SOBRE ESTE ASSUNTO P/ MINHAS FUTURAS PESQUIZAS: http://pt.wingwit.com/P/computer-programming-languages/ 86807.html#.VSqcKrVFDmQ
              • PROLOG
      • 2.1- PROGRAMÃÇÃO FUNCIONAL
        • É UM PARADIGMA Q TRATA A COMPUTAÇÃO COMO UMA AVALIAÇÃO DE "FUNÇÃO MATEMÁTICA", EVITANDO "ESTADOS" OU "DADOS MÚTAVEIS".
          • DESTA FÓRMA UMA FUNÇÃO PÓDE OU Ñ TER "PARAMETROS" E UM SIMPLES VALOR DE RETORNO. ONDE OS "PARAMETROS" SÃO OS "VALORES DE ENTRADA" DA "FUNÇÃO" E O VALOR DE "RETORNO" É O RESULTADO DA FUNÇÃO.
            • A DEFINIÇÃO DE UMA "FUNÇÃO" DIZ COMO A FUNÇÃO SERÁ AVALIADA EM COMPARAÇÃO A OUTRAS FUNÇÕES.
              • EXEMPLO
                • A FUNÇÃO "f(x) = x^2 + 2 ) É DEFINIDA EM TERMOS DE FUNÇÕES DE "EXPONENCIAÇÃO" E "ADIÇAO". DO MESMO MODO A LING. DEVE OFERECER FUNÇÕES BÁSICAS Q Ñ REQUEREM DEFINIÇÕES ADICIONAIS.
                • EX: DE LING. Q'SE UTILIZAM DESSA ABORDAGEM
                  • APL, F#
                  • LISP, ML
                  • HASKELL
                  • OCAML
          • VANTAGEM
            • POSSUI MAIOR TRANSPARENCIA REFERENCIAL, JÁ Q O PROG. É COMPOSTO POR FUNÇÕES, FICANDO FÁCIL, VERRIFICAR O CÓDIGO.
              • DESVANTAGEM
                • Ñ OFERECE ALOCAÇÃO EXPLICITA DE MEMÓRIA E NEM DECLARAÇÃO EXPLICITA DE VÁRIAVEIS, NECESSÁRIOS P/ SANAR PROBLEMAS REAIS.
        • 2.2- PROGRAMAÇÃO LÓGICA
          • É UM PARADIGMA Q FAZ USO DA LÓGICA MATEMÁTICA, P/ RESOLVER PROBLEMAS POR MEIO DE VALORES OU OBJETOS E RELAÇÕES ENTRE OS MESMOS, FORMULANDO AS SUAS PROPOSIÇÕES E REGRAS. (PROPOSTA PELA PRIMEIRA VEZ POR: "JOHN McCarthy" EM "1958" P/ USO DENTRO DA PROGRAMAÇÃO).
            • A "PRIMEIRA LING.D'PROG. LÓGICA" FOI O "PLANNER" A QUAL PERMITIA A INVOCAÇÃO ORIENTADA A PADRÕES DE PLANOS PROCEDIMENTAIS DE ASSERCÕES E OBJETIVOS. FAZIA-SE NESCESSÁRIO DEVIDO AO SISTEMAS COM "MEMÓRIA MUITO LIMITADAS", Q ERAM AS ÚNICAS DISPONIVEIS QUANDO FOI DESENVOLVIDO A LING.
              • USAVA "ESTRUTURAS DE CONTROLE" DE "BACKTRACKING", Q APENAS UM CAMINHO COMPUTACIONAL ERA ARMAZENADO POR VEZ.
              • O "PROLOG" FOI A "SEGUNDA" ELE FOI DESENVOLVIDO NUMA FÓRMA SIMPLIFICADA DO "PLANNER", Q PERMITIA A INVOCAÇÃO ORIENTADA A PADRÕES APENAS APARTIR DE OBJETIVOS (TBM FOI BASEADO EM "BACKTRACKING").
                • APARTIR DO "PROLOG" FORAM DESENVOLVIDAS AS SEGUINTES LING:
                  • MERCURY, VISUAL PROLOG, OZ E FRILL.
              • APARTIR DO "PLANNER" FORAM DESENVOLVIDAS OUTRAS LING. DENTRE ELAS PODEMOS DESTACAR:
                • QA-4, POPLER,CONNIVER E QISP.
            • VANTAGEM
              • DESVANTAGEM
                • PODE HAVER "EXPLOSÃO COMBINATORIAL" DA BASE DE CONHECIMENTO LEVANDO AO DESPERDÍCIO DE RECURSO COMPUTACIONAIS.
              • MUITO UTEIS EM PROBLEMAS Q POSSAM SER RESOLVIDOS POR MEIO DE DEDUÇÃO OU INFERÊNCIA
          • 2.3- PROGRAMAÇÃO RESTRITIVA
            • NASCEU DA PROGRAMAÇÃO LÓGICA, MOTIVO PELO QUAL VÁRIOS AUTORES A APONTAM COMO PARTE DA MESMA. HOJE JÁ EXISTEM IMPLEMENTAÇÕES BASEADAS EM "PROG.FUNCIONAL" (COMO EM "OZ") E NA "PROG.IMPERATIVA" (COMO EM "KALEIDOSCOP).
              • SE REFERE AO USO DE RESTRIÇÕES NA CONSTRUÇÃO DAS RELAÇÕES ENTRE VARIÁVEIS, DE FÓRMA GERAL AS RESTRIÇÕES SÃO IMPLEMEMTADAS COMO UMA EXTENSÃO DE UMA LING. JÁ EXISTENTE.
                • SEU USO PÓDE SER NECESSÁRIO NOS PROBLEMAS CUJA SOLUÇÃO POSSA SER RESTRITA A UM NÚMERO DE VALORES. ESSE TIPO DE PROBLEMA É CHAMADO DE "CSP"(CONSTRAIT SATISFACTION PROBLEM) NO QUAL SÃO DADOS:
                  • .UM CONJUNTO FINITO DE VARIÁVEIS
                    • .UMA FUNÇÃO Q MAPEIA CADA VARIÁVEL A UM DOMINIO FINITO
                      • .UM CONJUNTO FINITO DE RESTRIÇÕES
            • 3.0- LING. DE PROG. MULTIPARADIGMA
              • É A LING. Q SUPÓRTA MAIS DE UM PARADIGMA DE PROG. A IDÉIA DESTA LING. DE PROG. É FORNECER UM "FRAMEWORK" NO QUAL O PROGRAMADOR PÓDE TRABALHARA COMO VÁRIOS ESTILOS DE PARADIGMAS SIMULTANEAMENTE, MISTURANDO-OS LIVREMENTE.
                • BASEIA-SE TAMBÉM NA IDÉIA DE QUE NENHUM PARADIGMA POR SI SÓ, CONSEGUE RESOLVER A TODOS OS PROBLEMAS DA MANEIRA MAIS ELEGANTE OU MESMO EFICIENTE.
                  • UM EXEMPLO DE LING. MULTIPARADIGMA É O:
                    • C++
                      • PERMITE A PROG. ESTRUTURADA, PROG. ORIENTADA A OBJETO E PROG. CONCORRENTE.
                        • VANTAGEM
                          • DESVANTAGEM
                            • POR INCORPORAR VÁRIAS LING. PODE SER DE DIFICIL COMPREENSÃO.
                          • O PROGRAMADOR PODE USAR O PARADIGMA Q PREFERIR EM SUA EMPLEMENTAÇÃO.
                      • OUTRAS
                        • GROOVY, OZ,RUBBY E SCALA
    • 1- PROGRAMAÇÃO IMPERATIVA
      • NO PARADIGMA IMPERATIVO, HÁ GRANDE PREUCUPAÇÃO COM O DETALHAMENTO E FUNCIONAMENTO DO PROGRAMA
        • É VISTO COMO UM CONJUNTO DE ROTINAS E SUBROTINAS (TAMBÉM CONHECIDAS COMO "PROCEDURAL OU PROCIDIMENTAL") ENFATIZAN-SE AS MUDANÇAS DE ESTADO DO PROG. (REGIST. POR MEIO DA VAR. GLOBAIS E LOCAIS)
          • A UM FOCO MAIOR EM COMO UM "PROG. DEVE EXEC. UMA TAREFA", AO INVÉS DE FOCAR "ENQUE O PROG. DEVE FAZER.
      • 1.1- PROGRAMAÇÃO ESTRUTURADA
        • O PROGRAMADOR DEVE ESCREVER TODO O SEU PROG. POR MEIO DE INSTRUÇÕES, ESTRUTURAS DE DADOS E SUBROTINAS.
          • ALGUMAS LING. DE PROG. CONSIDERADAS ESTRUTURADAS SÃO:
            • PASCAL, C, COBOL E FORTRAN.
              • VANTAGENS
                • GERELMENTE SÃO LING. FACEIS DE SEREM APRENDIDAS , JÁ Q ENVOLVE UM MENOR NÚMERO DE COCEITOS DISTINTOS EM COMPARAÇÃO A OUTROS PARADIGMAS. PERMITE A MODULARIZAÇÃO: "OU SEJA A DIVISÃO EM MÓDULOS INDEPENDETES LÓGICOS E FISICAMENTE, FACILITANDO A CRIAÇÃO DE SISTEMAS E A MANUTENÇÃO DOS MESMOS". "UTEIS NOS PROBLEMAS + SIMPLES.
              • DESVANTAGENS
                • APRESSENTA NIIVEIS MAIORES DE DIFICULDADE, QUANDO NECESSITA REPRESENTAR SOLUÇÕES "PRÁTICAS NO MUNDO REAL", Q NA SUA MAIORIA SÃO MAIS COMPLEXOS. APRESENTAM TBM DIFICULDADES EM SE MANTER QUANDO EMPREGADO EM PROBLEMAS MAIS COMPLEXOS, GERALMENTE PROBLEMAS ONDE CONCEITOS COMO HERANÇA E POLIMORFISMO PODERIAM AUDAR A ABSTRAIR PARTE DOS MESMOS.
        • 1.2- PROGRAMAÇÃO ORIENTADA A OBJETOS
          • É CONSTITUIDO POR 4 PILARES
            • ABSTRAÇAO
              • CONSISTE EM UM DOS PONTOS MAIS IMPORTANTES DENTRO DA LING. COMO ESTAMOS REPRESENTANDO UM OBJETO REAL, PRECISA SER IMAGINADO O Q ELE IRA REALIZAR DENTRO DO SISTEMA. "3 PONTOS" PRECISAM SER "LEVADOS EM CONCIDERAÇÃO".
                • 1_ É PRECISO DAR UMA "IDENTIDADE" "ÚNICA AO OBJETO A SER CRIADO DENTRO DO SISTEMA, P/ Q Ñ HAJA CONFLITOS. (NA MAIOR PARTE DAS LING. É UTILIZADO O CONCEITO DE "PACOTES" OU "NAMESPACES" ONDE O NOME PODE SER REPETIDO DENTRO DO SISTEMA, MAIS PRECISA SER ÚNICO DENTRO DO PACOTE.
                  • 2_ PRECISA-SE DEFENIR AS "CARACTERISTICAS" E OS ELEMENTOS Q O DEFINAM. ESSAS CARCT. SÃO NOMEADAS "PROPRIEDADES". EX: (PROP. DE UM OBJ. "CACHORRO" PODERIAM SER "TAMANHO", "RAÇA" E "IDADE".
                    • 3_ É DEFINIR AS AÇÕES Q O OBJETO IRÁ EXECUTAR. ESSES AÇÕES SÃO CHAMADAS DE "MÉTODOS". ESSES POR SUA VEZ PODEM SER BEM "VARIÁVEIS", DESDE "ACENDER()" EM UM OBJETO "LÂMPADA" ATÉ "LATIR" EM UM OBJ. "CACHORRO".
              • ENCAPSULAMENTO
                • É UMA DAS "PRINCIPAIS TÉCNICAS" Q DEFINE A PROGRAMAÇÃO ORIENT. A OBJ. ADICIONAM SEGURANÇA Á APLICAÇÃO, POIS "ENCONDE" AS "PROPRIEDADES", CRIANDO UMA "ESPÉCIE DE CAIXA PRETA".
                  • A MAIOR PARTE DAS LING.OR.OBJT. IMPLEMENTAM ESSE "ENCAPSULAMENTO" BASEADO EM PROPRIEDADES "PRIVADAS", LIGADAS A MÉTODOS ESPEC. CHAMADO "GETTERS" E "SETTERS". ESSA ATITUDE EVITA O ACESSO DIRETO AS PROPRIEDADES DO OBJETO, ADICIONANDO UMA CAMADA DE SEGURANÇA A APLICAÇÃO.
                    • P/ FAZER UMA "COMPARAÇÃO" COM O Q VEMOS NO "MUNDO REAL", Q TEMOS ENCAPSULAMENTO EM OUTROS ELEMENTOS. "EX:"(QUANDO CLICAMOS NO BOTÃO LIGAR DA TV, Ñ SABEMOS O Q ESTÁ ACONTECENDO INTERNAMENTE. PODEMOS DIZER ENTÃO Q O PROCESSO ESTÁ ENCAPSULADO).
                • HERANÇA
                  • DEFINE A POSSIBILIDADE DA "REUTILIZAÇÃO DO CÓDIGO", INDEFINIDAS VEZES, ESSA CARACTRISTICA "OTMIZA" A PRODUÇÃO DA APLICAÇÃO.
                    • EX: P/ ENTERDERMOS VAMOS IMAGINAR UMA FÁMILIA: "EX. A "CRIANÇA HERDA" AS "CARACTERISTICA" DE SEUS "PAIS". OS "PAIS" HERDAM ALGO DOS "AVÓS", O Q FAZ CONQUE A CRIANÇA TBM O FAÇA, ASSIM SUCESSIVAMENTE.
                      • A HERANÇA PODE VÁRIAR DE LING/LING, EM ALGUMAS COMO, "C++" HÁ A QUESTÃO DA HERANÇA "MULTIPLA", HERDADE DE "VÁR. ANCESTRAIS".
                  • POLIMORFISMO
                    • OUTRO PONTO ESSÊNC. DA PROGRAMAÇÃO ORIENTADA A OBJETOS
                      • COMO VEMOS NA NATUREZA EXISTEM ANIMAIS Q SÃO CAPAZES DE ALTERAR SUA FÓRMA CONFORME A NESCESSIDADE E É DESSA IDÉIA Q VEM O "POLIMORFISMO".
                        • COMO SABE-SE OS OBJETOS "FILHOS" HERDAN AS "CARACT. E AÇÕES DE SEUS ANSESTRAIS", ENTRETANTO, EM ALGUNS CASOS AS AÇÕES P/ UM MESMO MÉTODO SEJA DIFERENTE. (PORTANTO POLIMORFISMO CONSISTE NA ALTERAÇÃO DO FUNCIONAMENTO INTERNO DE UM MÉTODO HERDADO).
                          • EXEMPLO COMUN: TENSE UM OBJETO GENÉRICO "REFRIGERADOR" Q POSSUI UM MÉTODO AÇÃO, "LIGAR()". TEMOS DOIS OBJETOS DISTINTOS "TV" E "GELADEIRA" Q Ñ IRÃO LIGAR DA MESMA FÓRMA. ASSIM PRECISAMOS, P/ CADA UMA DAS CLASSES FILHAS,REESCREVER O MÉTODO "LIGAR()".
                    • VANTAGENS
                      • DESVANTAGENS
                        • APRESENTA UM MAIOR NÚMERO DE CONCEITOS E ABSTRAÇÕES NESCESSÁRIO EM COMPARAÇÃO COM Á PROGRAMAÇÃO "ESTRUTURADA", O Q DIFICULTA O APRENDIZADO, DEVIDO SUA COMPLEXIDADE.
                      • ATRAVÉS DESTE CONCEITO CONCEGUIU-SE UMA MELHOR ORGANIZAÇÃO DO CÓDIGO, GERELMENTE SEPARADO EM ""CLASSES" E "BLIBLIOTÉCAS", OUTRA VANTAGEM É O REAPROVEITAMENTO DO CÓDIGO POR MEIO DO CONCEITO HERANÇA.
          • 1.3- PROGRAMAÇÃO CONCORENTE
            • ATRAVÉS DO DESENVOLVIMETO DE NOVA TECNOLOGIAS, SURGIU UM NOVO CONCEITO, "PARALELISMO", POSSIBILITANDO A EXECUÇÃO DE MAIS DE UMA TAREFA PARALELAMENTE, SEJA POR VÁRIOS NÚCLEOS DE PROCESSAMENTO OU UM SÓ, EXECUTANDO ASSIM O PARALELISMO "EMULADO.
              • ASSIM A PROG. CONCORENTE VEIO, P/ ESTUDAR E ORIENTAR COMO CRIAR PROGRAMAS VISANDO ESSE CENARIO, ONDE VÁRIOS PROCESSOS SÃO EXECUTADOS SIMULTANEAMENTE DISPUTANDO ASSIM O USO DE MEMÓRIA E A PRÓPRIA CAPACIDADE E PROCESSAMENTO.
                • VÁRIAS LING. OFERECEM SUPORTE A PROGRAMAÇÃO CONCORENTE. DENTRE ELAS ESTÃO:
                  • JAVA
                  • C, C++ E C#
                  • OBJECT PASCAL
                  • COMO VC DEVE TER PERCEBIDO UMA MESMA LINGUAGEM PÓDE OFERECER SUPORTE A MAIS DE UM SUBPARADIGMA
                  • VANTAGENS
                    • GANHO NO DESEMPENHO JÁ Q HÁ UM MELHOR APROVEITAMENTO DE TODOS OS RECURSOS COMPUTACIONAIS
                  • DESVANTAGENS
                    • PROGRAMAÇÃO + COMPLEXA, SUCETIVEIS A EROS DA PRÓPRIA CONCORRÊNCIA, DIFICIL DEPURAÇÃO PELO ASPECTO Q Ñ DETERMINA Q SOLUÇÃO TOMAR.

Informações

Descrição
Mapa Mental sobre INTRODUÇÃO AOS PARADIGMAS DAS LINGUAGENS DE PROGRAMAÇÃO, criado por cleversonsh em 10-04-2015.
Criado por
cleversonsh
Visualizações
223
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?