( sz332 | 2016. 02. 18., cs – 00:16 )

[kiegészítve]

Nem az a kérdés, hogy bugmentes programot lehet-e írni, hiszen nyilván nem lehet. Az a kérdés hogy átlag fejlesztés során ha egy bug kerül a programba, akkor annak milyen mellékhatásai lehetnek, hogy éli túl ezt a program, hogy reagál egy bugra. Egy managed nyelv esetén pl. teljesen túlélőképes programokat lehet írni, amíg egy C kód dob egy core dump-ot, és jó eséllyel egy megfelelő input adattal még egy calc.exe-t is indít, addig egy java/c#/etc. kód dob egy exception-t - amit vagy elkapsz, vagy nem - beírja a logba, majd szépen fut tovább (amennyiben a fejlesztő is úgy akarja).

De nyelvek, amiknél nincs buffer overflow (mivel nincs pointer aritmetika)

rust, go, java, c#, python, ruby, etc. ezekben a nyelvekben nem tudsz közvetlenül memóriát kezelni alap esetben (unmanaged kódot és java direct memória kérés trükköket egyelőre hagyjuk ki), ergo nem is tudsz puffer túlcsordulást okozni, de legrosszabb esetben is egy exception-t kapsz, nem pedig egy crash-t, amit aztán kihasználhatsz.