yea go for COD4 if u want an awesome but short SP experience and want a MP game.
go for Bioshock for an original and lengthy game experience that is like nothing before.. its not for everyone tho.
Love both of them - However I play COD4 WAY more than Bioshock - I finished it twice (as there are alternate endings in the game) and then got COD4 which is still my favorite pass timer now
Bioshock is an experience but know what you are getting yourself into, it is very creepy and more than a tad disturbing.
COD4 is great, the sngl player game is short but well worth it, my favourite mission, the "flashback" sniper mission.
It is going to be taste that defines which one to get first, if you are mostly single player and looking for something ummm...different, then Bioshock.