> memory leak, Наглая ложь. В практически любом языке програмер может так или иначе назаводить те или иных сущности, потребляющие под себя память. И без явного указания програмером "мне больше не нужно больше вот это, убейте" - трудно определить когда больше никогда не потребуется некая сущность, так что ее уже можно убить и занять память используемую оной под что-то еще. Память у ява-программ течет так что дай боже. Чуть иначе чем у сишных, но это уже детали. А GC делает отлов этого факта сложнее на глаз - когда видно что прога жрет кучу памяти и жрач растет еще и фиг просто так поймешь, толи это GC еще не отстрелялся, толи сама программа такая "хорошая".
Кстати на си в принципе можно работать с полностью статичным распределением памяти. Когда заранее все выделено и сломаться абсолютно не на чем. Так работает всякая мелкая эмбеддовка, например. И это заметно повышает надежность: если нет динамических выделений памяти, свопа, и все *заранее* получено - то и сломаться оно в рантайм уже не сможет. Потому что не на чем. Нет утечек. Нет отказов выделения памяти. Абсолютно. Потому что нечему и некуда (функций *alloc может вообще не быть доступно). А жабисты такое как я понимаю принципиально не могут. Потому что за жабистов уже заранее решили как им следует управлять памятью, кхе-кхе.
> и некоторым даже их хватает чтобы криво написать программу.
Криво написать программу можно на любом языке. Что вообще за идиотская манера верить в серебряные пули которые якобы от всего спасут? Если кто-то не умеет думать - это НЕ ЛЕЧИТСЯ.