CppCon, The C++ Conference的封面图片
CppCon, The C++ Conference

CppCon, The C++ Conference

软件开发

Aurora,Colorado 19,123 位关注者

by the C++ Community for the C++ Community

关于我们

CppCon is the annual, week-long face-to-face gathering for the entire C++ community. The conference is organized by the C++ community for the community. You will enjoy inspirational talks and a friendly atmosphere designed to help attendees learn from each other, meet interesting people, and generally have a stimulating experience. Taking place this year in Aurora, Colorado, near the Denver airport, and including multiple diverse tracks, the conference will appeal to anyone from C++ novices to experts. What you can expect at CppCon: ? Invited talks and panels: the CppCon keynote by Bjarne Stroustrup will start off a week full of insight from some of the world’s leading experts in C++. Still have questions? Ask them at one of CppCon’s panels featuring those at the cutting edge of the language. ? Presentations by the C++ community: What do embedded systems, game development, high frequency trading, and particle accelerators have in common? C++, of course! Expect talks from a broad range of domains focused on practical C++ techniques, libraries, and tools. ? Lightning talks: Get informed at a fast pace during special sessions of short, less formal talks. Never presented at a conference before? This is your chance to share your thoughts on a C++-related topic in an informal setting. ? Evening events and “unconference” time: Relax, socialize, or start an impromptu coding session. CppCon’s goal is to encourage the best use of C++ while preserving the diversity of viewpoints and experiences, but other than that it is non-partisan and has no agenda. The conference is a project of the Standard C++ Foundation, a not-for-profit organization whose purpose is to support the C++ software developer community and promote the understanding and use of modern, standard C++ on all compilers and platforms.

网站
https://CppCon.Org/about/
所属行业
软件开发
规模
201-500 人
总部
Aurora,Colorado
类型
非营利机构
创立
2014

地点

  • 主要

    6700 N Gaylord Rockies Blvd

    US,Colorado,Aurora,80019

    获取路线

CppCon, The C++ Conference员工

