Saturday, January 27, 2007

Efficiency, scripting, strong typing, productivity... F# ?

Today I've watched an interview from the Niner's (Channel9) where Microsoft Guru talked about programming languages and mentioned above all F#.
On the Microsoft site I read that F# is an ML language truly at home on .NET with smooth interop with other .NET languages.
For example, C# and F# can call each other directly. This means that F# has immediate access to all the .NET Framework APIs, including, for example, WinForms and DirectX. Similarly, libraries developed in F# are available for use from other .NET languages.
F# is the first ML language where all the types and values in an ML program can be accessed from some significant other languages (e.g., C#) in a predictable and friendly way.
F# was the first released .NET language to produce Generic IL, and the compiler was designed partly with this language in mind. The compiler can also produce (non-generic) v1.0 or v1.1 .NET binaries.
F# supports features that are often missing from ML implementations such as Unicode strings, dynamic linking, preemptive multithreading and SMP machine support
This is the only language which provides a combination of scripted/functional/imperative/object-oriented programming language. That is a basis for many practical scientific, engineering and web-based programming tasks.

F# comes with F# for Visual Studio, an extension to Visual Studio 2003 and Visual Studio 2005 that supports features such as an integrated build/debug environment, graphical debugging, interactive syntax highlighting, parsing and typechecking, IntelliSense, CodeSense, MethodTips and a simple project system.

No comments: