Archive

Posts Tagged ‘F#’

A New language F# for .net

November 2, 2009 Leave a comment

F# developed as a research programming language to provide the much sought-after combination of type safety, succinctness, performance, expressivity and scripting, with all the advantages of running on a high-quality, well-supported modern runtime system. This combination has been so successful that the language is now being transitioned towards a fully supported language on the .NET platform. Some of the reasons for this move are that F# gives you:

  • succinct, type-inferred functional programming,
  • interactive scripting like Python and other languages,
  • the foundations for an interactive data visualization environment,
  • the combination of type inference and safety, like that of ML,
  • a cross-compiling core shared with the popular OCaml language,
  • a performance profile like that of C#,
  • easy access to the entire range of powerful .NET libraries and database tools,
  • a foundational simplicity with similar roots to Scheme,
  • the option of a top-rate Visual Studio integration, which is usable with the freely available Visual Studio 2008 Shell
  • the experience of a first-class team of language researchers with a track record of delivering high-quality implementations,
  • the speed of native code execution on the concurrent, portable, and distributed .NET Framework.

The only language to provide a combination like this is F# (pronounced FSharp) – a scripted/functional/imperative/object-oriented programming language that is a fantastic basis for many practical programming tasks.

F# was developed as a pragmatically-oriented variant of ML with a core language sharing many constructs with OCaml. Unlike other scripting languages it executes at or near the speed of C# and C++, making use of the performance that comes through strong typing. Unlike many type-inferred, statically-typed languages it also supports many dynamic language techniques, such as property discovery and reflection where needed. F# includes extensions for working across languages and for object-oriented programming, and it works seamlessly with other .NET programming languages and tools.

For further information on using the F# implementation from Microsoft today, see the MSDN F# Developer Center