I'd get the 16 GB if your budget allows. Not only will 4 GB get tiresome after awhile, you'll need more for the future. With more demanding OSs and apps, you'll be glad if you go for the 16 GB.
Some Macs don't accept 16GB. It depends of your programming environment. Eclipse loves doing I/O everytime, so RAM may not help too much. If you like doing experiences, you could set up a RAM cache on your 16GB, so maybe you could get a real improvement using Eclipse. However, Eclipse breaks so easily when you corrupt data, so I don't know if this could be a good thing.
However, if your code needs allocating a lot of RAM, then memory actually helps.