Why do so few people major in computer science?
The grief factor of learning to code is on a different scale to every other major. One missing semicolon will take your whole tower down, and you realise this in the first day of practical exercises.<p>Even if you are of the opinion that CS is math, and coding doesn't come into it, you will hit a coding wall early on.<p>In fact, every exercise in CS has this problem. You add a new thing (eg inheritance), and it breaks. But not only that, it might be broken because of a banal little syntax problem.<p>And that's just what you consider code. If you put in the wrong compiler flags, it breaks. If you can't link because something needed rebuilding, it breaks. Want to avoid it? Learn how make works. Huge number of options, which you won't understand, because you're a novice.<p>Oh and learn git, too. And Linux. Just so you can hand in the homework.<p>Compare this to the rest of university. I'll use my own experience.<p>- Engineering subjects tend to revolve around a small number of vignettes. Here's an aircraft engine in thermo. Draw some boundaries, apply some equations. If you get it wrong, your tutor can still see if you were going the right way. Once you've learned the relevant points, it's not hard doing some rearrangements and plugging in some numbers.<p>- Economics essays are basically bullet points. Miss one out, you still have an essay. Which you can hand in without knowing git.