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,
- lahko je ločiti med kazalci, referencami in dejanskimi vrednostmi
- lahko tudi preprost jezik.
Zakaj izbrati Python namesto C++ za svoj projekt?
- 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).
Primeri
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.