Osnove
Zakaj izbrati C++ namesto Pythona za svoj projekt?
- Hiter
- za razvijanje iger (Minecraft Bedrock),
- za Game engine (Unreal engine, Unity),
- operacijski sistemi (Windows, Mac, Linux kernel...)
- prevajalniki za druge jezike (Python)
- nedvoumen
- spremenljivke ne morejo spremeniti tipa,
- kazalci in reference so jasno označene,
- lahko tudi preprost jezik.
>>> Slabosti C++ so zahtevnost, saj je C++ težji za začetnike (tudi mene), ki se učijo, kot Python, dlje časa in več kode je potrebne za enak program ter kompleksnost večjih projektov
Zakaj izbrati Python namesto C++ za svoj projekt?
- preprosta sintaksa,
- Potrebne malo kode,
- za krajše/manjše projekte
- za probat strukturo za večji/drug projekt
- veliko funkcij je že implementiranih,
- 1 package manager za vse (pip).
- ne komplicira s tipi spremenljivk (stringe lahko množiš, seštevaš),
>>> Slabosti pa so seveda, da je to počasen jezik predvsem za daljše zanke, ter to, da urejevalnik ne sledi tipom spremenljivk zate (tipe spremenljivk se ugotovi v času izvajanja). Potem pa je tu še to, da ti python ne pove kako sploh deluje. Kadar podajaš spremenljivke v funkcije neveš ali so v obliki kazalca ali vrednosti (ponavadi je kazalec). Tudi urejevalnik ti tega ne pove. Edini način, da bi to ugotovili je s pomočjo operatorjev is in ==.
Uporaba C++
Minecraft Bedrock - zakaj je Bedrock napisan v C++?
Minecraft je njegov začetnik Notch napisal kot stranski projekt, koda pa ni bila najbolj učinkovita. Ko so igri postopoma dodajali več vsebine, se je zmogljivost poslabšala. Zato so se odločili da ga PONOVNO napišejo v C++, za boljšo zmogljivost ter da bi se Minecraft lahko igralo tudi na mobilnih napravah. Tako je nastala različica Bedrock, ki je hitrejša od Jave. Igralci Bedrocka ne uporabljajo, ker ima manj vsebine ter več hroščov (več časa je posvečenega odpravljanju hroščev na Javi).
Če želite izvedeti več o Minecraftu kliknite tukaj
Unreal Engine - zmogljivost je ključna
Mnogi igrate igre kot so PUBG: Battlegrounds, Valorant, Hogwarts Legacy, Fortnite... Vse te igre za svojo grafiko uporaljajo Unreal Engine. To je v bistvu program, ki na zaslon izriše teren in objekte. Sama logika iger je verjetno napisana v C#. Za raphics engine je ključna učinkovitost, zato je bil C++ praktično edina izbira, ker je omogočal veliko hitrost ter koncepte "visoke ravni." Prav tako Microsoft zagotavlja vso dokumentacijo za uporbo C++ z DirectX, ki je najbolj razširjena knjižnica za grafiko na Windowsu (Vir: DirectX)
Jedro operacijskega sistema - kernel
Kernel je jedro vsakega operacijskega sistema. Namenjen je upravljanju strojne opreme. Nobena aplikacija sama nima dovoljenja, da bi sama upravljala kernel, kaj šele strojno opremo. To omogoča operacijskim sistemom, da ostanejo delujoči tudi če se pokvari aplikacija.
Tukaj je spet pomembna hitrost programskega jezika; hitro dodeljevanje spomina, procesorskih niti... Verjetno pa to ni bil edini razlog za izbiro C-ja, saj takrat drugi jeziki sploh še niso obstajali.
Jedra vseh pomembnih operacijskih sistemov - Mac, Linux in Windows - so napisana v C-ju.