Driving a car is very different than building a car.  It's unlikely that a UPS driver or pizza delivery man would benefit significantly from mechanical engineering courses.  In the same vein of logic, understanding Java does not necessarily help somebody play Temple Run better.

Programming (software development) is a career, not a basic skill.  Generally, other disciplines that require some programming have the requisite introductory programming courses as part of their curriculum.