Something nobody ever seems to keep in mind when chatting about this topic is
the target user one is talking about. When you start talking about this kind
of stuff the user is key. The user and the software make a huge difference.
For a developer that likes the terminal it is certainly possible to get away
with terribly little in many cases. Not that this is always the case though
as it does depend on the setup and what software one might be working with
and how it is being compiled (offloaded etc).
The majority though with a standard GNU/Linux setup tend not to need nearly
as much ram as a similar setup running Microsoft Windows latest and greatest.
It's a combination of bloat from defaults in driver installation discs for
printers, anti-virus, and increased system demand from the main OS. There is
also more sharing of code on GNU/Linux. Microsoft Windows application do
share code too although it's not to the same degree.
The current standard default setup for most distributions needs 2GB or the
system will start swapping. Swapping is where the disk is used as ram and the
disk is much slower. You don't want your system to swap. That will slow the
system down. Modern swapping is a bit more complicated than this although the
same basic idea applies. You need "enough ram" to avoid swapping being
necessary (even if swapping occurs when it's not needed to speed the system
up).