Your requirement appears artificial. Languages that do not have pointers doesn't need them because the semantics of the language doesn't need them; typically these languages have a much more expressive semantics that pointer becomes unnecessary.
Most languages that have automatic GC have a way to turn them off, I'm not aware of any languages that actually forces you to use GC and doesn't allow you to turn it off.
So, perhaps it's better if you describe your requirement a little bit more concretely. If you need a fast language, then you would definitely want a compiled language with a good optimizing compiler. If you need a language with close-to-the-metal semantic, then C/C++ would be the perfect language before deciding to use assembly.
If you want platform independence, then currently you have to use a either Virtual Machine based language (i.e. bytecode interpreted language) or fully interpreted language.
Here's a the three classifications I often used to differentiate languages:
- Assembly: bare-metal semantics, highly platform dependent; it is practically impossible to write platform independent assembly.
- C/C++: near-metal semantics, can be platform independent with some care. Typically compiled languages.
- JVM/.NET/Python/Perl: expressive languages, is easily platform independent; it is impossible to write hardware drivers in these languages. Typically VM-based or interpreted langauges.
EDIT: since I was challenged, ok:
disabling GC in :
Python:
import gc
gc.disable()
Ruby:
GC.disable
Java, Scala, Clojure all runs on JVM, and therefore share the same trick: use Immortal Memory (which is basically a Malloc)
Like Python, Perl does not have a Garbage Collector; both Python and Perl uses Reference Counting and do not strictly need a Garbage Collector.
I'm not bothered to look at the rest. They're not languages that I'm concerned about.
Reference Counting is a garbage management mechanism; Garbage Collector is a garbage management mechanism; Malloc is a garbage management mechanism [or rather, a manual garbage management]. However, neither Reference Counting nor Malloc is a Garbage Collector; unlike a Garbage Collector, Reference Counting and Malloc comes practically for free (no stop-the-world, no heap size to manage, etc) and there is no reason to disable them (why would you want to disable malloc? probably only for bondage programming).