Fan – Next generation Java?
Stephen describes some of the pitfalls in Java and explains the mindset behind the reasons for some of the syntax found in Fan. He states that the language is designed around expectations from realworld experience and follow the code patterns found in main stream programming languages; resultantly, Fan is tailored for real-world applications as opposed for academic purposes. Fan uses three levels to define a unique reference to any element, in the form of “pod::type.slot” (where top level “pods” are similar to modules). This representation is particularly useful when it comes to debugging with stack traces.
Fan is still a relatively new language and its very familiar syntax to existing Java and C# programmers will ease the transition with a minimal learning curve. This coupled with the flexibility of creating concurrent programs through immutability, and the even balance between static and dynamic typing, means Fan is certainly a promising contender to be Java's successor.