[en] A SURVEY OF FUNCTION VALUES IN IMPERATIVE PROGRAMMING LANGUAGES

Detalhes bibliográficos
Autor(a) principal: LUIZ ROMARIO SANTANA RIOS
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