With AI, Anyone Can Be a Coder Now | Thomas Dohmke | TED

237,329 views ・ 2024-05-24

TED


Please double-click on the English subtitles below to play the video.

00:04
You know, I'm one of these adults
0
4376
1960
00:06
that actually still loves playing with LEGO.
1
6378
3295
00:09
I loved them way back in the '80s in Berlin when I grew up,
2
9714
3295
00:13
and I still love them.
3
13051
1585
00:14
And these days, I build LEGO with my kids on Saturday afternoons.
4
14678
4462
00:19
And the reason that my love for LEGO
5
19474
1752
00:21
has remained evergreen is, quite simply,
6
21226
2252
00:23
that LEGO is a system for realizing creativity
7
23520
3545
00:27
with almost no barrier to entry.
8
27107
2711
00:30
And I’m not only a LEGO dad,
9
30443
1377
00:31
I'm also the CEO of GitHub.
10
31861
1919
00:33
And if you don't know GitHub,
11
33780
1418
00:35
you can think of it as the home of coding.
12
35198
2711
00:37
It's where all the software developers,
13
37951
2586
00:40
the chief nerds of our society,
14
40579
2961
00:43
collaborate together.
15
43540
2127
00:45
And it's part of our mission to make it as easy as possible
16
45667
3170
00:48
for every developer to build small and big ideas with code.
17
48878
4797
00:54
But in contrast to LEGO,
18
54050
1877
00:55
the process of building software feels daunting to most people.
19
55927
4588
01:01
This all started to change
20
61391
1793
01:03
when ChatGPT came along in late 2022.
21
63226
3295
01:06
Now we live in a world where intelligent machines understand us
22
66896
3337
01:10
as much as we understand them.
23
70275
2586
01:13
All because of language.
24
73361
1669
01:15
And this will forever change the way we create software.
25
75739
4254
01:20
Up until now, in order to create software,
26
80327
2752
01:23
you had to be a professional software developer.
27
83121
2794
01:25
You had to understand, speak and interpret the highly complex,
28
85915
5506
01:31
sometimes nonsensical language of a machine that we call code.
29
91421
3921
01:35
Modern code still looks like hieroglyphics to most people.
30
95884
4087
01:39
Here's an example.
31
99971
1168
01:41
This, from the early 1940s,
32
101139
2336
01:43
is the world's first computer programming language,
33
103475
2794
01:46
called Plankalkül.
34
106311
1752
01:48
It set the foundation for the modern code that we use today.
35
108104
2836
01:50
And as you can see, it's a few numbers,
36
110940
2461
01:53
some bubbles and some big-ass brackets.
37
113443
3545
01:57
Not much humanity here, right?
38
117572
2211
01:59
Flash forward about 20 years
39
119783
2127
02:01
to the programming language called COBOL.
40
121951
2128
02:04
COBOL was invented during the Eisenhower years,
41
124079
3837
02:07
but it remains an important language
42
127957
1877
02:09
for many of our largest financial institutions.
43
129876
2920
02:12
Wall Street, your savings account, your credit cards,
44
132837
3796
02:16
all run on this today.
45
136633
1918
02:18
And we see some familiar words here.
46
138927
2085
02:21
But structurally, I think this doesn't make much sense to most of you.
47
141054
3545
02:24
Flash forward another 30 years to 1991,
48
144599
2753
02:27
and we saw the birth of Python,
49
147394
2168
02:29
one of the most popular programming languages in this era of AI.
50
149604
4296
02:34
In 80 years, we went from bubbles to brackets,
51
154693
4087
02:38
to blips of English,
52
158780
1168
02:39
and yet, we got nowhere near as close as the intuitiveness of human language.
53
159989
5631
02:46
But then came June 2020,
54
166621
1835
02:48
and we got early access to OpenAI's large language model,
55
168498
3462
02:52
then called GPT-3.
56
172001
1627
02:54
It was COVID, we were all on lockdown,
57
174212
2002
02:56
I remember we were on a video call together.
58
176214
2711
02:58
We fed random programming exercises into this raw model,
59
178967
4212
03:03
and like magic,
60
183221
1376
03:04
it solved 93 percent of them during the first few takes.
61
184597
4171
03:09
We at GitHub recognized we had something remarkable in our hands,
62
189310
3546
03:12
and we quickly turned around a novel developer tool
63
192897
3128
03:16
called GitHub Copilot:
64
196025
1669
03:17
an AI assistant that predicts and completes code
65
197736
2961
03:20
for software developers.
66
200697
1710
03:22
Copilot is now the most adopted AI developer tool on the planet.
67
202407
5297
03:28
The age of programming has been reborn.
68
208246
3545
03:31
But the possibilities of the breakthrough
69
211791
2044
03:33
went further than just these business results.
70
213877
2502
03:36
Because the large language models that power ChatGPT and Copilot
71
216880
5171
03:42
are trained on a vast library of human information,
72
222051
3379
03:45
they understand and interpret nearly every human language,
73
225472
3586
03:49
every major human language.
74
229100
2086
03:52
They seem to get us.
75
232020
1585
03:54
We have struck a new fusion
76
234564
1835
03:56
between the language of a human and a machine.
77
236441
3879
04:00
With Copilot, any person can now build software in any human language
78
240987
6465
04:07
with a single written prompt.
79
247494
2502
04:10
Goodbye to the bubbles and the big-ass bracket.
80
250038
4087
04:15
This is the most profound breakthrough to technology
81
255960
4129
04:20
since the genesis of software development itself.
82
260131
2753
04:23
Today, there are over 100 million developers on GitHub.
83
263927
3086
04:27
That's about one percent of the world's population,
84
267055
3044
04:30
you know, plus-minus.
85
270099
1377
04:31
I think that number is about to explode.
86
271476
3211
04:34
And I want to show you why, here on my MacBook.
87
274729
2211
04:36
We started it all with the original Copilot or how we say the OG Copilot,
88
276981
3963
04:40
and it literally just predicted and completed code in the editor.
89
280985
3546
04:44
You can think of the editor as, you know, the Google Docs for developers.
90
284572
3712
04:48
And when you have a doc open, you know how it is, empty page,
91
288326
4004
04:52
what do I actually want to do?
92
292372
1460
04:53
And I mentioned LEGO.
93
293832
1209
04:55
So let’s build a 3D LEGO brick on a web page.
94
295083
3420
04:58
So what developers do, you know, they start typing.
95
298545
2419
05:00
And so I typed in the JavaScript file,
96
300964
1835
05:02
create a function to create a LEGO brick.
97
302841
4087
05:06
And you can see here this gray text, we call this ghost text.
98
306928
2961
05:09
This is coming from the large language model.
99
309931
2127
05:12
So now I can just press the tab key and press enter.
100
312058
3045
05:15
And I get another suggestion, you know, to create a LEGO tower.
101
315144
3003
05:18
Maybe we do that later.
102
318147
1252
05:19
Or I can just do: function draw LEGO brick.
103
319440
4046
05:23
And here again you see ghost text from Copilot right away available for me.
104
323528
4504
05:28
And if I like what I'm seeing here,
105
328074
1710
05:29
so I get into a mode of writing and understanding,
106
329784
2961
05:32
I can just accept this.
107
332787
1710
05:34
Developers love that, right?
108
334497
1377
05:35
Because instead of writing ten lines of code themselves
109
335915
2586
05:38
or copy and pasting them from the internet,
110
338501
2419
05:40
they get them right in their editor.
111
340962
1752
05:42
They can stay in the flow.
112
342714
1585
05:44
Now what the OG Copilot didn’t offer me is a way to interact with this.
113
344299
3545
05:47
I cannot ask questions,
114
347886
1543
05:49
I cannot, you know, instruct it to do different things.
115
349470
2962
05:52
Last year we launched a new feature, Copilot chat,
116
352473
2461
05:54
and you can think about it as ChatGPT in your editor.
117
354976
3045
05:58
So I can open this up here in the sidebar.
118
358062
2378
06:01
And now I can tell it to create a whole web page
119
361149
3086
06:04
with a 3D LEGO brick for me.
120
364235
1794
06:06
Now you know, similar to ChatGPT, it streams the response,
121
366070
2753
06:08
and it gives me not only some code
122
368823
1710
06:10
but it actually gives me an explanation.
123
370575
1918
06:12
You know, it starts writing code,
124
372535
1585
06:14
you can see the comments that explain what that code does.
125
374162
2836
06:16
It uses an open-source library called Three.js.
126
376998
2628
06:19
And so you can kind of see here the idea of this empowering developers
127
379667
4213
06:23
and people that want to learn development.
128
383880
2085
06:25
And it ends, you know, with another explanation.
129
385965
2294
06:28
Now I can go here, inspect that code,
130
388301
2210
06:30
and I can actually push that button to copy it into my file.
131
390553
3545
06:34
But I want to show you something else here.
132
394098
2002
06:36
And you might have already seen this little mic icon.
133
396142
2503
06:38
I can use that to speak to Copilot.
134
398686
1710
06:40
And I want to ask it, in German, what that code does
135
400396
3128
06:43
that is on the left side in the editor.
136
403524
1919
06:47
(Speaking German) Can you explain to me what that code does?
137
407528
2920
06:52
And now Copilot responds again,
138
412951
1626
06:54
but it responds in German to me, right?
139
414619
2044
06:56
So it says, if I loosely translate,
140
416663
2335
06:58
"Yes, of course, this JavaScript code defines a function
141
418998
3170
07:02
named ‘drawLEGOBrick.’”
142
422168
1502
07:03
So you get the idea here.
143
423670
1251
07:04
A six-year-old in Berlin, in Mumbai and Rio,
144
424963
3169
07:08
can now explore coding without their parents being around
145
428132
3003
07:11
or even having a technical background.
146
431177
1919
07:13
(Laughter)
147
433096
1334
07:14
I mean, you know.
148
434430
1377
07:15
(Applause)
149
435848
3212
07:19
Now what you also see is you still need to kind of figure out
150
439060
2920
07:21
how you put that all together, right?
151
441980
1793
07:23
There’s a lot of technical stuff here.
152
443773
1835
07:25
I have code. I have to iterate on my machine.
153
445608
2127
07:27
I have to figure out how to deploy this to the cloud
154
447777
2461
07:30
so I can share with my friends.
155
450238
1543
07:31
But here is my LEGO brick now.
156
451823
1668
07:33
This is what it looks like
157
453491
1251
07:34
if I've done all these steps as a developer,
158
454784
2127
07:36
you can see now it’s a nicely rotating brick.
159
456953
2127
07:39
I can actually use my mouse to turn it around.
160
459080
2169
07:41
These are the anti-studs here, the studs,
161
461249
1960
07:43
There's nice lighting effects.
162
463251
1460
07:44
I can even zoom into this and zoom out of this.
163
464711
2335
07:47
Now I don't want to do all this developer stuff anymore.
164
467046
2878
07:49
I just want to channel my creativity straight into reality.
165
469966
3879
07:53
And so for the first time ever on stage,
166
473886
1961
07:55
I'm going to show you a new product that we call Copilot Workspace
167
475847
3128
07:58
that does exactly that.
168
478975
1543
08:00
So here is my workspace.
169
480560
1168
08:01
And you can already see there's not an editor anymore.
170
481728
2544
08:04
I can just see a task, and I can enter a task.
171
484313
2753
08:07
And so now I have my LEGO brick,
172
487108
1543
08:08
I want to now expand the LEGO brick into a LEGO house.
173
488693
3003
08:12
Stack the bricks in the shape of a LEGO house.
174
492030
2711
08:14
And I can do that also in German and in other languages.
175
494782
2628
08:17
But for now, let's stick with English.
176
497410
2044
08:19
I can save my task.
177
499996
1168
08:21
And now what happens is that Copilot Workspace analyzes what I already have
178
501164
4087
08:25
and then describes what it proposes to me.
179
505293
2002
08:27
Basically, it reframes my ask into a plan or a specification.
180
507295
4171
08:31
And so you can see here, you know, it's all in natural language in our user.
181
511466
3628
08:35
Some file names, of course, but there is no code here.
182
515136
2544
08:37
It's all describing it in English.
183
517680
1668
08:39
I can actually go into this and edit it
184
519348
1919
08:41
and can make changes to this line,
185
521309
1626
08:42
or I can go down here and add another item
186
522935
2044
08:44
if I feel like the plan is not exactly what I want.
187
524979
2628
08:47
I can go a step further and generate a plan,
188
527648
2128
08:49
and now an agent runs through all my files I already have
189
529817
3212
08:53
and figures out how do I need to modify those files,
190
533071
2836
08:55
or, you know, do I need to add files to my repository
191
535948
2503
08:58
so you know it wants to add a “createLEGOHouse” function
192
538451
2753
09:01
and call the “createLEGOHouse” afterwards.
193
541245
2545
09:03
Looks good to me, so let's implement this.
194
543831
2378
09:06
And now Copilot uses my task, my specification,
195
546250
2753
09:09
my plan to write code for me.
196
549045
1918
09:10
You can see here two files are queued,
197
550963
2002
09:13
the public/legoBrick.js file
198
553007
1919
09:14
and boom, there's already my code written for me, right?
199
554967
3045
09:18
I didn't have to touch code,
200
558012
1376
09:19
I didn't have to even know what code is.
201
559388
1919
09:21
Now I see here now it imports some new line into my file
202
561349
2878
09:24
and has written, you know, lots of code here that does those changes.
203
564227
3253
09:27
So you want to see what that looks like, did we get a LEGO house?
204
567522
3420
09:31
So here's a button that lets me open a live preview,
205
571526
3086
09:34
so I can do this.
206
574654
1418
09:36
And now the bricks fall from the sky and I have a LEGO house.
207
576114
3753
09:39
And you know, this is not a picture, right --
208
579909
2169
09:42
(Applause)
209
582078
1168
09:43
Yes, thank you.
210
583246
1167
09:44
This is all live, this is the power of code,
211
584413
2086
09:46
this is the power of streaming my creativity into reality
212
586499
3503
09:50
with natural language.
213
590044
1251
09:51
Now one last thing.
214
591295
1210
09:52
Thank you, Copilot,
215
592505
1293
09:53
you have always to be nice to the AI.
216
593840
2085
09:55
(Laughter)
217
595967
1334
09:57
(Applause)
218
597301
4547
10:02
Now, what you just saw were three leaps in three years.
219
602515
3295
10:05
Three leaps that are more progress
220
605852
1668
10:07
to the accessibility of computer programming
221
607562
2460
10:10
than we have made in the last 100.
222
610022
2253
10:12
Remember how I said that one percent of the world's population is a developer?
223
612650
4379
10:17
Now you can see how this will change.
224
617071
2252
10:19
Copilot Workspace may still be a developer tool right now,
225
619365
3212
10:22
but soon enough these kind of developer tools will become mainstream.
226
622618
4004
10:26
Because, going forward, every person, no matter what language they speak,
227
626998
4212
10:31
will also have the power to speak machine.
228
631210
2670
10:33
Any human language is now the only skill
229
633921
2795
10:36
that you need to start computer programming.
230
636716
2627
10:39
This will lead to a globalized groundswell of software developers,
231
639343
4129
10:43
and it will reshape the geography of our global economy.
232
643514
3837
10:47
And because of this,
233
647351
1460
10:48
I think by 2030, maybe even sooner,
234
648811
2669
10:51
we will have more than one billion software developers on GitHub.
235
651522
3462
10:54
Think about that:
236
654984
1335
10:56
10 percent of the world’s population will not only control a computer
237
656360
4421
11:00
but will also be able to create software
238
660781
3295
11:04
just [as] if they were riding a bicycle.
239
664076
2586
11:06
This will generate a new renaissance of human creativity with software.
240
666704
4963
11:12
Now anyone here in this room could have a brilliant idea right now:
241
672251
4046
11:16
a website, an application,
242
676339
2210
11:18
a cool computer game, an amazing song,
243
678549
2920
11:21
maybe even a cure for something.
244
681510
2128
11:23
For example, last year, over a couple of weeks,
245
683638
2877
11:26
I built an app that tracks all the flights I've ever taken in my life.
246
686557
4380
11:31
Now I know what you're thinking.
247
691312
1543
11:32
What a freaking nerd, right?
248
692855
2795
11:35
And yeah, it's true, I love building stuff like this.
249
695691
3128
11:38
And with the help of AI,
250
698819
1252
11:40
now I can do this in English or in German
251
700112
3504
11:43
before I even finish a glass of wine.
252
703616
2753
11:46
And soon enough, this will be true for everyone here.
253
706410
3170
11:49
The floodgates of nerditude have swung wide open.
254
709914
3170
11:53
(Laughter)
255
713125
1836
11:54
(Applause)
256
714961
1960
11:57
Now this doesn’t mean
257
717838
1669
11:59
that everyone will become a professional software developer
258
719507
3253
12:02
or even that they should.
259
722760
1877
12:05
The profession of a professional software developer
260
725054
3086
12:08
is not going anywhere.
261
728182
1168
12:09
There will always be demand for those that design and maintain
262
729392
4129
12:13
the largest software systems in the world.
263
733521
2794
12:16
We are adding millions of lines of code every single day
264
736315
3587
12:19
to ever more complex systems,
265
739902
1794
12:21
and we are barely keeping up with maintaining the existing ones.
266
741696
3044
12:24
Like any infrastructure in this world out there,
267
744740
2545
12:27
we need real experts to preserve and renew it.
268
747326
3545
12:31
The point here is not a "will" or a "should."
269
751706
3461
12:35
It's that anyone can.
270
755584
1919
12:38
All because the most powerful system that we have,
271
758546
4171
12:42
any human language,
272
762758
1502
12:44
is now fused to the language of a machine.
273
764302
2627
12:47
And very soon,
274
767763
2002
12:49
building software will be just as simple and joyful
275
769807
4463
12:54
as stacking a LEGO.
276
774312
1751
12:56
(Speaking German) Thank you very much.
277
776105
1960
12:58
(Applause)
278
778065
5798
13:03
Bilawal Sidhu: Gosh, I've got to say, one billion developers
279
783904
3295
13:07
makes GitHub sound more like YouTube and TikTok than it is today.
280
787199
3921
13:11
Just super exciting.
281
791120
1335
13:12
Got to ask you one question,
282
792496
1377
13:13
perhaps the elephant in the room.
283
793914
1585
13:15
Amazing talk.
284
795541
1585
13:17
So you said the developer is still in charge.
285
797168
2836
13:20
You also said, "We've had three leaps in three years."
286
800046
3545
13:23
Fast forwarding a little bit,
287
803591
1501
13:25
do you think humans will still need to be in the loop,
288
805134
2544
13:27
or will these AI systems be able to autonomously build
289
807678
3712
13:31
and maintain software?
290
811432
1543
13:32
TD: You know, the way I always think and talk about it
291
812975
2711
13:35
is that we called it Copilot for a reason.
292
815728
2044
13:37
We need a pilot.
293
817772
1167
13:38
We need a pilot that is creative, that can decide what to do.
294
818981
2920
13:41
It’s kind of like a LEGO set.
295
821901
1460
13:43
You need to take this big problem and break it down into smaller problems,
296
823361
3795
13:47
into small building blocks.
297
827198
1626
13:48
And for that, you need a systems thinker.
298
828866
1960
13:50
You need a human that can figure out, am I building a point of sale system?
299
830868
3587
13:54
Am I building an iPhone app?
300
834497
1501
13:56
Am I building a cool computer game?
301
836040
1793
13:57
Am I building the next Facebook?
302
837875
1543
13:59
Those are very different systems.
303
839418
1627
14:01
Now these building blocks, they will grow in size.
304
841045
2878
14:03
Today it's, you know, a couple of lines of code,
305
843923
2294
14:06
maybe a whole file,
306
846217
1209
14:07
in the future, it might be a whole subsystem.
307
847426
2127
14:09
So I get more work taken off my shoulders.
308
849595
2795
14:12
But I'm still there, you know, covering the large system.
309
852390
2919
14:15
And as I mentioned, you know, we're still running COBOL systems from the '60s.
310
855351
3670
14:19
So we have lots of work to do.
311
859063
1460
14:20
BS: Absolutely.
312
860523
1209
14:21
So we will be in charge orchestrating these systems
313
861774
2669
14:24
at a higher level of abstraction.
314
864485
2044
14:26
Thomas Dohmke, everybody, thank you.
315
866570
1752
14:28
TD: Thank you so much.
316
868322
1210
About this website

This site will introduce you to YouTube videos that are useful for learning English. You will see English lessons taught by top-notch teachers from around the world. Double-click on the English subtitles displayed on each video page to play the video from there. The subtitles scroll in sync with the video playback. If you have any comments or requests, please contact us using this contact form.

https://forms.gle/WvT1wiN1qDtmnspy7