"A bongeszos Java-appletek remekul bemutattak a JVM biztonsagat, szoval en egy cseppet se bizok jobban semmilyen JVM alapu szoftverben min egy C++-ban irtban."
Nézd, böngésző esetén az Appleteket nem a Java kódbázison keresztül támadták, tehát nem a Java nyelven megírt Applet volt sebezhető, hanem a futtató környezet. Hasonlóan a sok Flash vagy Javascript sebezhetőséghez, amelyek alapja nagyon nagy százalékban nem a Flash vagy a Javascript homokozóban futó Flash vagy Javascript kódbázis hibája volt, hanem a futtató környezet hibája. Találd ki, milyen nyelven írták a futtató környezetet ezekhez a virtuális gépekhez... :)
"Sot, a hardver is torheto..."
Igen, mint például a Meltdown és Spectre... de relativizálásnak így nincs sok értelme. :)
"az egeszet arra alapozod, hogy C++-ban van irva tehat torheto"
Nem, én nem erre alapozom. Azt állítom, hogy a C/C++ kódbázis esetén nagyon sok ellenőrzést ki szoktak hagyni a fejlesztők és csak akkor teszik bele, ha ebből baj van vagy előre láthatólag baj lenne belőle. A széleskörűen használt több éves vagy évtizedes kódbázisok esetén a legtöbb szükséges ellenőrzést már beletették emberévek tucatjainak munkájával, mert baj volt belőle, de még mindig derülnek ki olyan dolgok, amire nem gondoltak és baj lett belőle.
Én mindössze azt állítom, hogy ha egy C/C++ kódot és egy Java vagy C# kódot egymás mellé teszel és a C/C++ kódban elvégzel annyi biztonsági ellenőrzést, mint amennyit a Java vagy C# kódban elvégeznek, akkor szignifikánsan nem lesz gyorsabb a C/C++. Akkor lesz szignifikánsan gyorsabb, ha ezeket elhagyod... vagy azért, mert tényleg _bizonyítod_ az algoritmussal, hogy nem lesz belőle baj vagy azért, mert _szerinted_ nem lesz belőle baj.
Ha viszont beleteszed ezeket az ellenőrzéseket akkor abból vagy a szükségesnél komplexebb kód lesz, ami exponenciálisan növeli a kód karbantartásának költségét vagy pedig a közvetlenül pénzt hozó kódbázis mellé fejlesztesz egy belső keretrendszert is, amelyik csak viszi a pénzt. Mindegyikre van bőven példa, ha körülnézel régebbi nyílt forrású szoftverek körül, szinte mindegyiknek van egy *-toolkit projektje, amelyik néha nagyobb és néha kuszább életet él, mint az a projekt, amelyiket elvileg kiszolgál, illetve kevés olyan van, amelyik nincs telenyomva #ifdef blokkokkal és egyéb pre-processing direktívákkal.