What Should I upgrade

Ive been saving for a PC upgrade for quite some time I currently have around 250 dollars to spend and would either like to upgrade to a second monitor or a GTX 660/R9 270x

I would use the second monitor for programming I'm currently taking programming/Networking courses in my high school and working on a simple indie game with some friends. I feel like I'm constantly running out of screen room. Having a compiler, a browser, and a voice chat client open to talk with my team members for the game

I also play a lot of games, I currently have a GT 640 and Honestly I've gotten used to the lag, I got it for free so I can't complain. I managed to play through BioShock Infinite at 30 fps (It was EXTREMELY pain full) 

Overall my question to the forum is which upgrade should I choose?

That's really up to you. Personally, I'd find an old monitor that's an 1280x1024 and use that for more screen space (assuming you have a 1080p monitor. 

A GTX 640 is pretty weak. If you have $250, go for the GTX 760, it's better than the 660 and 270x.

GTX 760s will be much, much better than the GT 640.  I would get the GPU upgrade.  Dual monitors are helpful, but I would prioritize the GPU.

And I've played Bioshock Infinite on the consoles. Trust me, be glad that you had an entry level PC instead of a console playing at 720p with less than 30 FPS. 

My old computer had a HD 7850 1GB and I played Bioshock Inf on Ultra at relatively smooth framerates.  Pretty sure it was greater than 30fps.  Impressive for a $150 GPU.

Woah! I haven't really been looking at hardware lately, I guess With all the programming and software side stuff I've been doing I let this card slip by, Thanks so much for the suggestion, I almost went out and bought the 660 today haha. Thanks again for your help! 

GTX 760 is a beast of a card at 1080!

well... for $80 or so more he could do a 770... and it'll eat up whatever's on the market at 1080p and hold it's own at higher res later... I really think it's the sweet spot for price/performance ATM...

nothing wrong with a 760... just saying...