Properties that better describe a programming language

Detalhes bibliográficos
Autor(a) principal: Alves, Júlio Miguel de Sá Lima Magalhães
Data de Publicação: 2023
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Texto Completo: https://hdl.handle.net/1822/92675
Resumo: Dissertação de mestrado em Informatics Engineering
id RCAP_f356b0a28193ff8a4642046d2046445f
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/92675
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Properties that better describe a programming languageProgramming languagesProgramming language characterizationProgramming anguage designProgramming language identificationLinguagens de programaçãoCaracterização de linguagens de programaçãoDesign de linguagens de programaçãoIdentificação de linguagens de programaçãoEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado em Informatics EngineeringThis document reports the development of a Master’s Thesis, included in the second year of the Master’s Degree in Informatics Engineering at Universidade do Minho in Braga, Portugal. The main goal for this project was to identify which characteristics influence the recognition and identification of a programming language, considering both its typical source code elements and its linguistic style. In other words, which elements contribute the most to the characterization of a language? How many structural elements of a language may be modified without losing its identity? In order to achieve these goals, a comprehensive bibliographic research was made, ranging from basic concepts such as programming languages and how they work, to several state-of-the-art studies that have been conducted in the same context of this project. Complementary to this research, a set of programming languages was also chosen as a study subject, which resulted in a detailed review and categorization of their characteristics. After the definition of a general approach, a survey was developed and conducted to gather programmers’ answers on how they identify and recognize programming languages. In addition to the survey, a machine learning model was also used to evaluate how these two facets (human versus machine) compared to each other. This dual approach provided insights into which syntactic and semantic elements have a greater influence on the identity of a programming language. This Master’s project resulted in an overall picture of programming languages’ characteristics and the relative influence they have on both programmers’ and AI-driven recognition. This result may serve as support for language engineers and project managers who wish to reduce attrition when defining or designing new languages for a project, domain, or context.Este documento é referente ao desenvolvimento de um projeto de Mestrado, incluído no segundo ano do Mestrado em Engenharia Informática da Universidade do Minho em Braga, Portugal. O objetivo principal deste projeto é identificar quais características influenciam o recon hecimento e a identificação de uma linguagem de programação, especificamente analisando o código fonte e o seu estilo linguístico. Por outras palavras, quais elementos contribuem mais para a caracterização de uma linguagem? Especificamente, quantos dos elementos estruturais de uma linguagem podem ser modificados sem que esta perca a sua identidade? Para atingir os objetivos deste projeto, foi realizada uma pesquisa bibliográfica exaustiva, que abrange desde conceitos básicos, como linguagens de programação e seu funcionamento, até vários estudos de ponta realizados no mesmo contexto deste projeto. Complementar mente a esta pesquisa, um conjunto de linguagens de programação foi escolhido como objeto de estudo, resultando numa revisão detalhada e categorização de suas características. Após a definição de uma abordagem geral, foi desenvolvida e conduzida uma pesquisa para reunir respostas de programadores sobre como eles identificam e reconhecem lin guagens de programação. Além da pesquisa, um modelo de machine learning também foi utilizado para avaliar como essas duas facetas (homem versus máquina) se comparavam entre si. Esse duplo enfoque forneceu insights sobre quais elementos sintáticos e semânticos têm maior influência na identificação de uma linguagem de programação. Este projeto de mestrado resultou em uma visão geral das características das linguagens de programação e da influência relativa que elas exercem tanto no reconhecimento de programadores quanto no reconhecimento impulsionado por IA. Este resultado pode servir como suporte para engenheiros de linguagens e gerentes de projetos que desejam reduzir atrito ao definir ou projetar novas linguagens para um projeto, domínio ou contexto.Henriques, Pedro RangelNeto, Alvaro CostaUniversidade do MinhoAlves, Júlio Miguel de Sá Lima Magalhães2023-12-152023-12-15T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/92675eng203611616info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-08-03T01:26:37Zoai:repositorium.sdum.uminho.pt:1822/92675Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T18:46:41.798389Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Properties that better describe a programming language
title Properties that better describe a programming language
spellingShingle Properties that better describe a programming language
Alves, Júlio Miguel de Sá Lima Magalhães
Programming languages
Programming language characterization
Programming anguage design
Programming language identification
Linguagens de programação
Caracterização de linguagens de programação
Design de linguagens de programação
Identificação de linguagens de programação
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Properties that better describe a programming language
title_full Properties that better describe a programming language
title_fullStr Properties that better describe a programming language
title_full_unstemmed Properties that better describe a programming language
title_sort Properties that better describe a programming language
author Alves, Júlio Miguel de Sá Lima Magalhães
author_facet Alves, Júlio Miguel de Sá Lima Magalhães
author_role author
dc.contributor.none.fl_str_mv Henriques, Pedro Rangel
Neto, Alvaro Costa
Universidade do Minho
dc.contributor.author.fl_str_mv Alves, Júlio Miguel de Sá Lima Magalhães
dc.subject.por.fl_str_mv Programming languages
Programming language characterization
Programming anguage design
Programming language identification
Linguagens de programação
Caracterização de linguagens de programação
Design de linguagens de programação
Identificação de linguagens de programação
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Programming languages
Programming language characterization
Programming anguage design
Programming language identification
Linguagens de programação
Caracterização de linguagens de programação
Design de linguagens de programação
Identificação de linguagens de programação
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Dissertação de mestrado em Informatics Engineering
publishDate 2023
dc.date.none.fl_str_mv 2023-12-15
2023-12-15T00:00:00Z
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 https://hdl.handle.net/1822/92675
url https://hdl.handle.net/1822/92675
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 203611616
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833597656732008448