The title notwithstanding, this article is definitely aimed at Haskellers, or at least people who have more than rudimentary knowledge of Haskell and type systems.
Anyway, it's rather difficult to talk about advanced type systems in terms of languages that have no type system at all :)
The term "type class" is original to Haskell, I think, but the concept (constrained parametric polymorphism) is fairly standard programming language theory.