﻿1
00:00:04,450 --> 00:00:05,470
‫Hallo en welkom.

2
00:00:05,470 --> 00:00:11,500
‫In deze lezing gaan we het hebben over compilers en editors die uitzoeken wat ze zijn en waarom we

3
00:00:11,500 --> 00:00:14,440
‫ze nodig hebben als we C++ willen schrijven.

4
00:00:14,920 --> 00:00:20,740
‫Dus laten we beginnen met een paar woordenlijstdefinities en we zullen zien hoe ze in het bredere ecosysteem passen.

5
00:00:21,400 --> 00:00:22,960
‫Allereerst de broncode.

6
00:00:23,020 --> 00:00:26,500
‫Dit is cruciaal om te begrijpen waarom we in de eerste plaats een compiler nodig hebben.

7
00:00:26,740 --> 00:00:29,440
‫Broncode is de code die we schrijven.

8
00:00:29,440 --> 00:00:30,430
‫Meestal is het tekst.

9
00:00:30,430 --> 00:00:34,120
‫Het is een voor mensen leesbare vorm van code zoals C++.

10
00:00:34,120 --> 00:00:37,030
‫Maar soms zou je broncode ook als blauwdrukken kunnen beschouwen.

11
00:00:37,030 --> 00:00:42,940
‫De voor mensen leesbare manieren om te beschrijven wat je wilt dat je spel doet, wat je wilt dat de computer

12
00:00:42,940 --> 00:00:43,420
‫doet.

13
00:00:43,810 --> 00:00:51,400
‫En cruciaal is dat het het voor mensen leesbare deel is, omdat het niet bedoeld is voor een machine om dit uit te voeren,

14
00:00:51,400 --> 00:00:53,230
‫om het te laten werken.

15
00:00:53,680 --> 00:01:02,260
‫Dat is de rol van binair uitvoerbaar bestand is meestal binaire code enen en nullen, en het is bedoeld voor een machine om

16
00:01:02,260 --> 00:01:07,540
‫het snel te kunnen lezen en uitvoeren op je CPU en op je GPU.

17
00:01:07,870 --> 00:01:10,210
‫En dat geldt ook voor machineleesbare code.

18
00:01:10,690 --> 00:01:17,440
‫Dus tussen deze twee is er een kloof en we moeten die kloof dichten, zodat we onze door mensen leesbare code kunnen

19
00:01:17,440 --> 00:01:19,030
‫omzetten in machineleesbare code.

20
00:01:19,330 --> 00:01:22,750
‫En dat is de rol van deze zogenaamde compiler.

21
00:01:22,750 --> 00:01:26,770
‫Het vertaalt zich van de voor mensen leesbare C++ of blauwdrukken.

22
00:01:26,770 --> 00:01:31,030
‫Zoals we eerder hebben gezien, zijn we blueprint-compilerfouten en dat soort dingen tegengekomen.

23
00:01:31,390 --> 00:01:34,750
‫Het vertaalt zich dus van het menselijke naar het machinedomein.

24
00:01:34,750 --> 00:01:39,700
‫Het creëert die dot XY-bestanden of die binaire bestanden op welk platform je ook bent.

25
00:01:40,150 --> 00:01:45,820
‫En natuurlijk is er veel complexiteit betrokken bij wat een compiler doet, en we zullen later meer

26
00:01:45,970 --> 00:01:49,270
‫leren over enkele van de meer ingewikkelde delen ervan.

27
00:01:49,270 --> 00:01:54,940
‫Maar voor nu is het voldoende om te weten dat het een stukje software is dat van broncode naar binaire code

28
00:01:54,940 --> 00:01:55,240
‫converteert.

29
00:01:55,420 --> 00:02:00,760
‫En dan is er nog een ander stuk software in de mix, een broncode-editor genaamd, die er gewoon

30
00:02:00,760 --> 00:02:06,100
‫is om je leven gemakkelijker te maken bij het schrijven van voor mensen leesbare code zoals C++.

31
00:02:06,100 --> 00:02:13,720
‫Het geeft ons alleen dingen als automatische aanvullingen en markeert eventuele fouten die we mogelijk automatisch hebben getypt, een beetje zoals een spellingcontrole,

32
00:02:13,720 --> 00:02:18,790
‫dus het kan ons leven een stuk eenvoudiger maken als het om broncode gaat.

33
00:02:19,270 --> 00:02:23,140
‫Dus laten we eens kijken hoe dit allemaal in elkaar past in het onwerkelijke ecosysteem.

34
00:02:23,530 --> 00:02:27,040
‫Dus we hebben tot nu toe met de redacteur te maken gehad.

35
00:02:27,040 --> 00:02:34,750
‫Wij, de editor, is een stuk software en het is er een die al voor ons is gecompileerd en we hebben het uitvoerbare bestand

36
00:02:34,750 --> 00:02:38,050
‫voor die editor al toen we het gingen installeren.

37
00:02:38,050 --> 00:02:39,640
‫Zodat we de editor kunnen openen.

38
00:02:39,640 --> 00:02:45,850
‫Met de editor kunnen we een gameproject wijzigen en maken met behulp van verschillende game-items.

39
00:02:45,850 --> 00:02:49,900
‫Deze omvatten dingen zoals de mazen die we in ons project hebben gebracht.

