Slashdot Mirror


Microsoft To Allow Code Contributions To F#

An anonymous reader writes "The F# programming language team has been providing source code releases for years, but all contributions to the core implementation were internal. Microsoft is now changing that. They've announced that they'll be accepting code contributions from the community for the core F# language, the compiler, library, and Visual F# tools. They praised the quality of work currently being done by the F# community: 'The F# community is already doing high-quality, cross-platform open engineering using modern tools, testing methodology and build processes. Some particularly active projects include the Visual F# Power Tools, FSharp.Data, F# Editing Support for Open Editors, the Deedle DataFrame library and a host of testing tools, web tools, templates, type providers and other tools.' Microsoft is actively solicited bug fixes, optimizations, and library improvements."

12 of 100 comments (clear)

  1. Please, find a better name. by Tablizer · · Score: 5, Funny

    I got in trouble with Personnel for suggesting we "F# our stack".

  2. Please do our work for free! by Anonymous Coward · · Score: 5, Insightful

    When they discontinue F# in five years, you can link back to this with an "I told you so."

  3. Wow ... just why? by buchner.johannes · · Score: 3, Interesting

    "let" statements -- really?
    And the selling feature is list comprehension? Looks like they are trying to go into Haskells direction.
    Testimonials say it's better than C# for data analysis?
    Well, that train has left the station, with R, Python (and Julia) being available. This can not be won by languages, but with high-quality statistics / visualisation / machine learning libraries.

    License is Apache v2 by the way.

    --
    NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    1. Re:Wow ... just why? by TheRealMindChild · · Score: 4, Insightful

      Evaluating the merits of a language within 5 minutes, a brief article, and personal bias... seems legit

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    2. Re:Wow ... just why? by PylonHead · · Score: 4, Informative

      I haven't looked at it for a while, but it's basically Microsoft's version of OCaml which is an objected oriented ML variant, (and a very slick language with a long development history).

      I'm not really seeing it catch on either, but OCaml's sweet spot was writing fast code that dealt with very complex data structures. It enforced static typing, but used type inference to figure out what the types of variables were. It has powerful operators for assembling and splitting up data structures that let you write very concise code that was checked at compile time for correctness.

      It is somewhat similar in flavor to Haskell (although it's probably wrong to say they're going in Haskells direction.. more that they have common ancestors).

      --
      # (/.);;
      - : float -> float -> float =
  4. Pronunciation by Princeofcups · · Score: 4, Funny

    I always thought that # was pronounced "rap." Now I see that it should be pronounced "uck."

    --
    The only thing worse than a Democrat is a Republican.
  5. Re:Weird by lgw · · Score: 3, Interesting

    Microsoft has a new boss. I'm not taking this as a sign of the new direction yet, but we should expect MS to change. Ballmer was all about the status quo (and the chair-lobbing, and the monkey dance). No reason to expect the new guy to be the same.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  6. Great news for (some) programming language fans by ndykman · · Score: 5, Interesting

    If you had told me back more than a decade ago that Microsoft would be supporting a commercial version of a language based on ML, OCAML and Haskell, I'd shook my head in complete disbelief. But, here we are, and this is great news as it allows for more engagement from the Haskell and other functional programming communities.

    F#, like it's other ML-based dialects, is amazing for solving certain problems in a expressive and concise manner. Of course, it's a powerful language that can leads to abuses. And, don't get me wrong, the additional constructs for full .Net interoperability complicate the language a bit compared to Haskell. But, it is still a joy to use when you can.

    Frankly, if there was local F# work, I'd jump on it in a heartbeat. I've even considered trying to convince a couple of local shops to give it a try for some advanced projects.

  7. Re:What happened to C#? by lgw · · Score: 3, Informative

    There are many CLR languages. C#, Visual Basic, "managed C++", and F#, to name a few. They all use the same "bytecode" (well, managed C++ is a weird hybrid), and can use the full .NET libraries.

    F# is a functional language, so it's quite appealing to those who fap to the lambda calculus. C# is great these days for the rest of us. It finally caught up to the basic lisp functionality a few years back with LINQ (Java still hasn't), and it's nice to work in. Sure, it's odd to use "Select" and "Aggregate" instead of "map" and "reduce", but it works nicely.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  8. Re:Weird by lgw · · Score: 3, Interesting

    Let's just say I'm hopeful, but skeptical. What I want is to use VS and C# to make cross-platform .NET apps (PC, android, iThingy) in an officially-supported way. You can do that with third-party commercial products today, and that's neat, but for MS to step up and back projects like Mono with patent indemnification and other official "it's not ours, but we fully support it" blessing would be a new world, and a happy one.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  9. Re:What happened to C#? by lgw · · Score: 3, Interesting

    Managed C++ is absolutely wonderful for one narrow purpose: to marshal between the managed and unmanaged worlds. The .NET marshaller blows goats, but writing your own shim to transfer between .NET and STL classes is easy, runs quite fast, and (unlike the marshaller), can actually be debugged.

    I can't imagine using managed C++ for anything else though. Eesh.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  10. F# Seven years ago, and in five years time by Javaman59 · · Score: 3, Insightful

    I got into F# seven years ago, when it was just a research project and looked more like OCaml than a .Net language.

    By 2010 it had become fully integrated into .Net, and was part of the Visual Studio standard install.

    By 2014 it had evolved into a complete language with its own killer-features and it had spawned a large community, with blogs, tutorials, books and sample code. There are several significant third party add-ons, and numerous high profile adopters.

    In five years time, rather than F# disappearing, it is more likely that it will be the preferred language of many developers and shops, and the early adopters will be thankful for our extra years of experience.

    As for me, I'm thankful not just to have it on my CV, but because it helps me build better apps for WinRT, the web (with ASP.Net MVC) and Android. The root advantage of it being a functional language in the .Net world will always be its main attraction to developers, but its aggressive development by the F# team and widespread support increase its value. This latest strategic move (of opening it to open-source contribution) will accelerate its progress.

    I expect that in five years time, or, hopefully, just two, I won't have to mix F# (for the model) with C# (for the UI) for WinRT and ASP.NET MVC.

    I'll link back to this in five years with "I told you so". I'll still be Javaman59 then.

    >> Not much chance of that. F# just hit #12 on the Tiobe Index, up from #69 this time last year:

    Yep. The sooner you get into it, the better off you'll be in five years time.

    --
    I'm a software visionary. I don't code.