[en] A SURVEY OF FUNCTION VALUES IN IMPERATIVE PROGRAMMING LANGUAGES
Autor(a) principal: | |
---|---|
Data de Publicação: | 2020 |
Tipo de documento: | Outros |
Idioma: | eng |
Título da fonte: | Repositório Institucional da PUC-RIO (Projeto Maxwell) |
Texto Completo: | https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=47283@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=47283@2 http://doi.org/10.17771/PUCRio.acad.47283 |
Resumo: | [pt] Se diz que uma linguagem de programação tem funções de primeira classe quando ela fornece a capacidade de manipular funções da mesma maneira que outros valores, isto é, guardar em variáveis, passar como parâmetros, etc.. Programar com funções de primeira classe abre o programadora novas formas de abstração e é o padrão em linguagens de programação funcionais. Porém, se tratando de linguagens imperativas (incluindo linguagens orientadas a objeto), cada linguagem tem semântica, propriedades e terminologia diferentes para funções—em grande parte graças a seu foco em mutabilidade, que as linguagens funcionais não têm. Para esclarecer essas diferenças, nós fizemos um levantamento sobre a especificação de funções como valores em linguagens de programação imperativas de várias disciplinas diferentes. Para cada linguagem, nós ilustramos, nos baseando em exemplos, as propriedades dos valores de funções nela,destacando onde ela difere de outras linguagens—tudo isso usando uma terminologia consistente em todas as linguagens. Nós esperamos oferecer uma referência para desenvolvedores compararem e contrastarem as diferentes versões de funções num só lugar. |
id |
PUC_RIO-1_6abc5cfdac0ddead41f16ab2fd417415 |
---|---|
oai_identifier_str |
oai:MAXWELL.puc-rio.br:47283 |
network_acronym_str |
PUC_RIO-1 |
network_name_str |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
repository_id_str |
534 |
spelling |
[en] A SURVEY OF FUNCTION VALUES IN IMPERATIVE PROGRAMMING LANGUAGES [pt] UM LEVANTAMENTO SOBRE O SUPORTE A FUNÇÕES COMO VALORES EM LINGUAGENS IMPERATIVAS [pt] PROGRAMACAO ORIENTADA A OBJETOS[pt] LEVANTAMENTO[pt] DESIGN DE LINGUAGENS DE PROGRAMACAO[pt] PROGRAMACAO IMPERATIVA[pt] FUNCOES DE PRIMEIRA CLASSE[pt] PROGRAMACAO FUNCIONAL[en] OBJECT-ORIENTED PROGRAMMING[en] SURVEY[en] PROGRAMMING LANGUAGE DESIGN[en] IMPERATIVE PROGRAMMING[en] FIRST-CLASS FUNCTIONS[en] FUNCTIONAL PROGRAMMING[pt] Se diz que uma linguagem de programação tem funções de primeira classe quando ela fornece a capacidade de manipular funções da mesma maneira que outros valores, isto é, guardar em variáveis, passar como parâmetros, etc.. Programar com funções de primeira classe abre o programadora novas formas de abstração e é o padrão em linguagens de programação funcionais. Porém, se tratando de linguagens imperativas (incluindo linguagens orientadas a objeto), cada linguagem tem semântica, propriedades e terminologia diferentes para funções—em grande parte graças a seu foco em mutabilidade, que as linguagens funcionais não têm. Para esclarecer essas diferenças, nós fizemos um levantamento sobre a especificação de funções como valores em linguagens de programação imperativas de várias disciplinas diferentes. Para cada linguagem, nós ilustramos, nos baseando em exemplos, as propriedades dos valores de funções nela,destacando onde ela difere de outras linguagens—tudo isso usando uma terminologia consistente em todas as linguagens. Nós esperamos oferecer uma referência para desenvolvedores compararem e contrastarem as diferentes versões de funções num só lugar.[en] A programming language is said to have first-class functions when it provides the capability of manipulating functions in the same way as other values, i.e., storing in variables, passing as parameters, etc.. Programming with first-class functions opens the programmer to new forms of abstractions and it s the default in functional programming languages. However, in the realm of imperative languages (including object-oriented languages), each language has different semantics, properties, and terminology for functions—in great part, thanks to their focus on mutability, which isn t present in functional languages. To help shed light on these differences, we made a survey of the specifi-cation of function values in imperative programming languages from many different disciplines. For each language, we illustrate, based on examples,the properties of function values in it, highlighting where it differs from other languages—all this with a consistent terminology in all languages. We provide a reference that compares and contrasts different renditions offunctions in one single place and conclude that the design of functions in a language depends on the interaction of its features and constraints with its functions.MAXWELLROBERTO IERUSALIMSCHYLUIZ ROMARIO SANTANA RIOS2020-03-30info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/otherhttps://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=47283@1https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=47283@2http://doi.org/10.17771/PUCRio.acad.47283engreponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)instacron:PUC_RIOinfo:eu-repo/semantics/openAccess2022-08-04T00:00:00Zoai:MAXWELL.puc-rio.br:47283Repositório InstitucionalPRIhttps://www.maxwell.vrac.puc-rio.br/ibict.phpopendoar:5342022-08-04T00:00Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)false |
dc.title.none.fl_str_mv |
[en] A SURVEY OF FUNCTION VALUES IN IMPERATIVE PROGRAMMING LANGUAGES [pt] UM LEVANTAMENTO SOBRE O SUPORTE A FUNÇÕES COMO VALORES EM LINGUAGENS IMPERATIVAS |
title |
[en] A SURVEY OF FUNCTION VALUES IN IMPERATIVE PROGRAMMING LANGUAGES |
spellingShingle |
[en] A SURVEY OF FUNCTION VALUES IN IMPERATIVE PROGRAMMING LANGUAGES LUIZ ROMARIO SANTANA RIOS [pt] PROGRAMACAO ORIENTADA A OBJETOS [pt] LEVANTAMENTO [pt] DESIGN DE LINGUAGENS DE PROGRAMACAO [pt] PROGRAMACAO IMPERATIVA [pt] FUNCOES DE PRIMEIRA CLASSE [pt] PROGRAMACAO FUNCIONAL [en] OBJECT-ORIENTED PROGRAMMING [en] SURVEY [en] PROGRAMMING LANGUAGE DESIGN [en] IMPERATIVE PROGRAMMING [en] FIRST-CLASS FUNCTIONS [en] FUNCTIONAL PROGRAMMING |
title_short |
[en] A SURVEY OF FUNCTION VALUES IN IMPERATIVE PROGRAMMING LANGUAGES |
title_full |
[en] A SURVEY OF FUNCTION VALUES IN IMPERATIVE PROGRAMMING LANGUAGES |
title_fullStr |
[en] A SURVEY OF FUNCTION VALUES IN IMPERATIVE PROGRAMMING LANGUAGES |
title_full_unstemmed |
[en] A SURVEY OF FUNCTION VALUES IN IMPERATIVE PROGRAMMING LANGUAGES |
title_sort |
[en] A SURVEY OF FUNCTION VALUES IN IMPERATIVE PROGRAMMING LANGUAGES |
author |
LUIZ ROMARIO SANTANA RIOS |
author_facet |
LUIZ ROMARIO SANTANA RIOS |
author_role |
author |
dc.contributor.none.fl_str_mv |
ROBERTO IERUSALIMSCHY |
dc.contributor.author.fl_str_mv |
LUIZ ROMARIO SANTANA RIOS |
dc.subject.por.fl_str_mv |
[pt] PROGRAMACAO ORIENTADA A OBJETOS [pt] LEVANTAMENTO [pt] DESIGN DE LINGUAGENS DE PROGRAMACAO [pt] PROGRAMACAO IMPERATIVA [pt] FUNCOES DE PRIMEIRA CLASSE [pt] PROGRAMACAO FUNCIONAL [en] OBJECT-ORIENTED PROGRAMMING [en] SURVEY [en] PROGRAMMING LANGUAGE DESIGN [en] IMPERATIVE PROGRAMMING [en] FIRST-CLASS FUNCTIONS [en] FUNCTIONAL PROGRAMMING |
topic |
[pt] PROGRAMACAO ORIENTADA A OBJETOS [pt] LEVANTAMENTO [pt] DESIGN DE LINGUAGENS DE PROGRAMACAO [pt] PROGRAMACAO IMPERATIVA [pt] FUNCOES DE PRIMEIRA CLASSE [pt] PROGRAMACAO FUNCIONAL [en] OBJECT-ORIENTED PROGRAMMING [en] SURVEY [en] PROGRAMMING LANGUAGE DESIGN [en] IMPERATIVE PROGRAMMING [en] FIRST-CLASS FUNCTIONS [en] FUNCTIONAL PROGRAMMING |
description |
[pt] Se diz que uma linguagem de programação tem funções de primeira classe quando ela fornece a capacidade de manipular funções da mesma maneira que outros valores, isto é, guardar em variáveis, passar como parâmetros, etc.. Programar com funções de primeira classe abre o programadora novas formas de abstração e é o padrão em linguagens de programação funcionais. Porém, se tratando de linguagens imperativas (incluindo linguagens orientadas a objeto), cada linguagem tem semântica, propriedades e terminologia diferentes para funções—em grande parte graças a seu foco em mutabilidade, que as linguagens funcionais não têm. Para esclarecer essas diferenças, nós fizemos um levantamento sobre a especificação de funções como valores em linguagens de programação imperativas de várias disciplinas diferentes. Para cada linguagem, nós ilustramos, nos baseando em exemplos, as propriedades dos valores de funções nela,destacando onde ela difere de outras linguagens—tudo isso usando uma terminologia consistente em todas as linguagens. Nós esperamos oferecer uma referência para desenvolvedores compararem e contrastarem as diferentes versões de funções num só lugar. |
publishDate |
2020 |
dc.date.none.fl_str_mv |
2020-03-30 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/other |
format |
other |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=47283@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=47283@2 http://doi.org/10.17771/PUCRio.acad.47283 |
url |
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=47283@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=47283@2 http://doi.org/10.17771/PUCRio.acad.47283 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
MAXWELL |
publisher.none.fl_str_mv |
MAXWELL |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da PUC-RIO (Projeto Maxwell) instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) instacron:PUC_RIO |
instname_str |
Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) |
instacron_str |
PUC_RIO |
institution |
PUC_RIO |
reponame_str |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
collection |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
repository.name.fl_str_mv |
Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) |
repository.mail.fl_str_mv |
|
_version_ |
1814822619459878912 |