Outras linguagens não "soltam ponteiros completamente", elas apenas restringem o que você pode fazer com elas, dão a elas uma sintaxe que se parece com variáveis que não são de ponteiro, manipulam algumas operações nos bastidores e as chamam de outra coisa , como uma referência ou objeto. Se você tiver que fazer uma distinção entre atribuir uma cópia de algo ou não, você está lidando com ponteiros.
Com exceção dos paradigmas de programação que passam tudo por cópia, com óbvias implicações de desempenho, o uso de ponteiros é inevitável em todos, menos no mais simples dos programas. Por todos os meios, use variáveis de pilha onde faz sentido, mas se você tentar evitar ponteiros muito, você introduzirá uma raça completamente diferente de possíveis bugs.