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.
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!"
- Download the F# September 2008 CTP Release
- Microsoft F# Developer Center
- Microsoft Research F# Home Page
- F# FAQ
- F# Manual
- Don Syme’s Blog on F#
Article published on November 11, 2008
|If you like this article, please share it:|