දැන් එහෙමම කියන්න අමාරුයි බන්
මාත් C වලින් පටන් අරගෙන වැඩි කාලයක් C/C++ කරලා තියෙන්නෙ
ඒ උනාට කැම්පස් එකක හරි CS/SE වගේ කරන කෙනෙක්ට හෝ විශේශම අවශ්යතාවයක් නිසා ඉගෙන ගන්න කෙනෙක්ට ඇරෙන්න ආසාවට ඉගන ගන්න කෙනෙක්ට C/C++ දැන් ඉගෙන ගෙන වැඩක් නැති තරම්, අනික දැන් තියන ගොඩක් මොඩන් ලැන්ග්වේජ් ඉගෙනගන්න C ඉගෙන ගත්තා කියලා ලොකු ඇඩ්වාන්ටේජ් එකක් නැහැ. loop, control statement වගේ ඒව ඇරෙන්න පොයින්ටර්ස් මෙමරි මැනේජ්මන්ට් වගේ ඒව මොඩන් ලැන්ග්වේජ් වල හිතන්න දෙයක් ඇත්තෙම නැහැනේ.
ආසාවට ඉගන ගන්න කෙනෙක්ට පොයින්ටර් ඇරිත්මැටික්, memory address එහෙම වැඩ කරන හැටි ඉගෙන ගත්තා කියලා ඇඩ්වාන්ටේජ් එකක් නැහැනේ. ඒ එෆර්ට් එක දාල හරියට OOP/Design patterns වගේ දෙයක් ඉගෙන ගන්න එක වටිනවා
අනික ඉස්සර නම් හයි පර්ෆෝමන්ස් ඕන නම් C වලින්ම කරන්න ඕන කියලා එකක් තිබුනා, ඒත් දැන් මොඩන් ප්රොසෙසර්, කම්පයිලර් එක්ක ගොඩක් ලැන්ග්වේජ් වලින් C වලින් කරන තරමටම පර්ෆෝමන්ස් ගන්න පුලුවන්
උදාහරනයක් විදියට ඇන්ඩ්රොයිඩ් වල එහෙම NDK එකෙන් ලියන C ප්රෝගෑම් එකකට වඩා Java ප්රෝගෑම් පර්ෆෝමන්ස් තියනවා කියලා ඔප්පු කරලත් තියනවා (ART වලදි),
(මේකම ටික කාලෙකට කලින් තිබුනා Assembly වලින් අනිවාර්යෙන් C වලට වඩා පර්ෆෝමන්ස් ගන්න පුලුවන් කියලා හැබැයි දැන් GCC/LLVM/Clang වගේ ඒවයෙන් C කම්පයිල් කරාම Assembly වලින් ලිවුවට වඩා පර්ෆෝමන්ස් තියනවා, මොකද මේ අලුත් කම්පයිලර් වලින් කරන ලෙවල් එකට ඔප්ටිමයිස් කරන්න අපිට බැරි නිසා)
දැන් ගොඩක් ගේම් එන්ජින් එහෙම උනත් C/C++ වලින් ඩිවලොප් කරාට ගේම් ඩිවලොපර්ස්ලාට ලේසි වෙන්න මොඩන් ලැන්ග්වේජ් බයින්ඩින් තියනවා, ඒවයෙ පර්ෆෝමන්ස් වල වෙනසක් නැති තරම්, උදාහරන විදියට ගොඩක් ගේම් එන්ජින් දැන් Python/Javscript/Lua/C# වගේ ලැන්ග්වේජ් බයින්ඩින් තියනවා
Unreal වගේ ඒවයෙ තාම C++ වලින් කෝඩ් කරන්න පුලුවන් ඒ උනාට සමහර අලුත් ඒවයෙ C++ ඔප්ශන් එකක් ඇත්තෙම නැහැ