Coffeehouse Thread

16 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

Foundations of F# - Coming Very Soon

Back to Forum: Coffeehouse
  • User profile image
    robert

    I thought you might be interested in this announcement as channel9 has its own F# tag and when it get mentioned it seems to get very positive feedback:
    http://channel9.msdn.com/tags/FSharp

    I’m very pleased to announce that Foundations of F# will finish its first printing run on Friday 25th May, two days after my birthday Smiley. It should reach any pre-order customers between 5 to 10 days later, meaning if ordered it on Amazon or Borders (or any other online store), it should be with you before the end of May. A few weeks after that it should start appearing in books stores, at least bookstores that have very big tech departments.

    I wrote this book because I believe functional programming (FP) is the future of .NET programming. You have already seen the influence of functional programming on the .NET Framework; everybody’s favorite .NET 2.0 feature, generics, is an idea lifted directly from FP, and F# creator Don Syme was the drivig force behind the design and implementation of generics. To understand the full power of the current and future versions of the .NET Framework, every professional .NET programmer needs to learn about FP, and there’s no better way to do that than by learning F#—and no easier way to learn F# than by reading Foundations of F#.

    I have to say I feel very proud to have got this far. There are over 230 code examples coving a large range of topics, so I think most programmers will find something to interest them.

    So what are you waiting for? Order a copy today, if you haven’t already:
    http://www.amazon.com/dp/1590597575?tag=strangelights-20&camp=14573&creative=327641&linkCode=as1&creativeASIN=1590597575&adid=0F4QKB6A95B2Z4NW1BFN

  • User profile image
    anand.t

    congrats and all the best for your book.  Do you have the contents page somewhere online and any online sample chapters??

    thanks

  • User profile image
    ben2004uk

    Sounds interesting,  going to sound a silly question, but how does F# compare to something like Ruby/Python and dynamic languages?

  • User profile image
    Escamillo

    ben2004uk wrote:
    

    Sounds interesting,  going to sound a silly question, but how does F# compare to something like Ruby/Python and dynamic languages?



    F# is in the ML family.
    http://research.microsoft.com/fsharp/fsharp.aspx

  • User profile image
    Royal​Schrubber

    Anybody knows what its Magic Power(TM) is? Smiley

    I suspect there is λ, lisp-like call/cc too? Anything else?

  • User profile image
    footballism

       Cool stuff, recently I am pondering on which programming language I should learn next? C++, Ruby, Python comes into my mind immediately, but F#is just so cool so unique, I think I should pick it up eventually if I got more spare time:D

  • User profile image
    Royal​Schrubber

    If I may suggest - C++ for wider horizon and then Lisp for functional way of viewing on problems. Smiley

  • User profile image
    robert

    I've just update the table of contents that is available on the F# wiki:

    http://www.strangelights.com/fsharp/wiki/default.aspx/FSharpWiki/FoundationsOfFSharp.html

    F# is similar to languages like python and ruby, in that the syntax is nice and pithy and it can be executed interactively. With the F# visual studio integration you can highlight a chunk of code and then execute it, making development feel a bit more like writing SQL. This is nice when developing winforms or wfp, as you can execute a piece of code dynamically and immediately see its effect on the window. But then you take take that same code and with little or no effort compile it into an executable or library. It's also possible to right click on an F# script and execute it, which is great for little snippets which aren't worth turning into binaries.

    F# too is very much a functional programming language so by learning it you will also be learning good functional style and get the functional view on problems, and unlike lisp you all get access to any library or tool available on the .NET platform, which is very useful!

  • User profile image
    bitdisaster

    F# is a ML based language ? Thats cool. It just remember me to my second semester on the university. We had to implement a game strategy for the "4 wins" game. At the end was a contest of all implementation against each other. It was my first contact with functional programming and I can say you: sleepless nights and tons of coffee.
    Maybe it's time for new implementation in F# Smiley

  • User profile image
    robert

    Yes, F# is very much an ML dialect, it shares enough of a common core of syntax with the popular ml dialect OCaml (http://caml.inria.fr/) that it's possible to cross compile programs between the two. However I don't tend to encourage that sort of apporach, unless you really need to support both platforms, as you limit your self to a sub set of both languages. The two are fairly different now, there's quite a lot that F# has that ocaml doesn't and of course there are some features that exist in ocaml that are not in F#.

    Anyway it should be pretty easy to port any program from an ML style programming language to F#. Not sure I know the "4 wins" game, is it like "Connect Four"? I'd would love to see an implementation in F#. You could probably do a great GUI in WPF.

  • User profile image
    bitdisaster

    robert wrote:
     Not sure I know the "4 wins" game, is it like "Connect Four"? I'd would love to see an implementation in F#. You could probably do a great GUI in WPF.


    I'm just translated the name from german, where it is called "4 gewinnt". Maybe in english the name "Connect four" is more familiar.

    Of course, WPF is another topic where I'm currently read a book. So maybe "Petzold" + "Pickering" = "Connect Four" or better:
    let ConnectFour = Petzolf + Pickering Smiley

  • User profile image
    littleguru

    section31 wrote:
    
    robert wrote:
     Not sure I know the "4 wins" game, is it like "Connect Four"? I'd would love to see an implementation in F#. You could probably do a great GUI in WPF.


    I'm just translated the name from german, where it is called "4 gewinnt". Maybe in english the name "Connect four" is more familiar.

    Of course, WPF is another topic where I'm currently read a book. So maybe "Petzold" + "Pickering" = "Connect Four" or better:
    let ConnectFour = Petzolf + Pickering


    It's "connect four" Smiley

    I find it interesting how functional languages start to become main stream. I loved them since I really wrote the first line in Haskell. It's so much fun!

    I wonder if logicoriented languages will also become main stream once... they are also fun. Prolog for example.

  • User profile image
    bitdisaster

    littleguru wrote:
    
    ...
    I find it interesting how functional languages start to become main stream. I loved them since I really wrote the first line in Haskell. It's so much fun!

    I wonder if logicoriented languages will also become main stream once... they are also fun. Prolog for example.


    I think it's a good move to have the power of a framework like .Net and a set of domain specific languages together. In the past it was hard to combine elegant implementations in functional or logical language together with rich UI's and/or database interaction.
    F# is a step in the right direction. So you can choose the right language for specific problems. MS-Research we need P# next. Cool

  • User profile image
    littleguru

    section31 wrote:
    
    littleguru wrote:
    
    ...
    I find it interesting how functional languages start to become main stream. I loved them since I really wrote the first line in Haskell. It's so much fun!

    I wonder if logicoriented languages will also become main stream once... they are also fun. Prolog for example.


    I think it's a good move to have the power of a framework like .Net and a set of domain specific languages together. In the past it was hard to combine elegant implementations in functional or logical language together with rich UI's and/or database interaction.
    F# is a step in the right direction. So you can choose the right language for specific problems. MS-Research we need P# next.


    Yeah, it's so great to have all this stuff coming together. There is already an implementation of Prolog available for .NET: http://prolog.hodroj.net/ - but I don't know how good it is.

  • User profile image
    ben2004uk

    For a foundations book, it covers loads Smiley

    Been added to my wishlist....might get it at the end of the summer. Going to learn C++ and Ruby first I think.  Get a good understanding of those two languages before breaking into another complete unknown....Plus I already have them books.

    But it sounds very cool.

  • User profile image
    anand.t

    thanks for the chapter update. Looks promising, but I always prefer reading a couple of chapters at the local chapters store before ordering it Smiley So I will wait till it is released. Hopefully should keep me busy this winter

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.