- Видео 12
- Просмотров 7 186
OsloCpp
Норвегия
Добавлен 28 фев 2019
Panel: C23 and beyond (Pre-NDC-TechTown 2023 Meetup)
Panel on C23 and beyond @NDC , moderated by Jason Turner @cppweekly
On the panel:
Robert C. Seacord (WG14, Author of Effective C, Standardization Lead at Woven Planet)
JeanHeyd Meneide (WG14, Project Editor for C (WG14), Sr Software Developer at Shepherd's Oasis)
John Regehr (WG14, Author of Csmith and C-Reduce, Professor of Computer Science at the University of Utah)
Olve Maudal (Ministry of silly code snippets, Author of Deep C, Senior Advisor in Equinor)
Aaron Ballman (WG14, Lead Maintainer for Clang, Sr Staff Compiler Engineer at Intel) - could unfortunately not attend
On the panel:
Robert C. Seacord (WG14, Author of Effective C, Standardization Lead at Woven Planet)
JeanHeyd Meneide (WG14, Project Editor for C (WG14), Sr Software Developer at Shepherd's Oasis)
John Regehr (WG14, Author of Csmith and C-Reduce, Professor of Computer Science at the University of Utah)
Olve Maudal (Ministry of silly code snippets, Author of Deep C, Senior Advisor in Equinor)
Aaron Ballman (WG14, Lead Maintainer for Clang, Sr Staff Compiler Engineer at Intel) - could unfortunately not attend
Просмотров: 1 374
Видео
"Qt and C++ 20" Marc Mutz/Piotr Wierciński
Просмотров 181Год назад
When Qt 5.0 was released, it was the first version to require C 98 compliant compilers. Qt 5.7 then required C 11, and Qt 6.0 C 17. We're now 3 years past the finalization of C 20, and we've developed a roadmap for C 20 support in Qt. This talk will first present the general roadmap, then dive into details about what C 20 support means for the Qt C APIs. We'll talk about the big features (conce...
"Functional Programming in C++", Vitaly Fanaskov
Просмотров 231Год назад
The latest C standard brings in new tools from the world of functional programming. It's possible to use different "monadic" operations on types like std::expected and std::optional to write more succinct code abstracting away control flow and side effects. Combining this with ranges and lambda functions gives us a powerful tool for creating more robust and less wordy programs. But when we shou...
"WASM: Doing C++ the web way", Mikołaj Boć
Просмотров 202Год назад
With the advent of WebAssembly, the C community has been given an opportunity to shine on the Web in their own familiar programming ecosystem. But is it really so transparent from developer’s perspective? We will take a look at major challenges one might be faced with when programming in C for the web, focusing especially on the relation between the - mostly async - web world and the somewhat s...
"Adventures with coroutines in Qt", Mårten Nordheim
Просмотров 50Год назад
Qt is written with a focus on asynchronous execution, which lends itself very well to coroutines. In this talk we will talk about how coroutines could work in Qt, why we would want it, some examples and the challenges along the way.
"Why converting to and from UTC is expensive and unreliable", Edward Welbourne
Просмотров 68Год назад
As pointed out by [0], time and timezones are not as simple as many programmers commonly make the mistake of thinking. Converting between a zoned time (including local time) and any other time representation (typically the robust bedrock of UTC) gets complicated close to transitions (such as the start and end of DST), leading to one part in 2921.94 of the time accounting for a considerably larg...
Alexei Khlebnikov: New APIs in OpenSSL 3.0
Просмотров 123Год назад
We'll have a look at the new APIs in OpenSSL 3.0
Anders Schau Knatten: lvalues, rvalues, glvalues, prvalues, xvalues, help!
Просмотров 2,8 тыс.Год назад
C 11 introduced three new value categories, and renamed one of the existing ones. I'll go over all of them and demonstrate how it's not as complicated as it might look.
Piotr Wierciński: CppFront, Carbon, Circle, what's next for C++?"
Просмотров 1,7 тыс.Год назад
2022 brought a lot of innovation and potential successors of C . Let's have a quick look at CppFront, Carbon and Circle, and see what the main ideas behind each of them are.
Vitaly Fanaskov: More "monadic" operations for modern C++
Просмотров 196Год назад
Quite a few useful things were accepted for the upcoming C standard. The class std::optional supports more operations for processing the contained data depending on whether it has a value or not. The proposal for std::expected is finally in place. It's getting easier to write robust programs with this tooling! In this talk, I'm going to show how to use these and some other classes for creating ...
'42 silly ways to say Hello in Modern C++' by Olve Maudal
Просмотров 1185 лет назад
Note: This video has no sound! This is an experimental setup, which this time had no audio. Modern C feels like a new language: move semantics, futures, meta-programming, concepts, type deduction, constexpr, smart pointers, lambda expression, and algorithms, just to mention a few. This talk will give you a quick but educational overview of modern C through printing out "Hello" in 42 different w...
"C++17 Upgrade in 60 minutes", by Hubert Matthews
Просмотров 885 лет назад
Note: This video has no sound! This is an experimental setup, which this time had no audio. C 17 comes with lots of improvements both in the core language and in the library: copy elision, fold expressions, constexpr if, deduction guides, optional, any, variant, string_view, invoke, apply, and void_t, just to mention a few. Hubert will give an overview of the most important new features in C 17...
simple and beautiful
@20:00 i agree w/ guy#2
C+++
That giggle/laughter at 1:59 makes the video worth watching, even besides the awesome explanation :D
Best explanation I have heard of !
Awesome explanation!
❤️
00:00:00 Introduction 00:00:30 Panel Introductions 00:06:45 Are C lambdas in the works? 00:07:04 JM's response 00:10:00 OM's response 00:10:42 RS's response 00:11:47 JM's response 00:13:15 Are you able to declare (non-lambda) functions inside functions in C? 00:13:20 JM's response 00:14:12 With C23, is C diverging from C++? 00:15:15 JM's response 00:19:04 OM's response 00:20:16 Is there a similar three-year cycle in the C standards committee? 00:20:35 RS's response 00:22:43 How to handle C23 #embed versus C++ constexpr? 00:23:27 Why should I use C instead of Rust or Go for new projects? 00:24:00 OM's response 00:25:50 RS's response 00:26:36 JR's response 00:26:55 Is C the most portable language right now? 00:26:57 JM's response 00:31:01 What is the state-of-the-art in fuzzing compilers and standard libraries? 00:31:25 JR's response 00:34:55 Are the compiler and standard library vendors good as fuzzing their own stuff? 00:35:22 JR's response 00:35:57 (P)eter: Comment about languages with a specification allows for certification. 00:36:53 OM's response 00:37:28 JM's reponse 00:43:05 If you start using 'unsafe' in Rust, why do you need Rust? Why not use C instead? 00:44:20 JM's response 00:48:08 JR's response 00:48:59 RS's response 00:49:28 What is C's biggest mis-feature in your opinion? 00:49:45 RS: realloc() 00:51:40 OM: C99 00:52:45 JR: Order evaluation of parameter lists 00:53:26 JM: Rant about order evaluation in C/C++ 00:58:40 JT: Rant about C++17 funcation argument evaluation bugs in GCC compiler 00:59:12 P: Defending the right-to-left order evaluation 01:00:55 JM: On Peter's assert() proposal to C standards committee 01:02:00 What are your favorite feature(s) in C23? 01:02:50 JM: memset_explicit() 01:05:16 JM: Attributes 01:06:15 RS: Elimination of trigraphs 01:07:15 RS: Attributes 01:08:26 RS: Checked integers 01:09:50 JT: #embed 01:09:58 JM: #embed 01:17:15 OM: memset_explicit() 01:17:32 What is the problem with memset()? 01:17:41 OM's response 01:19:01 Now that C23 has checked integers, would there be room for a specific limited form of operator overloading in order to not make them obnoxious? 01:19:17 RS's response 01:21:03 JR's response 01:22:22 JM's response 01:27:01 Wrap up
Maybe hide wacky evaluation order behind atributes?
When Jason asked me what my role was in Seaworld I should have said "Orca".
On the subject of "why use C in a new project?" I'm actually seeing that C is becoming sexy again as the language for universal interoperability. With the rising popularity of languages like Swift, Go, Rust, etc which can all interop natively with C, using C++ at very least at the API boundary is becoming less desirable. People are discovering that its a dead-end in terms of interoping with other languages. You can see an extreme example of using C for this kind of interoperability in the GNOME stack and GTk. They have a purely C-based object oriented type system, which has enabled GTk and the rest of the stack to bind to virtually every language out there and is why it's so ubiquitous in terms of language support.
C creates the fastest code, smaller code, most portable, reliable, resistant to fashion waves.
@@thradams_cake Yeah sure, if you ignore all the common issues around C
Any code can be wrong and fast at the same time :v
@@thradams_cake It doesn't necessarily create the fastest code. The canonical example is quick sort.
#embed discussion begins at 1:09:40. Order of operations "rant" 53:25
Thank you for uploading this! It is slightly outdated tho, value categories were again changed in C++17-you can not longer move from prvalues, for example.
'promo sm' 👇