2019Unpublished venueRequires access

Constexpr: A Great Good but Wrong Idea

Yauhen Klimiankou

Open publisher page 0 citations

Abstract

The introduction of the "constexpr" feature in the C++11 standard has raised a great interest in the compile-time function execution in the programming languages communities. In this paper, we evaluate this feature and argue that while the compile-time evaluations are valuable optimization methods, its explicit support on the level of a programming language is a wrong decision. We show that compile-time evaluations must be enforced by the compiler automatically and transparently to the developer. Finally, we propose a programming language design principle stating that positive optimization "hints" must not be a part of programming language.

About this research paper

What this paper is about

The introduction of the "constexpr" feature in the C++11 standard has raised a great interest in the compile-time function execution in the programming languages communities. In this paper, we evaluate this feature and argue that while the compile-time evaluations are valuable optimization methods, its explicit support on the level of a programming language is a wrong decision. We show that compile-time evaluations must be enforced by the compiler automatically and transparently to the developer. Finally, we propose a programming language design principle stating that positive optimization "hints" must not be a part of programming language.

Why it matters

A significance statement is not available in the OpenAlex record.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

The introduction of the "constexpr" feature in the C++11 standard has raised a great interest in the compile-time function execution in the programming languages communities. In this paper, we evaluate this feature and argue that while the compile-time evaluations are valuable optimization methods, its explicit support on the level of a programming language is a wrong decision. We show that compile-time evaluations must be enforced by the compiler automatically and transparently to the developer. Finally, we propose a programming language design principle stating that positive optimization "hints" must not be a part of programming language.

Key concepts: Compiler, Computer science, Compile time, Programming language, Feature (linguistics), Programming paradigm, Very high-level programming language, Fifth-generation programming language

Related papers

Back to paper searchBrowse research topicsOriginal source
Constexpr: A Great Good but Wrong Idea — Research Paper | ScholarLens