The primary factor here is your usage pattern for this machine. If it's a desktop machine, and you simply leave applications running without closing them, then of course they will stay in memory. Moreover, in this case hibernating the machine will restore all the apps to the memory afterwards (though since this will dump the memory to disk and read it afterwards, it's not too much faster than launching the app anew).
Otherwise, as the other answer mentioned, Linux already allocates as much cache as it can—not only for apps, but for any and all files and directories that are read from the filesystem. Questions on how to optimize this caching pop up regularly on Linux discussion sites—but this endeavor is pretty much pointless, since the system itself is highly tuned already by the programmers.
Since desktop usage doesn't see much variation in its patterns from the viewpoint of the system, there isn't really much sense in bothering about tuning for RAM usage. The situation is different on servers, where programmers and admins may allocate almost all of the memory to a database application and tune it so that it performs little disk i/o.