Design of a modular multiparadigm programming language for teaching programming concepts

Detalhes bibliográficos
Ano de defesa: 2004
Autor(a) principal: MARANHÃO, Antonio Augusto Rodrigues de Albuquerque
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Pernambuco
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://repositorio.ufpe.br/handle/123456789/2468
Resumo: A criação de uma linguagem de programação pode ser comparada ao desenvolvimento de um sistema computacional. Sendo assim, o projeto e a implementação da linguagem devem atender a um conjunto de requisitos. Alguns deles estão relacionados às propriedades que a linguagem desenvolvida deve apresentar, como expressividade, capacidade de aprendizagem e produtividade. Outro grupo de requisitos compreende aqueles comuns ao desenvolvimento da maioria dos softwares, como extensibilidade, modularidade e reuso de código. Este segundo grupo de requisitos pode ser obtido através do uso de técnicas modernas de engenharia de software. Neste trabalho, apresentamos o desenvolvimento de uma linguagem multiparadigma modular que faz uso de programação Orientada a Objetos, design patterns e um paradigma de programação mais recente chamado Programação Orientada a Aspectos. A linguagem, que também pode ser vista como um conjunto de linguagens, é desenvolvida de maneira incremental, partindo de uma simples linguagem de expressões até linguagens mais complexas representando alguns dos mais representativos paradigmas de programação, finalizando com o desenvolvimento de linguagens multiparadigmas. Esta família de linguagens é criada através da integração de componentes que representam conceitos de programação. A modularidade obtida através do design proposto possibilita o reuso destes componentes na criação de diferentes linguagens, mesmo que pertencentes a diferentes paradigmas. Adicionalmente, é possível a evolução ortogonal das linguagens, já que a inclusão de novos conceitos é obtida através da simples inclusão dos componentes correspondentes, sem comprometer o funcionamento dos componentes já utilizados. A abordagem proposta para o design e implementação da linguagem também se mostrou bastante útil no ensino de conceitos de programação, já que oferece um ambiente uniforme e extensível para a prática e exploração dos conceitos pelos estudantes. Dessa forma, os estudantes não precisam lidar com diferentes notações e ambientes de desenvolvimento ao abordarem conceitos relacionados a diversos paradigmas
id UFPE_5ca95865024d47f3798fe87d961204d0
oai_identifier_str oai:repositorio.ufpe.br:123456789/2468
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str
spelling Design of a modular multiparadigm programming language for teaching programming conceptsProgramming paradigmMultiparadigm languagesDesign of programming languagesDesign patternsAspect-oriented programmingAspectJA criação de uma linguagem de programação pode ser comparada ao desenvolvimento de um sistema computacional. Sendo assim, o projeto e a implementação da linguagem devem atender a um conjunto de requisitos. Alguns deles estão relacionados às propriedades que a linguagem desenvolvida deve apresentar, como expressividade, capacidade de aprendizagem e produtividade. Outro grupo de requisitos compreende aqueles comuns ao desenvolvimento da maioria dos softwares, como extensibilidade, modularidade e reuso de código. Este segundo grupo de requisitos pode ser obtido através do uso de técnicas modernas de engenharia de software. Neste trabalho, apresentamos o desenvolvimento de uma linguagem multiparadigma modular que faz uso de programação Orientada a Objetos, design patterns e um paradigma de programação mais recente chamado Programação Orientada a Aspectos. A linguagem, que também pode ser vista como um conjunto de linguagens, é desenvolvida de maneira incremental, partindo de uma simples linguagem de expressões até linguagens mais complexas representando alguns dos mais representativos paradigmas de programação, finalizando com o desenvolvimento de linguagens multiparadigmas. Esta família de linguagens é criada através da integração de componentes que representam conceitos de programação. A modularidade obtida através do design proposto possibilita o reuso destes componentes na criação de diferentes linguagens, mesmo que pertencentes a diferentes paradigmas. Adicionalmente, é possível a evolução ortogonal das linguagens, já que a inclusão de novos conceitos é obtida através da simples inclusão dos componentes correspondentes, sem comprometer o funcionamento dos componentes já utilizados. A abordagem proposta para o design e implementação da linguagem também se mostrou bastante útil no ensino de conceitos de programação, já que oferece um ambiente uniforme e extensível para a prática e exploração dos conceitos pelos estudantes. Dessa forma, os estudantes não precisam lidar com diferentes notações e ambientes de desenvolvimento ao abordarem conceitos relacionados a diversos paradigmasUniversidade Federal de PernambucoSAMPAIO, Augusto Cezar AlvesMARANHÃO, Antonio Augusto Rodrigues de Albuquerque2014-06-12T15:58:29Z2014-06-12T15:58:29Z2004info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfAugusto Rodrigues de Albuquerque Maranhão, Antonio; Cezar Alves Sampaio, Augusto. Design of a modular multiparadigm programming language for teaching programming concepts. 2004. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2004.https://repositorio.ufpe.br/handle/123456789/2468porAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPE2019-10-25T06:11:32Zoai:repositorio.ufpe.br:123456789/2468Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-25T06:11:32Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.none.fl_str_mv Design of a modular multiparadigm programming language for teaching programming concepts
title Design of a modular multiparadigm programming language for teaching programming concepts
spellingShingle Design of a modular multiparadigm programming language for teaching programming concepts
MARANHÃO, Antonio Augusto Rodrigues de Albuquerque
Programming paradigm
Multiparadigm languages
Design of programming languages
Design patterns
Aspect-oriented programming
AspectJ
title_short Design of a modular multiparadigm programming language for teaching programming concepts
title_full Design of a modular multiparadigm programming language for teaching programming concepts
title_fullStr Design of a modular multiparadigm programming language for teaching programming concepts
title_full_unstemmed Design of a modular multiparadigm programming language for teaching programming concepts
title_sort Design of a modular multiparadigm programming language for teaching programming concepts
author MARANHÃO, Antonio Augusto Rodrigues de Albuquerque
author_facet MARANHÃO, Antonio Augusto Rodrigues de Albuquerque
author_role author
dc.contributor.none.fl_str_mv SAMPAIO, Augusto Cezar Alves
dc.contributor.author.fl_str_mv MARANHÃO, Antonio Augusto Rodrigues de Albuquerque
dc.subject.por.fl_str_mv Programming paradigm
Multiparadigm languages
Design of programming languages
Design patterns
Aspect-oriented programming
AspectJ
topic Programming paradigm
Multiparadigm languages
Design of programming languages
Design patterns
Aspect-oriented programming
AspectJ
description A criação de uma linguagem de programação pode ser comparada ao desenvolvimento de um sistema computacional. Sendo assim, o projeto e a implementação da linguagem devem atender a um conjunto de requisitos. Alguns deles estão relacionados às propriedades que a linguagem desenvolvida deve apresentar, como expressividade, capacidade de aprendizagem e produtividade. Outro grupo de requisitos compreende aqueles comuns ao desenvolvimento da maioria dos softwares, como extensibilidade, modularidade e reuso de código. Este segundo grupo de requisitos pode ser obtido através do uso de técnicas modernas de engenharia de software. Neste trabalho, apresentamos o desenvolvimento de uma linguagem multiparadigma modular que faz uso de programação Orientada a Objetos, design patterns e um paradigma de programação mais recente chamado Programação Orientada a Aspectos. A linguagem, que também pode ser vista como um conjunto de linguagens, é desenvolvida de maneira incremental, partindo de uma simples linguagem de expressões até linguagens mais complexas representando alguns dos mais representativos paradigmas de programação, finalizando com o desenvolvimento de linguagens multiparadigmas. Esta família de linguagens é criada através da integração de componentes que representam conceitos de programação. A modularidade obtida através do design proposto possibilita o reuso destes componentes na criação de diferentes linguagens, mesmo que pertencentes a diferentes paradigmas. Adicionalmente, é possível a evolução ortogonal das linguagens, já que a inclusão de novos conceitos é obtida através da simples inclusão dos componentes correspondentes, sem comprometer o funcionamento dos componentes já utilizados. A abordagem proposta para o design e implementação da linguagem também se mostrou bastante útil no ensino de conceitos de programação, já que oferece um ambiente uniforme e extensível para a prática e exploração dos conceitos pelos estudantes. Dessa forma, os estudantes não precisam lidar com diferentes notações e ambientes de desenvolvimento ao abordarem conceitos relacionados a diversos paradigmas
publishDate 2004
dc.date.none.fl_str_mv 2004
2014-06-12T15:58:29Z
2014-06-12T15:58:29Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv Augusto Rodrigues de Albuquerque Maranhão, Antonio; Cezar Alves Sampaio, Augusto. Design of a modular multiparadigm programming language for teaching programming concepts. 2004. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2004.
https://repositorio.ufpe.br/handle/123456789/2468
identifier_str_mv Augusto Rodrigues de Albuquerque Maranhão, Antonio; Cezar Alves Sampaio, Augusto. Design of a modular multiparadigm programming language for teaching programming concepts. 2004. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2004.
url https://repositorio.ufpe.br/handle/123456789/2468
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1856042103780409344