动态

  • CppCon, The C++ Conference 2024 - Cassio Neri: "How to Quickly Convert Floating-Point Numbers in C++" youtu.be/fPZ1ZdA7Iwc Standard C++ provides a few functions to convert a double or float value to string, namely, sprintf, stringstream::operator<<, snprintf, to_string, to_chars and format. This talk concerns what goes on behind the scenes, i.e, the algorithms which these functions might use to do their job. Curiously, many of these algorithms have dragon-related names like Dragon, Grisu, Errol, Ryu and Dragonbox. Here mythology meets technology and we shall introduce the new dragon that has just arrived in the den. (Please leave your bows and arrows at home, they won't be necessary here.) The following topics are some of those covered in this presentation:- algorithms, mathematics, arithmetic, floating point, floating point numbers, floating point math, floating point arithmetic, decimal floating-point representation, binary floating-point representation, IEEE 754, programming languages, c++, cpp --- Cassio Neri holds a PHD in Applied Mathematics from University of Paris Dauphine. Cassio has been professionally coding in C++ for more than 15 years but his coding experience has started far earlier when he was a kid. He currently works on the financial industry in London but had previously worked in academia for more than a decade. Cassio authored research articles and has published them on peer-reviewed journals on Mathematics, Finance, Computer Science and C++.

  • 查看CppCon, The C++ Conference的组织主页

    19,123 位关注者

    CppCon, The C++ Conference 2024 - Phil Nash: "Back to Basics: Lifetime Management in Cpp" youtu.be/aMvIv6blzBs Lifetime management in C++ is flexible and powerful. But this comes with complexity and lots of ways to shoot your leg off. That has only gotten worse as the language has evolved. This talk introduces or recaps the so-called Rule of 0 and Rule of 5, which suggest that you should aim to need no Special Member Functions (customs constructors, destructors assignment operators) for most of your types. But if you do need them, you probably need all 5. But if we do need to implement them it can still be hard to know what to do. It helps to know what sort of type you are dealing with, so we’ll break down the common categories. Along the way we’ll look at vocabulary types we already have in the C++ standard library that can help us move more of our code into the realm of the Rule of 0. Come with us on a journey through these rules, type categories and behaviours and start to make sense of lifetimes in modern C++. --- Phil is the original author of the C++ test framework, Catch2. He's an independent trainer and consultant. He's also a member of the ISO C++ standards committee, organiser of C++ London and C++ on Sea, as well as co-host and producer of CppCast. More generally he's an advocate for good testing practices, TDD and using the type system and functional techniques to reduce complexity and increase correctness. He's previously worked in Finance and Mobile offers training and coaching in C++ and TDD.

  • CppCon, The C++ Conference转发了

    查看Gili Kamma的档案

    Team Leader| Architect | Cppcon Speaker

    ???, ??? ??? ????? ?????! ?????? ??? ? Cppcon 2024. ????? ???? ??????? ??????? ?????? ??? ??? ????? Cpp ( ??? ?????? ??? ??????????? ????? ???????). ????? ??????? ????? ?? ??????. ????? ????? ??????? ???? ?????? ????? ???? ??? ??????. ?? ?? ??? ???? ??? ?????? ?? ?????? Baot#

    查看CppCon, The C++ Conference的组织主页

    19,123 位关注者

    CppCon, The C++ Conference 2024 - Gili Kamma: "Boosting Software Efficiency in C++: A Case Study of 100% Performance Improvement in an Embedded C++ System" youtu.be/LE1ocLWiUKQ Ever wrestled with an embedded unit that had a mind of its own? That was my reality a few years ago. This unit, built with Linux, C++, and QT, was designed to be a reliable middleman, handling RF frames from a multitude of endpoints. But it was a bit of a wildcard - unexplained resets, occasional data loss, and all. It was supposed to support 7500 endpoints, but once we hit 5000, it started to show signs of strain. The software was a tough nut to crack - maintaining it was a challenge and it wasn't exactly a developer's favorite. But here's where the plot thickens: after two years of relentless work, we transformed this underdog into a champion. The unit now supports 10,000 endpoints, with zero resets or data loss. Intrigued? Join me as I unravel the journey of this remarkable turnaround. Let's dive into the world of embedded systems and explore how we turned the tide in our favor. It's a tale of performance improvements, overcoming challenges, and making the impossible possible. If you've ever wondered how to boost efficiency in embedded systems, or if you're just a fan of a good tech turnaround story, this talk is for you. --- Gili Kamma has a B.S.c in electrical engineering from Tel-Aviv University, Israel. With almost 20 years of experience developing embedded systems, she has worked across plenty of technical environments, BSP and low-level drivers in C, C++, Python, C#, Java, DB, and Cloud. She is an expert in developing embedded systems, gained a lot of knowledge from changing projects and products every year or two for the past 20 years. She has extensive experience in creating applications from scratch, improving the performance of existing ones, and maintaining products by solving bugs and ensuring quality. She has broad experience in industries such as Automotive, Cyber, IOT, Networking, and Aerospace. These days, she is the R and D manager at Blitz Electric Motors in Israel.

  • 查看CppCon, The C++ Conference的组织主页

    19,123 位关注者

    CppCon, The C++ Conference 2024 - Gili Kamma: "Boosting Software Efficiency in C++: A Case Study of 100% Performance Improvement in an Embedded C++ System" youtu.be/LE1ocLWiUKQ Ever wrestled with an embedded unit that had a mind of its own? That was my reality a few years ago. This unit, built with Linux, C++, and QT, was designed to be a reliable middleman, handling RF frames from a multitude of endpoints. But it was a bit of a wildcard - unexplained resets, occasional data loss, and all. It was supposed to support 7500 endpoints, but once we hit 5000, it started to show signs of strain. The software was a tough nut to crack - maintaining it was a challenge and it wasn't exactly a developer's favorite. But here's where the plot thickens: after two years of relentless work, we transformed this underdog into a champion. The unit now supports 10,000 endpoints, with zero resets or data loss. Intrigued? Join me as I unravel the journey of this remarkable turnaround. Let's dive into the world of embedded systems and explore how we turned the tide in our favor. It's a tale of performance improvements, overcoming challenges, and making the impossible possible. If you've ever wondered how to boost efficiency in embedded systems, or if you're just a fan of a good tech turnaround story, this talk is for you. --- Gili Kamma has a B.S.c in electrical engineering from Tel-Aviv University, Israel. With almost 20 years of experience developing embedded systems, she has worked across plenty of technical environments, BSP and low-level drivers in C, C++, Python, C#, Java, DB, and Cloud. She is an expert in developing embedded systems, gained a lot of knowledge from changing projects and products every year or two for the past 20 years. She has extensive experience in creating applications from scratch, improving the performance of existing ones, and maintaining products by solving bugs and ensuring quality. She has broad experience in industries such as Automotive, Cyber, IOT, Networking, and Aerospace. These days, she is the R and D manager at Blitz Electric Motors in Israel.

  • CppCon, The C++ Conference转发了

    查看Katherine Rocha的档案

    Software Engineer

    It was so cool getting to investigate C++ design trends with the amazing people at CppCon! I definitely learned some things and hopefully everyone else did too!!

    查看CppCon, The C++ Conference的组织主页

    19,123 位关注者

    CppCon, The C++ Conference 2024 - Katherine Rocha: "Investigating C++ Legacy Design Trends: Newer Isn’t Always Better!" youtu.be/ffz4oTMGh5E All code is legacy code, or so they say. Software engineers scoff at the idea of new code instantly becoming legacy code, however software is a time capsule holding the design trends of the time the code was written. As new code is written, new design trends are used and potentially overused, just like the legacy patterns. What if these new design trends have more in common with the original design trends than we initially thought. One example we will investigate is object oriented design through polymorphism and how it has been replaced in many cases with template metaprogramming. There are a variety of template metaprogramming strategies that achieve the object oriented design principles, however when overused you can encounter as many templates as there would be virtual functions in object oriented programming. Have we discovered that balance is the solution or are we still overusing the “fancy” new thing? In this talk, we will investigate various legacy design trends including further examining object oriented design, the singleton pattern, as well as other legacy anti-patterns to reveal the updated trends. We will address each legacy anti-pattern and their corresponding modern update to evaluate whether newer is better or if we have recreated the same legacy problem. --- Katherine Rocha is a new-ish software engineer who graduated in 2022. She’s passionate about embedded systems, real-time systems, and understanding as much as possible. She has been an active member of the C++ community for her entire career, starting with lightning talks at CppCon 2022 and C++Now 2023. She’s figuring it out one warning, error, and question at a time.

  • 查看CppCon, The C++ Conference的组织主页

    19,123 位关注者

    CppCon, The C++ Conference 2024 - Katherine Rocha: "Investigating C++ Legacy Design Trends: Newer Isn’t Always Better!" youtu.be/ffz4oTMGh5E All code is legacy code, or so they say. Software engineers scoff at the idea of new code instantly becoming legacy code, however software is a time capsule holding the design trends of the time the code was written. As new code is written, new design trends are used and potentially overused, just like the legacy patterns. What if these new design trends have more in common with the original design trends than we initially thought. One example we will investigate is object oriented design through polymorphism and how it has been replaced in many cases with template metaprogramming. There are a variety of template metaprogramming strategies that achieve the object oriented design principles, however when overused you can encounter as many templates as there would be virtual functions in object oriented programming. Have we discovered that balance is the solution or are we still overusing the “fancy” new thing? In this talk, we will investigate various legacy design trends including further examining object oriented design, the singleton pattern, as well as other legacy anti-patterns to reveal the updated trends. We will address each legacy anti-pattern and their corresponding modern update to evaluate whether newer is better or if we have recreated the same legacy problem. --- Katherine Rocha is a new-ish software engineer who graduated in 2022. She’s passionate about embedded systems, real-time systems, and understanding as much as possible. She has been an active member of the C++ community for her entire career, starting with lightning talks at CppCon 2022 and C++Now 2023. She’s figuring it out one warning, error, and question at a time.

  • CppCon, The C++ Conference 2024 - Amandeep Chawla: "Modern C++ Development - Limitations and Problems in std::function and Similar Constructs: Mitigations and Alternatives" youtu.be/clpQVn_LAiM In this talk, we will delve into the limitations and challenges associated with using std::function, std::packaged_task, std::apply, and similar constructs in modern C++ development. Despite their utility, these constructs often introduce performance overheads by invoking copies and moves of captured member variables, leading to increased complexity and unexpected behavior. I will share practical examples and common pitfalls encountered in real-world applications. Finally, I will present an alternative approach I have developed to mitigate these issues, offering a more efficient and reliable solution for developers. --- Amandeep Chawla is a seasoned software engineer with over 20 years of experience in C++. Since graduating in 2002, he has been actively working with C++ throughout his career. In his early years, Amandeep specialized in embedded systems, where he utilized a small subset of C++. This foundational experience provided him with a deep understanding of low-level programming and resource-constrained environments. In 2006, Amandeep joined Adobe, where he has held various roles over the past 17 years. Throughout his tenure at Adobe, he has been extensively involved in projects that heavily rely on C++. As a Senior Computer Scientist - II, Amandeep is currently a valued member of the core team responsible for Adobe CC Libraries. His contributions to the team involve leveraging C++ to develop robust and cross-platform solutions. With his extensive experience in C++, Amandeep has gained valuable insights into the language's strengths, limitations, and best practices. He has a deep appreciation for tackling complex challenges and finding innovative solutions to optimize performance, maintainability, and cross-platform compatibility.

  • CppCon, The C++ Conference 2024 - Amir Kirsh: "Back to Basics: Rvalues and Move Semantics in C++" youtu.be/i_Z_o9T2fNE Rvalue references and move semantics, introduced in C++11, were an important addition for the way we manage resources and optimize performance in our code. However, mastering these concepts can be challenging, leading to common pitfalls and misunderstandings. In this session, we will demystify rvalue references and move semantics, covering their underlying principles, practical applications, and best practices. We will start with the fundamentals of what rvalues are, how to implement and use move semantics correctly, covering the delicate syntax rules, then discuss design considerations and guidelines. We will cover the rule-of-zero, rule-of-three and rule-of-five, the need for std::move and when to use it, as well as forwarding references and std::forward. By focusing on the applicability of the subject, and with a clear and concise exploration of the fine details, participants would gain a solid understanding of how to master rvalue references and move semantics in their own codebase, with the ability to write more efficient and robust C++ code. --- Amir Kirsh is a C++ lecturer at the Academic College of Tel-Aviv-Yaffo and Tel-Aviv University, previously the Chief Programmer at Comverse, after being CTO and VP R&D at a startup acquired by Comverse. He is also a co-organizer of the annual Core C++ conference and a member of the ISO C++ Israeli National Body.

  • CppCon, The C++ Conference转发了

    查看Marcell Juhász的档案

    Electrical Engineer & C++ Developer

    Check out my presentation ??

    查看CppCon, The C++ Conference的组织主页

    19,123 位关注者

    CppCon, The C++ Conference 2024 - Marcell Juhász: "Cost of C++ Abstractions in C++ Embedded Systems" youtu.be/7gz98K_hCEM This session will feature detailed case studies that measure the overhead associated with common programming abstractions in the context of embedded systems. By examining both compile-time and run-time implications, attendees will gain valuable insights into how these abstractions impact system resources like memory usage and execution speed. Key areas of exploration will include: o Encapsulation: Assessing the cost of data hiding and interface protection depending on implementation strategies. o Inheritance: Evaluating the costs and benefits of using class hierarchies in environments where memory and processing power are limited. o Polymorphism: Comparing run-time polymorphism via virtual functions to compile-time alternatives like templates and concepts, analyzing their respective impacts on performance and flexibility. Through empirical data and performance metrics, participants will observe how traditional object-oriented techniques affect resource utilization. The discussion will also cover the advantages and trade-offs of these techniques, providing a balanced view of their impact on embedded systems. Designed for developers and system architects working within the constraints of embedded systems, this talk aims to provide valuable insights into making informed decisions about when and how to use specific programming abstractions. Attendees will leave with a clearer perspective on optimizing their code for maximum efficiency, armed with practical knowledge about the trade-offs involved in adopting various software design paradigms. --- Marcell Juhasz is an embedded software developer at Zühlke Engineering, a global innovation service provider that transforms ideas into new business models by developing cutting-edge services and products. At Zühlke, Marcell leverages his expertise in C++ and modern technologies to create advanced embedded systems. Prior to joining Zühlke, he gained valuable experience working at several smaller companies, where he developed new products and maintained existing ones using C++. Marcell recently graduated from the Vienna University of Technology with a specialization in embedded systems. His master's thesis focused on the benefits of using modern C++ in embedded systems, deepening his understanding and proficiency in the language.

  • CppCon, The C++ Conference 2024 - Marcell Juhász: "Cost of C++ Abstractions in C++ Embedded Systems" youtu.be/7gz98K_hCEM This session will feature detailed case studies that measure the overhead associated with common programming abstractions in the context of embedded systems. By examining both compile-time and run-time implications, attendees will gain valuable insights into how these abstractions impact system resources like memory usage and execution speed. Key areas of exploration will include: o Encapsulation: Assessing the cost of data hiding and interface protection depending on implementation strategies. o Inheritance: Evaluating the costs and benefits of using class hierarchies in environments where memory and processing power are limited. o Polymorphism: Comparing run-time polymorphism via virtual functions to compile-time alternatives like templates and concepts, analyzing their respective impacts on performance and flexibility. Through empirical data and performance metrics, participants will observe how traditional object-oriented techniques affect resource utilization. The discussion will also cover the advantages and trade-offs of these techniques, providing a balanced view of their impact on embedded systems. Designed for developers and system architects working within the constraints of embedded systems, this talk aims to provide valuable insights into making informed decisions about when and how to use specific programming abstractions. Attendees will leave with a clearer perspective on optimizing their code for maximum efficiency, armed with practical knowledge about the trade-offs involved in adopting various software design paradigms. --- Marcell Juhasz is an embedded software developer at Zühlke Engineering, a global innovation service provider that transforms ideas into new business models by developing cutting-edge services and products. At Zühlke, Marcell leverages his expertise in C++ and modern technologies to create advanced embedded systems. Prior to joining Zühlke, he gained valuable experience working at several smaller companies, where he developed new products and maintained existing ones using C++. Marcell recently graduated from the Vienna University of Technology with a specialization in embedded systems. His master's thesis focused on the benefits of using modern C++ in embedded systems, deepening his understanding and proficiency in the language.

相似主页

查看职位