If you're targeting hardware with little ram, use Forth! :-)
Anecdotes again :-) but a competent Forth programmer should be able to produce code that's smaller than the equivalent assembly!
A Forth executable is, by it's very nature, stripped of pretty much all extraneous stuff, and very compact into the bargain. So much so that it's very hard for an assembler programmer to keep their version down so small.