40
00:02:49,900 --> 00:02:53,560
‫Ze bevatten alle blauwdrukactiva en blauwdrukcode daarin.

41
00:02:54,190 --> 00:03:00,580
‫Dit stelt ons in staat om deze game-items te gebruiken waarvoor we een editor hebben gemaakt, we

42
00:03:00,580 --> 00:03:07,720
‫kunnen de game vervolgens uitvoeren in een afzonderlijk, stand-alone uitvoerbaar bestand waar het alleen het spel speelt en niets anders.

43
00:03:08,230 --> 00:03:11,860
‫Het beeld verandert echter een beetje als we C++ willen gaan gebruiken.

44
00:03:11,890 --> 00:03:18,970
‫C++ is het fundament van de editor en als zodanig, als we de C++ in de editor wijzigen, moeten

45
00:03:18,970 --> 00:03:23,560
‫we in wezen het binaire uitvoerbare bestand van de editor opnieuw opbouwen.

46
00:03:23,980 --> 00:03:28,510
‫Dus als we onze broncode hier hebben, weten we dat het er een beetje zo uitziet.

47
00:03:28,510 --> 00:03:37,060
‫We hebben in feite wat tekst waaruit onze broncode bestaat en we bewerken deze broncode opnieuw met behulp van een

48
00:03:37,060 --> 00:03:41,440
‫apart stuk software dat voorheen een broncode-editor werd genoemd.

49
00:03:41,440 --> 00:03:47,140
‫We hebben het allemaal bewerkt in The Unreal-editor omdat het nauw is geïntegreerd met de software.

50
00:03:47,410 --> 00:03:52,570
‫Als we echter met C++ te maken hebben, gebruiken we software van derden om de code te bewerken.

51
00:03:52,990 --> 00:03:57,670
‫Nu, degene die we in deze cursus gaan gebruiken, heet Visual Studio Code omdat

52
00:03:57,670 --> 00:04:02,710
‫het platformonafhankelijk werkt op Mac, Linux en Windows en het is ook erg licht van gewicht.

53
00:04:03,100 --> 00:04:07,930
‫Maar zoals ik al zei, er is een kloof tussen de broncode die we hebben geschreven en het

54
00:04:07,930 --> 00:04:13,960
‫omzetten in het binaire uitvoerbare bestand dat nodig is om het spel in de editor uit te voeren en in het uiteindelijke spelproduct.

55
00:04:14,260 --> 00:04:16,540
‫En dat bit is de compiler.

56
00:04:16,540 --> 00:04:22,720
‫De compiler neemt onze broncode, de bibliotheken en functionaliteit die al in Unreal zijn ingebouwd en die

57
00:04:22,720 --> 00:04:24,790
‫we in onze broncode gebruiken.

58
00:04:25,060 --> 00:04:31,630
‫Het zal deze samen compileren, ze in binair veranderen en een editor uitvoeren die we kunnen openen en onze game-items kunnen

59
00:04:31,630 --> 00:04:37,690
‫bewerken, of het zal een game uitvoeren die onze game-items zal gebruiken en de speler in staat stelt om ons

60
00:04:37,690 --> 00:04:38,830
‫spel te spelen.

61
00:04:39,190 --> 00:04:44,170
‫Nu zijn er twee keuzes van compiler, afhankelijk van op welk platform u zich bevindt.

62
00:04:44,440 --> 00:04:49,240
‫Als u Windows gebruikt, gaan we Visual Studio gebruiken, dus haal deze niet te in de war.

63
00:04:49,240 --> 00:04:51,310
‫Ze hebben zeer vergelijkbare logo's en zeer vergelijkbare namen.

64
00:04:51,310 --> 00:04:56,350
‫Een daarvan is Visual Studio, de compiler, en er is er een die alleen de broncode is,

65
00:04:56,350 --> 00:04:58,210
‫en die heet Visual Studio-code.

66
00:04:58,870 --> 00:05:03,010
‫Als je nu een Mac gebruikt, ga je in plaats daarvan X-code gebruiken die.

67
00:05:03,120 --> 00:05:09,480
‫Is de compiler op de Mac om dingen platformonafhankelijk te houden, om dingen voor iedereen hetzelfde te houden.

68
00:05:09,600 --> 00:05:14,280
‫We gaan Visual Studio-code gebruiken om de code daadwerkelijk te bewerken, ook al

69
00:05:14,280 --> 00:05:16,170
‫hebben deze compilers ingebouwde broncodebewerkingsmogelijkheden.

70
00:05:16,560 --> 00:05:23,640
‫Maar we zullen deze compilers gebruiken om de broncode daadwerkelijk te nemen en om te zetten in binair uitvoerbaar bestand.

71
00:05:23,730 --> 00:05:25,260
‫Oké, dat was het dan voor deze lezing.

72
00:05:25,260 --> 00:05:29,220
‫Hopelijk ben je een beetje duidelijker over waarom we een compiler nodig hebben, waarom we de broncode-editor nodig hebben.

73
00:05:29,490 --> 00:05:33,960
‫De volgende paar lezingen gaan we door het proces van het installeren ervan.

74
00:05:33,990 --> 00:05:34,620
‫Ik zie je daar.

