That's like saying science includes silly topics like homeopathy and "conquering the seven signs of aging". Just because people claim they are doing science, doesn't mean that they are. The same applies to philosophy.
I don't think philosophy is about finding answers, the discussion itself is its purpose. Consequently, there is always the risk of generating closed, self-referential discussions in which the subject of the discourse is the discourse itself (post-structuralism vs. structuralism?) It also seems to be an accepted practice to hang an elaborate argument on nothing more than a personal opinion, as if doing so turned that opinion into an objective fact (I am thinking specifically of some of the arguments over consciousness.) For these reasons, I think you have to pick and choose from the offerings of philosophy if your goal is to teach general thinking skills.
Natural languages - in almost all cases they are used to describe the same concepts. Note books are are easy to translate to any language, even if you have to substitute lamb for guinea pigs in Bible. Everything else can be substituted almost word for word. Languages with substantially different syntax, like Japanese which uses reverse Polish notation (aka postfix), are rare. Verbs go to the end of the sentence in Japanese, that's why movies with Japanese often end up with characters screaming final bits of sentences. Without the end of a sentence, a Japanese can't be 100% sure what it's about. Now go ahead and translate Ruby to SQL, Rust to Javascript to Rust, Haskell to Python, HTML to vimscript, Logo/Processing to Bash, or Perl to anything else. I would say learning several languages with different paradigms and usage domains will be more useful for perspective.
I would say the value of programming is that it teaches being pragmatic, and using the right tool for the job. Math doesn't have to and often doesn't serve any practical purpose. Another big thing is it teaches problem solving and persistence.