Constexpr — a Great Good but Wrong Idea (Yauhen Klimiankou, ISPRASOPEN-2019) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) (Копия ревизии 151916 статьи Constexpr — большое благо, выраженное в неправильной идее (Евгений Клименков, ISPRASOPEN-2019)) |
StasFomin (обсуждение | вклад) |
||
{{eng}} ;{{SpeakerInfo}}: {{Speaker|Евгений Клименков}} <blockquote> Введение спецификатора “constexpr” в новом стандарте языка С++ (C++11) породило волну интереса к теме выполнения функций во время компиляции в сообществах связанных с языками программирования. В данном докладе рассмотривается и анализируется эта языковая конструкция и показывается, что хотя само выполнение функций во время компиляции является очень ценным методом оптимизации, его явная поддержка с помощью специального спецификатора на уровне языка програмирования является неверным решением. В докладе демонстрируется что вычисления во время компиляции должны применяться компилятором в полностью автоматическом режиме и прозрачно для программиста. Наконец, в докладе предлагается принцип проектирования языков программирования согласно которому “язык программирования не должен включать в свой состав конструкции и элементы, которые представляют собой исключительно позитивные оптимизационные подсказки компилятору. ---- 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. English translation of http://0x1.tv/20191205AG </blockquote> {{VideoSection}} {{vimeoembed|378873988|800|450}} {{youtubelink|}}{{letscomment}} {{SlidesSection}} [[File:Constexpr — большое благо, выраженное в неправильной идее (Евгений Клименков, ISPRASOPEN-2019).pdf|left|page=-|350px]] {{----}} [[File:{{#setmainimage:Constexpr — большое благо, выраженное в неправильной идее (Евгений Клименков, ISPRASOPEN-2019)!.jpg}}|center|640px]] {{LinksSection}} <!-- * [ Talks page on site] --> <!-- <blockquote>[©]</blockquote> --> {{fblink|2465913413661665}} <references/> <!-- topub --> {{stats|disqus_comments=1|refresh_time=2020-01-28T12:54:50.346489|vimeo_plays=16|youtube_plays=0}} [[Категория:ISPRASOPEN-2019]] [[Категория:С++]] [[Категория:Компиляторы]] [[Категория:Draft]] |
Версия 23:58, 4 февраля 2020
- Speaker
- Евгений Клименков
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.
English translation of http://0x1.tv/20191205AG
Video
Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.
Slides
Links
Plays:16
Comments:1