Nov 11

This is part 6 in a series of articles on obscure programming languages.

Many .NET fans will recognize F# as anything but obscure.  F# (pronounced “F-Sharp”) is a succinct, expressive, efficient, type-inferred, functional and object-oriented programming language for the .NET platform.  Although F# is a research language, it can also serve as a quality environment for large-scale symbolic programming commonly used to implement verification, analysis, optimization and transformation applications. 

Buy Don Syme at Microsoft Research initially developed F# as a personal research project.  But over time Microsoft embraced F#, and now Microsoft Developer Division distributes and fully supports the F# language in the .NET Framework and Visual Studio ecosystem.

F# is a strongly-typed language that uses type inference, which means programmers do not need to explicitly declare data types, as the compiler will automatically determine types during compilation.  However, since it is a .NET language, F# also allows programmers to explicitly declare data types, and F# supports .NET types and objects. 

Unlike other scripting languages, F# executes at or near the speed of C# and C++, making use of the performance that comes through strong typing.  And unlike many statically-typed languages, F# also supports dynamic language techniques such as property discovery and reflection.

F# comes with a Visual Studio language service that integrates it into the IDE, enabling programmers to use Visual Studio to create F# projects and debug F# code.  In addition, F# comes with a Visual Studio-hosted interactive console that executes F# code as it is being written.  F# programs support any target platform that also runs .NET, which includes Windows and Linux.

“Hello, World” in F#

(* Sample hello world program *)
printf "Hello World!"

References

Article published on November 11, 2008




Leave a Reply