Properties that better describe a programming language
| Autor(a) principal: | |
|---|---|
| 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 |