Dear Computer Science majors, you have committed to the lifelong "date" with programming. At some point, you will find out that majoring in CS is like a dating a girl in many aspects.
1. No matter how hard you try, you always seem to bug her
She always gets upset at you, even when you believe you've done nothing wrong. Even when you think everything looks totally perfect and you've done everything she needs, there's still something missing. She always asks for little details even when it's a tiny semicolon.
2. She never tells you why she is mad
Girls always play hard to get. Two minutes ago she was still smiling at you and the next two hours she stops talking to you because of some random reason she's mad at. Then you have to think of countless ways to warm her heart and make her smile again. Similarly, one tiny mistake in programming can take you hours to fix. It's said that a programmer might just take 30 minutes to write a function but hours to get it to work.
3. She never tries to understand you but demands that you understand her
You can never ask her to do anything to please you, but indeed you have to do things to please her. She does not make a single effort to understand you. You have to explain to her clearly, like creating new functions and defining each variable, but she automatically assumes that you already know everything about her.
4. Despite your effort, theory is just theory
You might have read tips for a perfect relationship/how to master CS, got advice from an expert/your professor, learn from your females friends, but girls are just unpredictable. Likewise, you know all the syntax and the use of each function, but applying theory takes more time, struggle, and failure than you imagine. Sometimes you know the problems, but your solutions just don't work.
5. You cannot stop thinking of her
They say love is in the air. You find yourself constantly thinking about her when you look out the window, walking to class, eating, and even in your dreams. If you ever make her mad, you just want to know the solution to make her happy.
6. She basically takes all your time
She won't let you sleep. She won't let you go to other classes because when you're spending with her, aka coding, you just don't want to cut the train of thought.
7. She likes you to comment on her, in details
Just like when you introduce her to a third party, you have to give an elaborate description about her so that the other person understand how she is or what she is used for.
8. If anyone else makes her mad, you’re the one to blame
You always have to think of thousand ways to prevent users from messing up with her like inserting an invalid input. You're the one who takes responsibility for everything to make sure she is always happy.
9. Everything starts from 0
It's true that when you start your "relationship", you don't know anything about each other. But it's also true that counting in CS starts from 0, not 1.
10. Despite the hardship, at the end what matter is your love for her
You know she is literally a mental bully. You have experienced endless hours of ultimate anger and countless failure. Admit that if you did not love her, you would not have chosen and stayed with her this long. Love hurts. As long as you love her and are willing to be committed to her, nothing else matters. She can give you severe headaches but when she's satisfied, you're happy too. It's annoying, time-consuming, and painful, but it's all worth at the end.