That leaves numerical algorithms and machine learning, which I agree are useful to understand anyhow and different programming languages offer little leverage ;)
Haskell and parsing combinators takes an enormous bite out of the parsing problem, too. I won't call it "solved" but it brings it down to the point that writing a parser for a custom minilanguage is more like "a day's work" than "a month's work".
At the level they are supported at least in one language they are not hard in many other languages e.g., `import something` solves many established problems in Python. http://xkcd.com/353/
Mercury (relative of Prolog) greatly simplifies constraint solving and parsing as well. Packrat parsers for PEGs (a kind of unambiguous grammar) are a natural consequence of Mercury's support for DCG notation and memoization. Mercury also has builtin support for user-defined constraint solvers.