Yesterday I discovered F# (pronounced F Sharp), a new language developed by Don Syme. F# is heavily based on OCaml, which was already my favorite high-performance language, and also provides easy access to Microsoft’s .Net Framework, an incredible set of libraries which make F# useful for a much wider variety of applications than OCaml.
OCaml is a very flexible and concise language. OCaml supports rapid program development with interactive evaluation (Matlab style development), a resistance to crashing, and functional programming constructs, yet it also produces programs that are about 90% as fast as highly optimized C++ code.
Don Syme started with the already amazing OCaml programming language and took it forward by leaps and bounds. He cleaned up the syntax a bit. He added better support for threading, an important enhancement as personal computers start to increase the number of cores rather than the speed per core. More important than these improvements to the core language, from my perspective, is access to Microsoft’s .NET platform. In addition to a wealth of libraries, this means that F# (OCaml + .NET) can interface with C# code, take advantage of the Visual Studio IDE, and run on any .NET supported platform (Windows, Mac, Linux, XBox, and even microcontrollers).
As a nice fringe benefit, I’m noticing that the want ads are full of C# jobs. Now that OCaml has joined the .NET family, an F# job could be just around the corner.