{"id":6501,"date":"2023-05-30T22:00:08","date_gmt":"2023-05-30T20:00:08","guid":{"rendered":"https:\/\/www.risc-software.at\/c20-concepts-bringt-vernunft-in-die-generische-programmierung-michael-hava-beim-using-stdcpp-2023\/"},"modified":"2025-09-15T09:29:52","modified_gmt":"2025-09-15T07:29:52","slug":"c20-concepts-bringt-vernunft-in-die-generische-programmierung-michael-hava-beim-using-stdcpp-2023","status":"publish","type":"post","link":"https:\/\/www.risc-software.at\/en\/c20-concepts-bringt-vernunft-in-die-generische-programmierung-michael-hava-beim-using-stdcpp-2023\/","title":{"rendered":"C++20 Concepts brings sanity to generic programming &#8211; Michael Hava on using std::cpp 2023"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Michael Hava gave a talk on C++ Concepts at the using std::cpp 2023 conference, held April 27\u201328 at the Universidad Carlos III de Madrid.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Generic programming has been a cornerstone of <em>Modern C++<\/em> since the introduction of the STL in 1994. However, it took until C++20 to add a missing key aspect of the paradigm: Concepts. After a short look at the mathematical foundations, Michael explained how common use cases are simplified with Concepts. Compared to older emulation techniques before C++20, the difference is significant. Once the use of Concepts was clarified, he discussed their definition and a frequent problem with subsumption.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The main takeaway: Concepts make generic programming much easier. They transform it from a topic for experts into a tool for everyday programming.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The whole talk is available on YouTube:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"C++20 Concepts  Bringing sanity to generic programming   Michael Hava\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/KcHhq-1ZZ5U?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h3 class=\"wp-block-heading\">About Michael Hava<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Michael Hava, Senior Software Developer and C++ luminary at RISC Software GmbH, is part of the C++ Standardization Committee. He joined RISC Software in 2011 during his master studies at the University of Applied Sciences Upper Austria &#8211; Campus Hagenberg. Since then, he has promoted the adoption of modern C++ in various areas of technology. With the goal of extending this promotion to education, he returned to his former university of applied sciences as a part-time lecturer in 2016. After attending his first C++ standardization meeting in 2019, he became a founding member of the Austrian C Working Group and serves as chair of the national body. He remains in the LEWG most of the time and several of his papers are currently focused on C+26: P2495, P2548, P2697, P2819.<\/p>\n\n\n\n<div class=\"wp-block-contact-form-7-contact-form-selector\">[contact-form-7 id=&#8221;663&#8243; title=&#8221;Contact Form&#8221;]<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\"><div class=\"contact-person\">\n      <picture>\n      \n      \n      \n      \n      <img decoding=\"async\" data-aos=\"fade-zoom-in\"\n           data-aos-offset=\"0\" class=\"w-full\" width=\"212\" height=\"293\"\n           src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/mhava1-removebg-preview.png\"\n           alt=\"\">\n    <\/picture>\n    <div class=\"acf-innerblocks-container\">\n\n<h5 class=\"wp-block-heading\">Michael Florian Hava, MSc<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Senior Software Architect<\/p>\n\n<\/div>  <\/div>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Read more<\/h2>\n\n\n<div class=\"posts-slider-block\" data-aos=\"fade-up\" data-aos-offset=\"0\" data-aos-anchor-placement=\"top-bottom\">\n        <section class=\"splide posts-slider\" aria-label=\"Gallery Slides\">\n            <div class=\"splide__arrows\">\n                <button class=\"splide__arrow splide__arrow--prev\">\n                    <span class=\"sr-only\">Previous<\/span>\n                    <img decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"21\" src=\"https:\/\/www.risc-software.at\/app\/themes\/risc-theme-main\/public\/images\/icon-arrow.35d2ec.svg\"\n                         alt=\"Previous\">\n                <\/button>\n                <button class=\"splide__arrow splide__arrow--next\">\n                    <span class=\"sr-only\">Next<\/span>\n                    <img decoding=\"async\" loading=\"lazy\" width=\"25\" height=\"21\" src=\"https:\/\/www.risc-software.at\/app\/themes\/risc-theme-main\/public\/images\/icon-arrow.35d2ec.svg\"\n                         alt=\"Next\">\n                <\/button>\n            <\/div>\n            <div class=\"inner\">\n                <div class=\"splide__track\">\n                    <div class=\"splide__list\">\n\n                                                    <a href=\"https:\/\/www.risc-software.at\/en\/technicalarticles\/technical-article-c20-concepts\/\" class=\"splide__slide blog-post-teaser mb-1 lg:mb-3\">\n                                <div class=\"blog-image\">\n                                                                                                                                <picture>\n                                                                                        <img decoding=\"async\" src=\"https:\/\/www.risc-software.at\/app\/uploads\/2023\/06\/iStock-464478994-360x214.jpg\"\n                                                 alt=\"C++20 Concepts (EN)\">\n                                        <\/picture>\n                                                                    <\/div>\n                                <div class=\"blog-content px-2 py-3 xl:px-4 xl:py-5\">\n                                    <h3>C++20 Concepts (EN)<\/h3>\n                                    <div class=\"blog-post-excerpt mt-2\">\n                                        A brief historical overview of the development of the programming language and the implementation of &quot;Templates&quot; and &quot;Concepts&quot;.\n                                    <\/div>\n                                    <span class=\"inline-block mt-2 more\">mehr erfahren <span class=\"ml-1 icon-more\"><\/span><\/span>\n\n                                <\/div>\n                            <\/a>\n                                                    <a href=\"https:\/\/www.risc-software.at\/en\/ahoi-c26\/\" class=\"splide__slide blog-post-teaser mb-1 lg:mb-3\">\n                                <div class=\"blog-image\">\n                                                                            <picture>\n                                            <img decoding=\"async\" width=\"373\" height=\"249\" src=\"https:\/\/www.risc-software.at\/app\/themes\/risc-theme-main\/public\/images\/blog-placeholder.svg\"\n                                                 alt=\"Placeholder Image\">\n                                        <\/picture>\n                                                                    <\/div>\n                                <div class=\"blog-content px-2 py-3 xl:px-4 xl:py-5\">\n                                    <h3>Ahoi C++26<\/h3>\n                                    <div class=\"blog-post-excerpt mt-2\">\n                                        \n                                    <\/div>\n                                    <span class=\"inline-block mt-2 more\">mehr erfahren <span class=\"ml-1 icon-more\"><\/span><\/span>\n\n                                <\/div>\n                            <\/a>\n                                            <\/div>\n                <\/div>\n            <\/div>\n        <\/section>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Michael Hava gave a presentation on C++ Concepts at the &#8220;using std::cpp&#8221; 2023 conference held April 27-28 at the Universidad Carlos III de Madrid.<\/p>\n","protected":false},"author":2,"featured_media":6500,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[29],"tags":[],"class_list":["post-6501","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news-en"],"acf":[],"portrait_thumb_url":"https:\/\/www.risc-software.at\/app\/uploads\/2023\/05\/2023-04-28_usingcpp-mhava-360x214.png","category_name":"News","watermark":false,"_links":{"self":[{"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/posts\/6501","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/comments?post=6501"}],"version-history":[{"count":5,"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/posts\/6501\/revisions"}],"predecessor-version":[{"id":34545,"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/posts\/6501\/revisions\/34545"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/media\/6500"}],"wp:attachment":[{"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/media?parent=6501"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/categories?post=6501"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.risc-software.at\/en\/wp-json\/wp\/v2\/tags?post=6501"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}