( asch | 2022. 09. 29., cs – 00:41 )

Nagyjából egyetértek annyi korrekcióval, hogy a GC-nek szerintem van némi értelme, de az eddigi implementációk tényleg problémásak. Egyszer foglalkoztam a kérdéssel, szerintem lehetne csinálni teljesen párhuzamosan futó GC-t teljesen megállás nélkül, ha volna ilyen, akkor nem is volna baj vele.

A memória kezelés problémája egyébként nagyon kellemetlen ügy, ha van dinamikus memória foglalás akkor már lehet szivárgás is. Foglalkoztunk ilyenekkel, hogy szivárgásokat kerestünk, nagyon sokat el lehet szórakozni vele. És szerintem Java-ban sokkal egyszerűbb megtalálni, mint C-ben vagy C-szerű dolgokban például.

Java eszközökkel ha tudod reprodukálni a szivárgást, akkor van eszközöd megtalálni az okát. (teljes heap dump összehasonlítás, allokáció logok, stb)

C-ben nagyon nehéz dolgod van, mivel a heap nem tartalmaz típus információt, elvben nem felderíthető egy heap map úgy mint Java alatt. Persze ha minden típus tisztességesen van használva, akkor elvben lehetséges volna ilyet készíteni de én még nem láttam ilyet.

 

A típusossággal teljesen egyetértek: a szigorú típusosságot ki nem kényszerítő nyelvekkel szerintem szívás dolgozni már kis programnál is, egy méret felett pedig iszonyat.