Her şeyden önce gerçek bir cevap almak istiyorum, her zaman çeşitli kaynaklardan ve makalelerden daha fazlasını almaya çalışıyorum ve C ++ gibi şeyleri okuduğumda sanal işlevleri olduğu için ve bu C daha iyi olduğundan , gerçekten ne söyleyeceğini bilmiyorum ve beyni olan bir insan olarak düşünmeliyim. Bu yüzden lütfen yanıtlarınızda bu seviyeye ulaşmaktan kaçının.
Benim sorum, aşağı yukarı Doom 3 ile tamamlanan büyük bir C ++ geçişi hakkında.
Benim için ilginç olan şey, bu kilometre taşından önce, oyun motorlarının ve oyunların çoğunun, tıpkı Quake döneminden beri olduğu gibi C ile yazılmış olması . Kimlik yazılımının, C ++ 'da IdTech 4 için kod tabanını tamamen yeniden yazmaya karar vermesi de ilginçtir, dürüstçe gerçekten iyi bir neden listesi olmadan anlayamadığım çok büyük bir iş.
Doom 3'e odaklanıyorum çünkü esas olarak OpenGL dünyasıyla ilgileniyorum ve yolculuğumda bu konuya odaklanmaya çalışıyorum, bu yüzden bu konuda çok okudum, ancak böyle bir sorunun render-API olabileceğini düşünüyorum - çok fazla sorun olmadan agnostik.
Neden belli bir zamanda endüstri kitlesel olarak C ++ 'a geçti? Kimlik seçiminin nedenleri nelerdir?
Söylemek istediğim son şey, C dilinin uygulanması çok daha basit ve daha az sayıda özellik sağlamasıdır, çünkü C ++ 'dan farklı olarak parçalarda "parçalanmış" olma şansı daha azdır. En basit ifadeyle, iyi bir şekilde uygulanan tüm özellikleri ile iyi bir C ++ derleyicisi yerine gerçekten iyi bir C derleyicisi bulmak için çok daha fazla şansı var.
Örneğin, Android için NDK hala en yeni ve en iyi özelliklerle iyi bir C ++ desteğine (r8b sürümü ile) sahip değildir ve dünyadaki en popüler mobil işletim sistemi için yerel araç takımıdır!
Kodumu modern bir C ++ ile yazsaydım, şimdi muhtemelen acı çekerdim çünkü dünyanın en popüler işletim sistemlerinden biri benim için sınır dışı olurdu. Android gibi, diğer birçok derleyici de o kadar iyi değil.
Ben 2-3 sürümü eski bir C ++ sürümüne atıfta bulunan C ++ kodu yazmalı?