Hvorfor C++

C++ har eksisteret i over 30 år, og er et programmeringssprog, som har domineret inden for mange felter. Og selvom der er kommet mange nye programmeringssprog, så er C++ absolut stadig et meget relevant sprog at kunne.

Lad mig eksemplificere forskellene på Python og C++.

Et eksempel er variabler. Lad os skrive tre variabler, som skal indeholde en string, en float og en integer. I Python ville det se sådan ud:

s = "Hej, Pythons!"
i = 10
f = 99.103

En variabel i C++ skal deklareres, da den ellers giver os fejl, og C++ er meget strikst. Et decimaltal, heltal og en string ville se sådan ud i C++.

string s = "Hej, Pythons!";
int i = 10;
double f = 99.103;

I den sidste(double f) har jeg ikke deklareret variablen som en float selvom jeg godt kunne. Double har mere eller mindre overtaget float-typen i dag. Men det særlige er altså at når vi skal deklerere hvilken type en variabel har, bliver vi også bedre til at tænke i typer(integers, floats, strings osv.).

C++ er ikke et hurtigt sprog at lære. Alene af den grund at C++ kræver en compiler, gør at jeg mener at det ikke egner sig alt for godt som førstegangssprog, da det tager tid at compile og se sit resultat. Derudover er syntaksen i compiler-afhængige sprog oftest mere omfattende. Derfor er Python i min optik et langt bedre førstegangssprog, fordi kildekoden oversættes af en interpreter, der lader os se resultatet med det samme.

En anden væsentlig ting, når man begiver sig ud i C++ er at vide, at man ikke bliver en bedre programmør af at starte med C++. Tværtimod vil man opleve en langt mere stejl indlæringskurve og den computationelle tænkning vil i højere grad blive overtaget af frustrationer over compiler error, bugs og en kompleks syntaks.

Principperne i programmering er, når alt kommer til alt, de samme uanset om du først lærer dem i Python, Java, C++, C#, Scratch etc. Et loop er et loop, en tekst er en tekst, et tal er et tal, et statement er et statement.

Programmering er hverken finere eller bedre af, at man kan lave dem i et bestemt program frem for et andet. Min filosofi er helt klar: hold dig til det samme programmeringssprog indtil du forstår alt det basale som loops, variabler, conditional statements, og kan skrive små programmer i det.

C++ bruges inden for en række felter. Bl.a. game engines til at producere spil. Mange er ikke klar over det, men selv inden for animationer kræves der ofte et kendskab til C++.

Jeg så bl.a denne jobbeskrivelse hos Disney, som søgte en 3D modellør med tekniske færdigheder:

  • Experience with Massive or Houdini crowd software
  • C++
  • Basic proficiency in another discipline – modeling, texture, TD, animation
  • Proficiency with Linux
  • Expertise with Maya
  • Experience with python scripting

Browseren du sidder med lige nu, er højst sandsyneligt også lavet i bl.a. C++. Og dit operativsystem er der med garanti også brugt C++ til. Inden for sundhedssektoren er skanninger oftest skrevet i C++.