F# Brief Overview - Sample and Resources Sava Developer Brown Bag (SDBB) April 15, 2010 (Happy Tax Day)
Introducing F# Taken from  http://en.wikibooks.org/wiki/F_Sharp_Programming   The F# programming language is part of Microsoft's family of .NET languages, which include C#, Visual Basic.NET, JScript.NET, and others. As a .NET langugage, F# code compiles down to Common Language Infrastructure (CLI) byte code which runs on top of the Common Language Runtime (CLR). All .NET languages share this common intermediate state which allows them to easily interoperate with one another and use the .NET Framework's Base Class Library (BCL). Some of F#'s notable features include type inference, pattern matching, interactive scripting and debugging, higher order functions, and a well-developed object model which allows programmers to mix to object-oriented and function programming styles seamlessly.
A Brief History of F# Taken from  http://en.wikibooks.org/wiki/F_Sharp_Programming     There are three dominant programming paradigms used today: functional, imperative, and object-oriented programming. Functional programming is the oldest of the three, beginning with Information Processing Language in 1956 and made popular with the appearance of Lisp in 1958. F# was developed in 2005 by Microsoft's research and development department. In many ways, F# is essentially a .Net implementation of OCaml, combining the power and expressive syntax of functional programming with the tens of thousands of classes which make up the .NET class library.
Very Different Since it is now part of the .NET Framework, F# is easier to learn through Intellisense. Main difference encountered so far...besides syntax is that strings are immutable by default. If the strings need to be assigned, changed etc, the  mutable  keyword will need to be used.   let mutable entries = 0  Immutable - not subject or susceptible to change or variation in form or quality or nature; "the view of that time was that all species were immutable ...   Mutable - capable of or tending to change in form or quality or nature; "a mutable substance"; "the mutable ways of fortune"; "mutable weather patterns"
Sample Code Code on GitHub:  http://gist.github.com/366942
Sample Code - Output The calculation is basically 220 minus Age.
Resources WikiBooks - F# Programming -  http://en.wikibooks.org/wiki/F_Sharp_Programming   MSDN F# Programming Portal http://msdn.microsoft.com/en-us/fsharp/default.aspx   Community for F# http://www.communityforfsharp.net/   F# 101 - Article from CODE Magazine http://goo.gl/7jUr  
Resources - Continued HubFS: The Place for FS - Forum type site http://cs.hubfs.net/     F# For Game Development http://sharp-gamedev.blogspot.com/   Exploring the F# Language Series (4-Parts) http://goo.gl/wjtq F# Eye For The C# Guy - A presentation with a little humor http://goo.gl/co1w

F# Sample and Resources

  • 1.
    F# Brief Overview- Sample and Resources Sava Developer Brown Bag (SDBB) April 15, 2010 (Happy Tax Day)
  • 2.
    Introducing F# Takenfrom http://en.wikibooks.org/wiki/F_Sharp_Programming The F# programming language is part of Microsoft's family of .NET languages, which include C#, Visual Basic.NET, JScript.NET, and others. As a .NET langugage, F# code compiles down to Common Language Infrastructure (CLI) byte code which runs on top of the Common Language Runtime (CLR). All .NET languages share this common intermediate state which allows them to easily interoperate with one another and use the .NET Framework's Base Class Library (BCL). Some of F#'s notable features include type inference, pattern matching, interactive scripting and debugging, higher order functions, and a well-developed object model which allows programmers to mix to object-oriented and function programming styles seamlessly.
  • 3.
    A Brief Historyof F# Taken from http://en.wikibooks.org/wiki/F_Sharp_Programming   There are three dominant programming paradigms used today: functional, imperative, and object-oriented programming. Functional programming is the oldest of the three, beginning with Information Processing Language in 1956 and made popular with the appearance of Lisp in 1958. F# was developed in 2005 by Microsoft's research and development department. In many ways, F# is essentially a .Net implementation of OCaml, combining the power and expressive syntax of functional programming with the tens of thousands of classes which make up the .NET class library.
  • 4.
    Very Different Sinceit is now part of the .NET Framework, F# is easier to learn through Intellisense. Main difference encountered so far...besides syntax is that strings are immutable by default. If the strings need to be assigned, changed etc, the mutable keyword will need to be used.   let mutable entries = 0 Immutable - not subject or susceptible to change or variation in form or quality or nature; "the view of that time was that all species were immutable ...   Mutable - capable of or tending to change in form or quality or nature; "a mutable substance"; "the mutable ways of fortune"; "mutable weather patterns"
  • 5.
    Sample Code Codeon GitHub: http://gist.github.com/366942
  • 6.
    Sample Code -Output The calculation is basically 220 minus Age.
  • 7.
    Resources WikiBooks -F# Programming -  http://en.wikibooks.org/wiki/F_Sharp_Programming   MSDN F# Programming Portal http://msdn.microsoft.com/en-us/fsharp/default.aspx   Community for F# http://www.communityforfsharp.net/   F# 101 - Article from CODE Magazine http://goo.gl/7jUr  
  • 8.
    Resources - ContinuedHubFS: The Place for FS - Forum type site http://cs.hubfs.net/   F# For Game Development http://sharp-gamedev.blogspot.com/ Exploring the F# Language Series (4-Parts) http://goo.gl/wjtq F# Eye For The C# Guy - A presentation with a little humor http://goo.gl/co1w