I am willing to bet that given a population of philosophy majors and a population of engineering majors, if you gave them an equivalent year of quality mentorship in programming, the philosophy majors would perform better. Because philosophy heavily emphasizes critical and abstract thinking. Better yet they might be able to really think about the consequences of the systems they build, whereas the tech industry mostly seems to have no problem and no concerns about building a global surveillance apparatus. Engineers learn how to do now the stuff that is relevant now. As a software engineer I am constantly battling with abstraction, and I constantly feel held back by my limited understanding of math, science, and philosophy.
The cost of college is an issue of its own and it's irrelevant to choice of major. School is the one place where we have an institutionalized system to study and progress the liberal arts as a whole, which teach us how we got here, what we value, and how we ought to live. One episode of The Wire should be sufficient demonstration of the need for our understanding of sociology to improve, among other things. Discouraging any of the liberal arts due to the overwhelming cost of college exacerbates our problems and risks turning universities into trade schools, directionless and with all the volatility of economic cycle.