(Post 24/02/2006) Combining
the strong typing, scripting and productivity of ML with the efficiency,
stability, libraries, cross-language working and tools of .NET.
Introduction
What is F Sharp?
The blurb from the F Sharp site
describe it as: "F# is a mixed functional/imperative programming
language based on the design of the functional language Caml
and the .NET language C#."
Why F Sharp?
I’ve always been interested in functional
programming, I like its simplicity, but even functional programming fans
will tell you that although functional programming makes some problems
very easy to solve, it makes others very difficult. I think this makes
functional programming and the .NET framework a good fit as in theory
the .NET framework offers you the chance to solve a problem using the
most appropriate language.
F# seems to be the most fully developer
functional language for the .NET framework so I’ve spent most time investigating
it. Also F# is not a pure functional language; this is very help with
trying to interoperate with class libraries written in other languages
which are not functional then you can not hope to keep things purely functional.
It is true functional programming is
not used much commercially. But, not all good ideas in programming languages
are used in commercial situations and for me functional languages represent
a rich vein of untapped good ideas. I think F# help take those ideas a
step closer to being useful, but only time will tell.
Detail
F# is a programming language that provides
the much sought-after combination of type safety and scripting, with all
the advantages of running on a high-quality, well-supported modern runtime
system. F# gives you a combination of
- interactive
scripting like Python,
- a mathematical
approach to programming like that of MatLab,
- the strong
type inference and safety of ML,
- a cross-compiling
compatible core shared with the popular OCaml language,
- a performance
profile like that of C#,
- as many libraries
as VisualBasic.NET,
- a foundational simplicity
with the same roots as Scheme,
- the option of a first-class Visual
Studio integration,
- 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 scientific,
engineering and web-based programming tasks.
F# is a pragmatically-oriented variant
of ML that shares a core language with OCaml.
F# programs run on top of the .NET Framework.
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, read about F# in
more detail and follow the links below.
Announcements
Starting points
Đặng Trần Thọ
(tổng hợp từ strangelights.com và microsoft.com) |