Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

Keynote: There Is No Silver Bullet to Solve All C++ Software Problems - Klaus Iglberger - C++ on Sea

Автор: cpponsea

Загружено: 2024-12-12

Просмотров: 7402

Описание:

https://cpponsea.uk​
---

Keynote: There Is No Silver Bullet to Solve All C++ Software Problems - Klaus Iglberger - C++ on Sea 2024
---

Most developers love simplifications — they love the idea of that one tool that solves all of their problems. We have seen that in the late 90s and early 2000s, when object-oriented programming (OOP) was promoted as the one solution to all software problems. Today, however, the tide seems to have turned and functional programming (FP) is on the rise. OOP, on the other hand, seems to be considered an obsolescent paradigm:

“Inheritance is the Base Class of Evil” (Sean Parent, 2013)
“OOP is dead” (Stoyan Nicolov, 2018)
“[Object-oriented programming] is not what the cool kids are doing in C++.” (Jon Kalb, 2019)
“Eliminating Virtual Functions” (Jonathan Gopel, 2022)
”I believe that object-oriented programming and especially its theory is overestimated. … C++ always had templates, and now also has std::variant, which makes most of the use of inheritance unnecessary.” (Unknown Reviewer, 2023)

std::variant is indeed a fantastic solution: it’s functional, it’s simple, it’s value-based, and — perhaps most importantly — it’s fast. So it feels and sounds like a great replacement of virtual functions and object-oriented programming.

Unfortunately it is not. There is no silver bullet. There simply isn’t this one solution that works everywhere and every time. Truth is that neither OOP nor FP can solve all problems — we need both of them.

In this talk I’ll shed light on this antagonistic competition between OOP and FP. I’ll compare them by means of a practical example and show that both have their architectural strengths, but also weaknesses — along with many similarities.

I’ll also demonstrate that OOP has evolved: today, we prefer the value-based Type Erasure style to the classic GoF style. From an architectural point of view, the object-oriented Type Erasure is the antipode to the functional std::variant and I’ll show that only a wise combination leads to successful architectures.
---

Slides: https://github.com/philsquared/cppons...

Sponsored by Bloomberg: https://www.bloomberg.com/company/val...
Sponsored By think-cell: https://www.think-cell.com/cpponsea
---

Klaus Iglberger

Klaus Iglberger is a freelance C++ trainer and consultant. He shares his expertise in popular C++ courses — from beginner to advanced — all around the world. He is the author of “C++ Software Design” [1], one of the organizers of the Munich C++ user group [2], and the (co-)organizer of the Back-to-Basics [3] and Software Design [4] tracks at CppCon [5].

[1] https://learning.oreilly.com/library/... [2] https://www.meetup.com/MUCplusplus/ [3] https://cppcon.org/b2b/ [4] https://cppcon.org/softwaredesign/ [5] https://cppcon.org
---

C++ on Sea is the international C++ conference taking place by the sea, in the UK. Our venue is in Folkestone, Kent, near the entrance to the channel tunnel with stunning views across the English Channel.
Annual C++ On Sea Conference - https://www.cpponsea.uk
  / cpponsea  
https://x.com/cpponsea
https://www.facebook.com/profile.php?...
  / cpponsea  
https://vmst.io/@cpponsea
Video Sponsors:
---

YouTube Videos Filmed, Edited & Optimised by Digital Medium: https://events.digital-medium.co.uk
---

#cpp #cplusplus #softwareissues #cppprogramming #cpponsea

Keynote: There Is No Silver Bullet to Solve All C++ Software Problems - Klaus Iglberger - C++ on Sea

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

How to Implement the C++ Standard Library (Part 2): An Excursion into libc++ - Christopher Di Bella

How to Implement the C++ Standard Library (Part 2): An Excursion into libc++ - Christopher Di Bella

Dependency Injection in C++ - A Practical Guide - Peter Muldoon - C++ on Sea 2024

Dependency Injection in C++ - A Practical Guide - Peter Muldoon - C++ on Sea 2024

Breaking Dependencies: Type Erasure - A Design Analysis - Klaus Iglberger -  CppCon 2021

Breaking Dependencies: Type Erasure - A Design Analysis - Klaus Iglberger - CppCon 2021

There is no silver bullet - Klaus Iglberger - Meeting C++ 2024

There is no silver bullet - Klaus Iglberger - Meeting C++ 2024

Как устроен PHP 🐘: фундаментальное знание для инженеров

Как устроен PHP 🐘: фундаментальное знание для инженеров

C++ Core and Other C++ Guidelines - The Good, the Bad, the… Questionable? - Arne Mertz - C++ on Sea

C++ Core and Other C++ Guidelines - The Good, the Bad, the… Questionable? - Arne Mertz - C++ on Sea

Rethink Polymorphism in C++ - Nicolai Josuttis - C++ on Sea 2025

Rethink Polymorphism in C++ - Nicolai Josuttis - C++ on Sea 2025

C++ Design Patterns - The Most Common Misconceptions (2 of N) - Klaus Iglberger - CppCon 2024

C++ Design Patterns - The Most Common Misconceptions (2 of N) - Klaus Iglberger - CppCon 2024

Почему я пишу на C++ так, как будто это C?

Почему я пишу на C++ так, как будто это C?

Keynote: Functional Programming in C++ - Jonathan Müller - C++Online 2025

Keynote: Functional Programming in C++ - Jonathan Müller - C++Online 2025

Understanding The constexpr 2-Step - Jason Turner - C++ on Sea 2024

Understanding The constexpr 2-Step - Jason Turner - C++ on Sea 2024

This is C++ - How to Use the C++ Superpower to Write Better C++ Code - Jon Kalb - C++ on Sea 2024

This is C++ - How to Use the C++ Superpower to Write Better C++ Code - Jon Kalb - C++ on Sea 2024

Zero-Cost Abstractions in C++ - High Performance Message Dispatch - Luke Valenty - C++Now 2024

Zero-Cost Abstractions in C++ - High Performance Message Dispatch - Luke Valenty - C++Now 2024

Breaking Dependencies: The SOLID Principles - Klaus Iglberger - CppCon 2020

Breaking Dependencies: The SOLID Principles - Klaus Iglberger - CppCon 2020

8. Object Oriented Programming

8. Object Oriented Programming

Back to Basics: Designing Classes (part 1 of 2) - Klaus Iglberger - CppCon 2021

Back to Basics: Designing Classes (part 1 of 2) - Klaus Iglberger - CppCon 2021

Testable by Design - How to Create Testable C++ Code Using C++ Language Features - Steve Love - 2024

Testable by Design - How to Create Testable C++ Code Using C++ Language Features - Steve Love - 2024

Applicative: The Forgotten Functional Pattern in C++ - Ben Deane - CppNow 2023

Applicative: The Forgotten Functional Pattern in C++ - Ben Deane - CppNow 2023

Design Patterns: The most common misconceptions - Klaus Iglberger - Meeting C++ 2023

Design Patterns: The most common misconceptions - Klaus Iglberger - Meeting C++ 2023

C++ Type Erasure Demystified - Fedor G Pikus - C++Now 2024

C++ Type Erasure Demystified - Fedor G Pikus - C++Now 2024

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]