Unix has a limited form of garbage collection. Short-running programs (like those executed at the terminal) need not concern themselves with freeing allocated memory since the OS will free everything when they exit.
http://www.lispcast.com/the-heart-of-unix for other surprises (it’s functional too, and homoiconic)