Po pár mesiacoch som sa vrátil k C++ a UE4. UE má nad C++ vlastné nadstavby, takže je v tom radosť programovať. C++ ako jazyk ma baví, lebo sa v ňom dá stále objavovať nové zákutia a hlavne je to úplný opak hi-level jazykov ktorými sa živím.
No jedna vec čo mi na C++ compileroch prekáža sú veľmi neadresné chybové hlásenia, možno je to o skúsenostiach, ale C++ kompiler fakt programátora nevodí za ručičku (používam jak C-lang tak MSVC compiler).
Najhoršie odhalitelné chyby sú úplné kraviny, ktoré by sa dali vyriešiť za pár minút (keby bola lepšia chybová hláška) a často sa týkajú includovania súborov alebo namespacov. Včera som napríklad dlho nevedel prísť na to prečo sa mi nedá skompilovať projekt, až nakoniec som zistil, že sa niečo navzájom includuje (neviem či sa tomu nehovorí circular dependency). V iných platformách s kruhovými závislosťami nebol problém a ani ma nenapadlo, že si s tým compiler neporadí (viem že je to asi údel starších platforiem).
1. Ako sa takýto problém (kruhové závislosti) rieši v C++? Keď 2 triedy na seba odkazujú? Pomocou odkazovania na ich abstrakcie?, alebo sa to dá vyriešiť aj nejako priamočiarejšie?
2. Neexistuje nejaký nástroj ktorý by dokázal C++ kód rozanalyzovať tak že by mi poskytol lepšie chybové hlásenia?
PS: Dúfam že keď do C++ 20 prídu moduly, tak sa tieto problémy snáď konečne vyriešia.