Check out Haskell, the way of thinking is way different than imperative programming (c, c++, java, etc.) but it's a lot of fun to learn and makes many types of operations (especially those involving ...