Back to Basics: C++ API Design - Jason Turner - CppCon 2022

Back to Basics: C++ API Design - Jason Turner - CppCon 2022

CppCon

1 год назад

85,693 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

Ian Torres
Ian Torres - 31.10.2023 10:12

Nice to see a conference with people interaction.

Ответить
Zarviroff Serge
Zarviroff Serge - 15.09.2023 22:37

The vector empty() const. A verb? On a const? ahahaha)) This is a good talk.

Ответить
bryan coxwell
bryan coxwell - 21.07.2023 12:50

I do not know a single thing about C++ and still found this to be an excellent talk.

Ответить
Ayubyun
Ayubyun - 19.06.2023 06:59

hello c++

Ответить
Robert McCabe
Robert McCabe - 06.06.2023 05:02

I like the style of this guy's talks.

Ответить
Joe Zbiciak
Joe Zbiciak - 25.04.2023 10:39

Regarding the very end of the talk: fuzzing tools are definitely and important part of your arsenal. I earned my Knuth Hex Dollar with the help of a fuzzing tool.

Ответить
KX36
KX36 - 17.04.2023 02:49

the answer to the question "what should we do with this API?" is, as all answers to similar questions are, "ship it."

Ответить
Jay Bee
Jay Bee - 03.03.2023 14:37

Viewing Jason's CppCon talks from older to recent I wonder what's the ultimate objective for the beard..?
🤣🤣🤣

Ответить
Kai Szuttor
Kai Szuttor - 24.02.2023 22:12

Quite a dry humor 😅

Ответить
John McLeod VII
John McLeod VII - 06.02.2023 00:14

I've had a minor problem with a parameter to fseek destroy 2 hard disks. Fseek takes a parameter describing where to seek from (beginning, end, or current position) and a distance to seek specified as a signed long. Seeking outside of the bounds of the file and then reading or writing has undefined behavior. My code has 2 unsigned shorts that had to be multiplied to get the position from the start of the file to write the block of information. Unfortunately I forgot to cast the shorts before the multiplication and ended up with a 1 in the MSb of the resulting unsigned short. This was then sign extended into long that was used to seek from the start of the file. Unfortunately on that computer with that OS, and that hard disk this overwrote part of the engineering sectors of the hard disk. The manufacturer declared the HD was unfixable. The second drive was destroyed during single step debugging to find the bug and I went one step too far.

Ответить
Stephen James
Stephen James - 23.01.2023 15:21

Dynamic and interesting speaker.

Ответить
Дмитро
Дмитро - 23.01.2023 14:49

First 5 mins I was thinking this guy needs less alpha-male energy on stage and more informatin to present. But in the end it wasn't that bad, I noted down few intresting things. 3 out of 5 talk.

Ответить
haxpor
haxpor - 11.01.2023 08:34

It looks to me C++ has complexity ahead of its time. std::expected (c++23) is Result in Rust that has long been there making code totally clean and clear in handling error. Thanks for video!

Ответить
Yi Zhong
Yi Zhong - 09.01.2023 04:54

C++ become more messy

Ответить
Rational Coder
Rational Coder - 08.01.2023 12:10

This contains a few nuggets of good advice, but focuses too much on trivialities and a few falsehoods, like using exceptions in the first place. Yes the defaults of C++ are bad, and the language itself has many issues, but often hacking in a solution in C++ is just not worth the effort vs time spent debugging/testing. Simpler APIs with fewer concepts, but with well known usability issues, are often better than complicated APIs with extra concepts for safety. This is because the ways in which simple APIs can be used correctly and incorrectly are well known, whereas the ways in which an API with bespoke concepts can be used correctly and incorrectly is unique to every library that decides to go this route. Sometimes the answer is just that C++ sucks. Fix the language, put up with it, or work with a different one. It's for this reason that many people including myself simply don't use third party C++ libraries if we can avoid it. I always look for the C version of a library.

Ответить