I second Haskell. Python is easy and intuitive, C can be fun when it's not being impossible, and well-written LISP can be elegant, but Haskell feels like a wonderful combination of math and art. Everything just makes sense on a conceptual level.
And also Assembly because using it involves actually understanding the machine you're using.
You should try Elixir, it's creator is developer at Plataformatec, and elixir is very similar in some aspects to Ruby, but it's faster, also Elixir got Phoenix, a Web Framework build on top of Elixir (Elixir runs on top of Erlang) which is fast as fuck, also really scalable, way more than Ruby.
I know java can be a pain a lot of the times, but it's how I started and I ended up enjoying it. I'm surprised at the couple Haskell responses, about everyone I know hates it, but it is great for math related things, takes about 1/10th of the code for something you would need to do in Java