Mapa mental
INTRODUÇÃO AOS PARADIGMAS DAS LINGUAGENS DE PROGRAMAÇÃO
Contenido del mapa
INTRODUÇÃO AOS PARADIGMAS DAS LINGUAGENS DE PROGRAMAÇÃO
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.
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.
- O TERMO SIGNIFICA MODELO, OU SEJA, A DEFINIÇÃO DE UM PADRÃO A SER SEGUIDO.
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.
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
- EXEMPLOS DE LINGUAGEM DECLARATIVA
- SÃO PROGRAMAS FEITOS EM LING.DECLARATIVA SÃO MENORES SE COMPARADO COM PROG. FEITOS EM LING.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.
- 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
- EXEMPLO
- A DEFINIÇÃO DE UMA "FUNÇÃO" DIZ COMO A FUNÇÃO SERÁ AVALIADA EM COMPARAÇÃO A OUTRAS FUNÇÕES.
- 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.
- DESVANTAGEM
- POSSUI MAIOR TRANSPARENCIA REFERENCIAL, JÁ Q O PROG. É COMPOSTO POR FUNÇÕES, FICANDO FÁCIL, VERRIFICAR O CÓDIGO.
- 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.
- 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 "PROLOG" FORAM DESENVOLVIDAS AS SEGUINTES LING:
- 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
- DESVANTAGEM
- 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.
- 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
- .UMA FUNÇÃO Q MAPEIA CADA VARIÁVEL A UM DOMINIO FINITO
- .UM CONJUNTO FINITO DE VARIÁVEIS
- 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:
- 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.
- 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.
- DESVANTAGEM
- VANTAGEM
- OUTRAS
- GROOVY, OZ,RUBBY E SCALA
- PERMITE A PROG. ESTRUTURADA, PROG. ORIENTADA A OBJETO E PROG. CONCORRENTE.
- C++
- UM EXEMPLO DE LING. MULTIPARADIGMA É O:
- 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.
- É 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.
- 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).
- É 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).
- É UM PARADIGMA Q TRATA A COMPUTAÇÃO COMO UMA AVALIAÇÃO DE "FUNÇÃO MATEMÁTICA", EVITANDO "ESTADOS" OU "DADOS MÚTAVEIS".
- É 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.
- 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.
- É 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)
- 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.
- VANTAGENS
- PASCAL, C, COBOL E FORTRAN.
- ALGUMAS LING. DE PROG. CONSIDERADAS ESTRUTURADAS SÃO:
- 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".
- 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".
- 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.
- 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).
- 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.
- 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".
- 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.
- 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()".
- 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).
- 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".
- 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.
- DESVANTAGENS
- OUTRO PONTO ESSÊNC. DA PROGRAMAÇÃO ORIENTADA A OBJETOS
- DEFINE A POSSIBILIDADE DA "REUTILIZAÇÃO DO CÓDIGO", INDEFINIDAS VEZES, ESSA CARACTRISTICA "OTMIZA" A PRODUÇÃO DA APLICAÇÃO.
- É 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".
- 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".
- ABSTRAÇAO
- 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.
- VÁRIAS LING. OFERECEM SUPORTE A PROGRAMAÇÃO CONCORENTE. DENTRE ELAS ESTÃO:
- 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.
- 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.
- É CONSTITUIDO POR 4 PILARES
- O PROGRAMADOR DEVE ESCREVER TODO O SEU PROG. POR MEIO DE INSTRUÇÕES, ESTRUTURAS DE DADOS E SUBROTINAS.
- NO PARADIGMA IMPERATIVO, HÁ GRANDE PREUCUPAÇÃO COM O DETALHAMENTO E FUNCIONAMENTO DO PROGRAMA
- 2- PROGRAMAÇÃO DECLARATIVA
Información
- Descripción
- Mapa Mental sobre INTRODUÇÃO AOS PARADIGMAS DAS LINGUAGENS DE PROGRAMAÇÃO, creado por cleversonsh el 10/04/2015.
- Creado por
- cleversonsh
- Visitas
- 223
- Etiquetas
- Valoración