Coffeehouse Thread

39 posts

F# is now the real deal: We've made it an official .NET language

Back to Forum: Coffeehouse
  • jhugard

    This is a pretty late reply, but so far my experience is that as a language, F# can be applied to just about any problem.  It seems to lend itself to expression of algorithms, language and data structure parsing and manipulation, implementation of complex formula, and succent expression of genaral purpose code.

    With full integration into Dev Studio and its GUI/Web building tools, I think F# could be applied successfully to just about any problem, and do so with more succint and understandable code while at the same time taking advantge of more complex algorithms.

    Here are some exerpts from various places describing F#:


    APRESS Description of "Expert F#" (book)

    While inspired by OCaml, F# isn't just another functional programming language. Drawing on many of the strengths of both OCaml and .NET, it's a general-purpose language ideal for real-world development. F# integrates functional, imperative, and object-oriented programming styles so you can flexibly and elegantly solve programming problems, and brings .NET development alive with interactive execution. Whatever your background, you'll find that F# is easy to learn, fun to use, and extraordinarily powerful. F# will help change the way you think about and go about programming.
    The F# Home Page

    F# is a programming language that provides the much sought-after combination of type safety, performance and scripting, with all the advantages of running on a high-quality, well-supported modern runtime system. F# gives you a combination of

    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. 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 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.

  • Charles

    Soma made an interesting announcement today: F# will become an official Microsoft .NET language (like C# and VB.NET).

    This is incredibly cool!
    C

  • TommyCarlier

    Wow, another fine piece of MS Research being productized. This is good news.

  • Bas

    Awesome! Looking forward to diving into it.

  • Richard.Hein

    That's great news!  Actually about 6 or 8 months ago, I asked a Microsoft Evangelist at an event if F# was going to be part of Orcas, and he said without hestitating, "Yes" ... I was quite dissappointed that it wasn't included.  Good to see it become a 1st class citizen.

  • littleguru

    Wow! AWESOME! Smiley Functional programming is coming and coming and coming...

  • esoteric

    Wicked. I've never tried O'CAML or F#, just SML, but this is very cool.

  • Lloyd_Humph

    Cool

    If Blackberrys are addictive cellphones, Channel9 is the ultimate addictive website.
    Last modified
  • phreaks

    How much modification is necessary to get existing ML code to operate with as F#?

    We have extensive amounts of ML code, how can we leverage F#?

  • Dr Herbie

    OK, now I don't have a CS background and I fell into the C-family of languages (with a short stroll through Pascal and Basic at the start), so I'm a mainly OOP developer, and I come up a bit short on the rest of this stuff.

    Can anyone suggest examples of functionality that would be better written in F# than in C#?

    When would I want to use it?


    Herbie

  • phreaks

    Dr Herbie wrote:
    OK, now I don't have a CS background and I fell into the C-family of languages (with a short stroll through Pascal and Basic at the start), so I'm a mainly OOP developer, and I come up a bit short on the rest of this stuff.

    Can anyone suggest examples of functionality that would be better written in F# than in C#?

    When would I want to use it?


    Herbie


    Statistical or analytical modeling and forecasting.

  • Dr Herbie

    phreaks wrote:
    
    Dr Herbie wrote:
    OK, now I don't have a CS background and I fell into the C-family of languages (with a short stroll through Pascal and Basic at the start), so I'm a mainly OOP developer, and I come up a bit short on the rest of this stuff.

    Can anyone suggest examples of functionality that would be better written in F# than in C#?

    When would I want to use it?


    Herbie


    Statistical or analytical modeling and forecasting.


    OK. Why?

    Herbie

  • phreaks

    Dr Herbie wrote:
    
    phreaks wrote:
    
    Dr Herbie wrote:
    OK, now I don't have a CS background and I fell into the C-family of languages (with a short stroll through Pascal and Basic at the start), so I'm a mainly OOP developer, and I come up a bit short on the rest of this stuff.

    Can anyone suggest examples of functionality that would be better written in F# than in C#?

    When would I want to use it?


    Herbie


    Statistical or analytical modeling and forecasting.


    OK. Why?

    Herbie


    because it's better to represent functional programs as mathmatical formulas.

  • Chadk

    Awesome.

    What kind of visual studio support will we get? Smiley   

  • ScanIAm

    I'm trying to figure out what it would be good for.  It's scripting, right ? 

    Is the 'functional' part referring to mathematical functions?

    What problem is it solving?

  • Dr Herbie

    phreaks wrote:
    
    Dr Herbie wrote:
    
    phreaks wrote:
    
    Dr Herbie wrote:
    OK, now I don't have a CS background and I fell into the C-family of languages (with a short stroll through Pascal and Basic at the start), so I'm a mainly OOP developer, and I come up a bit short on the rest of this stuff.

    Can anyone suggest examples of functionality that would be better written in F# than in C#?

    When would I want to use it?


    Herbie


    Statistical or analytical modeling and forecasting.


    OK. Why?

    Herbie


    because it's better to represent function programs as mathmatical formulas.



    So would you say it's a 'domain mapping' issue then? 
    Functional programming -> mathematical solutions, OOP -> 'corporial' solutions?

    I can see that a lot of scientists would be interested (not just computer science, but all sciences).

    It's probably not for me then - I'm dreadful at maths; I've tried 3 times to learn calculus but it seems my mind just doesn't work that way.


    Herbie

  • ScanIAm

    ScanIAm wrote:
    I'm trying to figure out what it would be good for.  It's scripting, right ? 

    Is the 'functional' part referring to mathematical functions?

    What problem is it solving?


    Nevermind, Herbie asked and you all answered the questions while I was typing.

    I'm no moron, but some of the stuff I've read about it makes my brain tired a little bit.

  • phreaks

    ScanIAm wrote:
    I'm trying to figure out what it would be good for.  It's scripting, right ? 

    Is the 'functional' part referring to mathematical functions?

    What problem is it solving?


    The quantitative problem.

    You probably won't ever use it unless you are doing some hardcore statistical, analytical or other quantitative programming.

    If we have a problem that can be solved mathematically, we can write code that is very similar to the actual formula to solve the problem.

    understand?

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.