computer science if you're smart. I don't mean an IT/computer networking degree, I mean a degree that prepares you to be a real software engineer. You can make bank a couple years out of college. Don't need to work at google to make $100k when you're 23, especially if you go out the bay area. Every medium-large sized company out there does that. There's not many girls in CS, but a lot of the ones that are are asian and from conservative cultures with helicopter parents and they might even make it through college as a virgins if they're studying all the time. Most will be corrupted, but the few ones that aren't you can find here.
Medicine is a good option too, but you go to actually pull it off. Getting into a med school is really hard and then you have 4 years of med school and 2-4 years as a resident focusing on your specialty. Many people that start on this path give up and change careers (they tell themselves it's because they have new interests but really they're just giving up). By the time you graduate you'll be balding and getting uglier. If you do get to this point though and actually become a doctor, you would be higher status then a programmer.
Law sucks unless you got to top 10 law school. If you spend 4 years in college getting ready to law school, and then only get in to a top 100 school, sucks donkey balls for you. You'll probably still go to your shitty law school anyway but options of actually landing a high prestige job are more limited. There are too many law students for the number of law jobs out there. Also software is automating away some of the work that lawyers need to do so they'll continue to be a decline in lawyer jobs.