Robots Are After Your Job: Exploring Generative AI for C++ - Andrei Alexandrescu - CppCon 2023

preview_player
Показать описание
Access All 2023 Session Videos Ahead of Their Official Release To YouTube. At least 30 days exclusive access through the Early Access system. Videos will be released to the CppCon channel on a schedule of one video per business day, with initial releases starting in November.
---

Robots Are After Your Job: Exploring Generative AI for C++ - Andrei Alexandrescu - CppCon 2023

Almost a year since the launch of ChatGPT – considered by many as the first truly compelling code generator that translates free-form human language into code – the C++ community continues to grapple with the implications. Reactions range from indifference or skepticism to genuine concern about the future of human programmers.

Although some advanced C++ techniques are already accessible to tools like ChatGPT, certain fundamental aspects remain outside the reach of current and possibly next-generation generative AI tools. This disparity raises pivotal questions: Which parts of the intricate C++ ecosystem can we confidently delegate to generative AI? What uniquely human skills must we retain and refine?

We'll probe the potential and limits of contemporary AI, taking a novel look at the age-old binary search algorithm. Although this algorithm has long been held up as a paragon of efficiency, we challenge that notion. What would ChatGPT have to say about it, and how might it partner with us to refine this cornerstone of algorithmic logic? The conversation opens a window into a future where developers become the "one percenters" of programming—focusing solely on the most cerebral and high-level challenges, while AI takes care of the everyday tasks. Join us to explore this fascinating paradigm shift and reflect on what it means for your own work in and with C++.

---

Andrei Alexandrescu

Andrei Alexandrescu is a Principal Research Scientist at NVIDIA. He wrote three best-selling books on programming (Modern C++ Design, C++ Coding Standards, and The D Programming Language) and numerous articles and papers on wide-ranging topics from programming to language design to Machine Learning to Natural Language Processing to fundamental algorithms. Andrei holds a PhD in Computer Science from the University of Washington and a BSc in Electrical Engineering from University "Politehnica" Bucharest. He is the Vice President of the D Language Foundation.
__

---

#cppcon #ai #cpp #cppprogramming
Рекомендации по теме
Комментарии
Автор

I had the pleasure of picking Andrei's brain for many hours over several days at a conference in Boston several years ago. Fantastic engineer and fantastic person. His talks never disappoint. Thank you, Andrei!

I was a little surprised to hear that using a larger left bias for the upper bound portion of the improved equal range algorithm didn't have a benefit. Maybe I need to take a closer look at the implementation and think about the problem a little longer.

christopherhayden
Автор

Oh you know this is going to be good :-) Andrei brings the wake-up call!

tomkirbygreen
Автор

Andrei for President! Best speaker ever :)

SvenAlmgren
Автор

This is awesome. This is why I enjoy watching these talks and seeing people continuous question the standards of their own library. showing how these llms can improve your day to day to make the menial tasks easier is a great message to share.

ferinzz
Автор

21:20 very well explained, chat gpt and its brothers it not gonna rob us of our jobs, it helps us get better and faster and do more interesting stuff.

CoreDump
Автор

Great stuff Andrei! I wonder if we'll see these improvement in the STD

yoniyash
Автор

That is a great talk and awesome research!

ark.
Автор

It also would be very interesting a talk about using C++ for implementing ChatGPT-like AI... are they using Python for AI nowadays? Why not C++?

Codenoia
Автор

Ok, the REAL question is - did Andrei jam with that band?

yogthemuskrat
Автор

I got this guy's book Modern C++ design a decade back and came to know how little C++ I knew

ManpreetSingh-ogfy
Автор

1:17:20 Creativity and Judgement also translate quite well between languages, but Skill not so much.

Bolpat
Автор

1:08:25 I think that good judgement derives from good intuition, which in turn derives from good skill, which in turn comes from lots of experience.
Obviously, a person may not necessarily get stuff from right to level, but that's a different topic.

So, no, I wouldn't say that AI levels the playing field in terms of skill.

kuhluhOG
Автор

Having links to actual prompts used to generate code while iterating would be super helpful. Especially together with discussion of what were the bugs in generated code.

muxecoid
Автор

For equal_range, expanding upon the idea that you're likely to have a small number of equal items (in relative terms), wouldn't it be faster to do an exponential search for the upper bound, instead of a center left binary search?

With the center left upper bound binary search, you still start by considering the entire remaining range, but bias towards shrinking it quickly. With an exponential search you start by considering the minimal range and exponentially grow it up to the entire remaining range if necessary. So the runtime of the second part of the algorithm will depend only on the length of the equal range, not on the total length of the list. For large lists in the expected case where the equal range is small by comparison this should provide a significant speed up.

Even better, unlike in traditional exponential search, in this case you can 'drag the lower bound (on the upper bound) with you' as you exponentially grow the upper bound.

EDIT: ah, I see this was asked in the questions in the end.

joopieaa
Автор

1:25:00 I put the code on slide 36 in GodBolt and with GCC and Clang on O3, there are no mul instructions using int* and std::less. I don’t really understand the assembly, but it contains zero multiplication and zero division instructions.

Bolpat
Автор

If AI does all my boiler plate coding, bring it on

mashton
Автор

When will we have those algorithms in the namespace std? Did Andrey submit them for standardization? All the best should be part of the standard.

mirrorless_mirror
Автор

1:21:00 the -torae isn’t Latin. It looks like Latin to the uninformed, but it’s not proper. The vocative of nouns ending in _-ore_ is _-ore, _ i.e. the same.

Bolpat
Автор

21:20 this formula doesn't seem correct, you are summing a bunch of integers but then you get a rational number as a value? Even trying n = 2 you get 23/10 which doesn't seem to match what we should get. I think the correct formula is 3 n lg n - 2 n + 2. BTW this shouldn't really take very long even by hand since you just need to know how to sum a geometric series?

TheEternalVortex
Автор

Robots are after nothing. That's the ruling 1% that are after your job.

joseoncrack