Microsoft To Allow Code Contributions To F# 100
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."
Please, find a better name. (Score:5, Funny)
I got in trouble with Personnel for suggesting we "F# our stack".
Re:Please, find a better name. (Score:0)
I got in trouble with Personnel for suggesting we "F# our stack".
^^ That's funny right there.
Re:Please, find a better name. (Score:0, Flamebait)
I got in trouble for discussing porting a co-worker's code when I said, "We should F# her C#".
Re:Please, find a better name. (Score:0)
You didn't say that. You are a liar. LIAR!!!!!!!!!!!!!!!!!!!!!!!
Please do our work for free! (Score:5, Insightful)
When they discontinue F# in five years, you can link back to this with an "I told you so."
Re:Please do our work for free! (Score:0)
So, every opensource project out there died in 5 years?
Re:Please do our work for free! (Score:0)
Not every .... MOST (Score:0)
Most open source projects become abandonware after about 6 months after the single developer get tire of maintaining the source or completed the semester.
Only the big projects backed by corporate $$$$ survive.
Re:Please do our work for free! (Score:1, Insightful)
People like you are all the same.. Piss and moan when MS keeps their code locked, piss and moan when they open-source it..
WAHHHH
Re:Please do our work for free! (Score:0)
Re:Please do our work for free! (Score:1)
Yup +1 if I had it lol
Re:Please do our work for free! (Score:2, Interesting)
Microsoft is closed source. Slashdot hates.
Microsoft goes open source. Slashdot hates.
Re:Please do our work for free! (Score:3)
Timeo Danaos et dona ferentes
Re:Please do our work for free! (Score:2)
Translation: I fear Greeks bearing gifts.
A reference to the Trojan horse.
Re:Please do our work for free! (Score:2)
If that really needs explaining, this is not the /. anymore that I once knew and loved.
Re:Please do our work for free! (Score:0)
It doesn't matter if they discontinue it in their own products, the source will always be available and it's out of their control if anyone wants and will use it.
it'll be supported as long as you want to use now, regardless of what Microsoft decides.
F# isn't going away (Score:1)
Not much chance of that. F# just hit #12 on the Tiobe Index, up from #69 this time last year:
http://www.tiobe.com/index.php... [tiobe.com]
F# Seven years ago, and in five years time (Score:4, 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.
.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.
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
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.
Re:F# isn't going away (Score:2)
Tiobe is notoriously inaccurate. If it just that high, it was probably due to a change in their dodgy methodology.
Re:F# isn't going away (Score:2)
If it just that high
That should read "If it jumped that high.
Weird (Score:0)
What corporation is this and what have you done with Microsoft?
Re:Weird (Score:4, 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.
Re:Weird (Score:2)
With the recent changes, almost all of those in actual control of Microsoft have a significant and continuing coding history, so it really is a case of Microsoft going back to grass roots.
Re:Weird (Score:4, 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.
Re:Weird (Score:2)
Did you miss the major announcement about official partnership with Xamarin a month ago or so?
Re:Weird (Score:2)
Yes, I sure did! Have a link by any chance? That would be awesometacular in awesome sauce, or some similar form of squee.
Re:Weird (Score:2)
http://www.citeworld.com/artic... [citeworld.com]
Re:Weird (Score:2)
Thanks!
Re:Weird (Score:2)
Here [slashdot.org] is the official press release.
Here [slashdot.org] is the official press release.">Here is the continuation of that story from the Build conference two days ago.
Re:Weird (Score:2)
Sorry, messed up links - I hate posting to Slashdot from a touch device.
http://xamarin.com/pr/xamarin-... [xamarin.com]
http://blog.xamarin.com/xamari... [xamarin.com]
Re:Weird (Score:0)
You can't use VS on other platforms, but the next version of the C# compiler, codenamed Roslyn, was just open sourced with the Apache license. You will not only be able to run the compiler on other platforms, but you'll be able to customize it as well.
Keep in mind that the bar for MS to accept your patches is rather high, though.
dom
WTF# (Score:0)
is it?
Wow ... just why? (Score:4, 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.
Re:Wow ... just why? (Score:2)
"let" statements -- really?
Why not? It makes sense to do something different so as not to confuse binding with assignment or comparison. Wait, you did realise it wasn't assignment, didn't you?
Re:Wow ... just why? (Score:5, Insightful)
Re:Wow ... just why? (Score:2)
I especially liked the bit about Python, because I mean why would you want an extremely fast JIT compiled language with the best in class IDE that is Visual Studio when you can have Python's relative sluggishness and notepad? (yes I'm being facetious before someone tells me you don't have to use notepad for Python).
Seriously, people need to stop thinking Python is the solution to everything ever. Python is great, and is perfect for replacing crap like PHP because Python is so much better, but F# does many things much better than Python and has it's own niche areas where it simply just outclasses Python.
I wouldn't ever even compare Python and F# because their use cases are just too different.
Re:Wow ... just why? (Score:2)
It's essentially a port of OCaml. It is intended to be somewhat compatible with OCaml, hence the "let".
F# adds features like .NET compatibility, units of measure, computation expressions, and... well, GIYF.
Re:Wow ... just why? (Score:1)
F# is a "port" of Ocaml in about the same sort of way as C# is a port of Java.
Familial resemblance, yes. Compatibility, definitely not. And as with C# and Java, the gap widens year by year.
IMHO, F# is a vast improvement on Ocaml.
Re:Wow ... just why? (Score:2)
Tomayto, tomahto.
F# was originally designed to be somewhat compatible. That goal has obviously faded but the point remains: it has its roots in OCaml and its current syntax draws from it.
But I agree that F# is better in many ways
Re: F# and Ocaml compatibility (Score:1)
Are you aware of even one substantial program that builds without changes under both Ocaml and F#? I'm not.
Re:Wow ... just why? (Score:5, 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).
Re:Wow ... just why? (Score:2)
Interest is apparently at an all-time high, especially with a lot of 'alpha geeks' trying to revive functional programming (clojure, for example). However, I'm not seeing that translate into actual jobs although I imagine it'll be a grassroots "we're a microsoft .net shop, we want to explore functional style programming in our particular domain, let's give it a shot" or a shop that's just starting up with little legacy codebase or PHBs to get nervous about new technologies. I know the financial industry is also having a look at it, especially shops where OCaml is in play. I'd like to add F# to my toolkit, as well, not for any reason other than professional curiosity.
Not OCaml, Haskell or SML at most. (Score:0)
Says the man who has never used OCaml.
If you don't have to explicitly cast integers to floating point to operate them with floating points you're not using OCaml, also if you don't need explicitly different arithmetic operators for each numerical type you're also not using OCaml, if the compiler and interpreter give you different opinions about your code, guess what? you're not using OCaml.
Re:Not OCaml, Haskell or SML at most. (Score:2)
Your comment is so bizarre that I almost think you must have attached it to the wrong post.
I programmed in OCaml for many years.
Yes, there is no automatic type conversion in OCaml. I certainly never said there was. Some people see this as a feature (you know exactly what you're dealing with at all times), some as an issue (you have to write tedious conversions that some languages handle for you).
Yes, there are different arithmetic operators for different numeric types. It's a little bizarre when you're used to other languages, but once you get used to it it's not an issue.
Most of my code was compiled so I didn't experience issues with compiled vs interpreted.
It certainly had a few rough edges here and there, perhaps because the community was not as large as more mainstream languages. They probably would have been ironed out if the language had really taken off.
Sums it up (Score:2)
I use F# daily for the Model (and ViewModel) in WinRT and ASP.NET MVC. Your list of advantages (from OCaml) are exactly the ones which I enjoy.
.Net libraries, Visual Studio support, and redistribution to any .Net host. F# has added some cool features (particularly Type Providers).
In a nutshell: "... let you write very concise code that was checked at compile time".
What F# adds, mostly, is the
Re:Wow ... just why? (Score:2)
Also, I don't know that list comprehension is the "selling feature". It's a feature, no doubt, but F# has quite a few tricks up its sleeves that are much more impressive than that.
Re:Wow ... just why? (Score:1)
Re:Wow ... just why? (Score:2)
I was kind of under the impression that C# was best used for simple applications with a short lead time, especially in an all windows enterprise environment.
Re:Wow ... just why? (Score:3)
All .NET languages are more or less equal as they ALL go through the same back end and share the same runtime.
Unless your in an embedded world where garbage collection isn't acceptable or something like that, they .NET world is capable of just about any task, gaming being one of them. Runtime speed is not an issue unless you need real time hard limits.
There's the .net compact framework for embedded devices and interacting with real time components as needed. .NET is really what Java wishes it was.
Re:Wow ... just why? (Score:1)
Uh... difficult to read regardless of your milk tongue?
Re:Wow ... just why? (Score:0)
I hadn't heard of Julia, it looks nice. You're absolutely right, though, the critical thing for data analysis is the libraries. Speed isn't even that important for many cases. The time savings come from having a good selection of libraries so that you don't have to roll your own code. Right now I'm on MATLAB, but periodically I take a look at Python to see if it'll make a viable alternative. For what I'm doing at the moment it's still not quite there yet. In addition, moving to Python right now would mean re-writing too much code to make the move worthwhile.
Re:Wow ... just why? (Score:1, Informative)
"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.
I'm not sure why let statements would surprise you so much in a functional language, it's pretty standard construct for value binding. You also make it sound like this is something Microsoft just came out with. F# has been around since 2005.
Re:Wow ... just why? (Score:2)
Re:Wow ... just why? (Score:2)
Pronunciation (Score:5, Funny)
I always thought that # was pronounced "rap." Now I see that it should be pronounced "uck."
Re:Pronunciation (Score:2)
Silent R.
Fap Fap Fap.
Re:Pronunciation (Score:0)
rap would be the single player version, uck would be the multi-player version ;D
Minchin (Score:0)
I like playing in F major, but I like coding in F#
Re:Minchin (Score:2)
Too bad it's not G#. I'd have a very bad "a minor" joke that doesn't quite work out now.
Ah well. Maybe with the next incarnation of the language.
pardon my ignorance (Score:1)
Re:pardon my ignorance (Score:1)
It is F# (Score:2)
Don't F'ing cut yourself.
Ignorant, wicked & self-destructing mass (Score:0)
"When I read commentary about suggestions for where C should go, I often think back and give thanks that it wasn't developed under the advice of a worldwide crowd." (Dennis Ritchie)
Wake up.
Re:Ignorant, wicked & self-destructing mass (Score:2)
C# is not related to C just because the name is similar.
What happened to C#? (Score:2)
Is C# so broken that they need to replace it? What advantages does F# offer over C#? Will F# replace C#? Or is F# just an open source iteration of C#?
Re:What happened to C#? (Score:1)
Let me elevate the question: why do we need yet another programming language? (insert oblig XKCD here)
Outside of not being on anyone's resume but necessary for that next job (with 10 years experience, of course), what is the benefit of F# ?
Re:What happened to C#? (Score:1)
Let me elevate the question: why do we need yet another programming language?
Because we're nowhere near figuring out how to best express ourselves to computers for the wide variety of problems we wish to solve and the large diversity of skill-sets and backgrounds we wish to solve them with.
In this example, F# solves the problem of "how do we do statically-typed functional programming (a la OCaml and Haskell) in a way that integrates with the .NET ecosystem?". C# doesn't solve that problem because you can't do nearly enough type theory [wikipedia.org]. OCaml doesn't solve that problem because it's not vendor-supported and it's not designed from the ground up with the .NET platform (and the existing base of C# programmers) in mind.
While I share your unstated assumption... that it seems like there are too many half-baked programming languages instead of a few really good ones, I also think Microsoft deserves credit (much as I hate to say it) for recognizing the need to focus on platforms (like .NET) instead of languages. Of course, then they go and do the whole WinRT thing... :-\
Re:What happened to C#? (Score:3)
F# is a functional programming language. C# is an imperative programming language.
It's like the difference between a spreadsheet and a programmable calculator.
Re:What happened to C#? (Score:2)
F# and C# are both multi-paradigm languages, and are both built on top of the CLR type system. Functional style is more natural in F#, but C# has first class functions (and lambda), too. F# has loops and assignment, but nothing as powerful/abuse-inviting as the C-style for loop. Neither approach is the one true style.
If you believe the proverb, "library design is language design" [from Bell Labs? Was it Stroustrup?], then F# is a much different language from other ML variants as it has native access to Dot Net/Mono libraries.
Re:What happened to C#? (Score:0)
C# is a fully OO imparative language, whereas F# is a functional language. Two different worlds, if you ask me, and I highly doubt F# could dream of replacing C#, even by only looking at usage numbers alone.
Re:What happened to C#? (Score:4, 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.
Re:What happened to C#? (Score:2)
managed C++ is more like something that is in constant pain and begging you to kill it quickly whenever you look at it. I feel its pain. I had to use it. I often felt the urge to put it out of its misery.
Re:What happened to C#? (Score:4, 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.
Actually, Java has caught up (Score:0)
With Java 8 (just released), you have 'map', 'filter', 'reduce', etc. as part of the library updates to correspond with the new lambda support.
Re:What happened to C#? (Score:2)
Umm... you can sell a ton of new books teaching it. And you can force people to upgrade their Visual Studio because they thought they got everything they need in VS2010.
Maybe some other advantages are there, but you'd have to ask MS themselves what else is in for them.
Re:What happened to C#? (Score:2)
F# is an implementation of the OCaml programming language developed to work with .Net. Other then .Net F# has no relation to C#.
OCaml is a variant of the ML programming language, one of the core core functional programming languages.Functional languages are languages that have no mutable state. However they do have work arounds. The idea is that many of the bugs that happen in many program come from interactions with the state. So eliminate the state and you eliminate the bugs. The problem is though, that the things you want want programs to do ( such as placing orders, making reservations, etc ) involve state. So what you've done in the end is, built up a lot of machinery to handle the simlest part of the problem.
Re:What happened to C#? (Score:1)
F# and Ocaml are pretty different, actually. They share about as much familial resemblance as C# and Java, or C++ and Objective C:
- The default "light" syntax in F# does away with most of the semicolons and other noise required in Ocaml
- The OO facilities are entirely incompatible
- The standard libraries are almost entirely different; there's only a tiny bit of overlap
- The mere fact of F# being a .NET language has many practical effects on the language, down to strange implementation details like what it means to rotate an 8-bit integer right by 8. F# and Ocaml do not do the same thing! F# differs because it behaves like C#, whereas Ocaml behaves like C in this regard.
- Ocaml has separate operators for integer vs floating point arithmetic; F# overloads the traditional set, though like Ocaml, F# won't let you implicitly mix integer and FP arithmetic
I could go on, but suffice to say, knowing one only gives you a bit of a leg up on learning the other.
Re:What happened to C#? (Score:1)
It typically takes about 60% of the number of code lines to accomplish something in F# as with C#.
Don't take it from me. Go to the MSDN library page for any given .NET API, scroll down to the Examples, and compare the F# and C# versions. (Not all pages have F# equivalents for the C# examples, but an impressive number do.)
It's no mystery why that is so. F# is highly expressive and doesn't require much boilerplate.
You can mix an F# library into a C# "solution" (urp), so the next time you need a new class or module in a .NET project, I challenge you to write it in F#. You might just get hooked. If not, learning an FP language changes how you think about software, in a good way, even if you never use a pure FP language again.
I also find that correct F# code is more obviously correct than equally correct C# code. It just seems to snap into focus at some point. This might be due to the mathematical rigor of pure FP, or it might just be another benefit of its expressive syntax.
Great news for (some) programming language fans (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.
Re:Great news for (some) programming language fans (Score:2)
Re:Great news for (some) programming language fans (Score:2)
... i'm actually planning on doing this soon, just as a comparison between development methodologies.
Re:Great news for (some) programming language fans (Score:3, Insightful)
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.
You haven't been in the business long have you. Ever heard of embrace and extend?
Re:Great news for (some) programming language fans (Score:0)
Embrace and extend what? F# and the CLR are objectively superior to any of the current ML implementations and Microsoft Research already pays for most Haskell development.
Re:Great news for (some) programming language fans (Score:2)
But what would F# really displace? Haskell's not going away just because F# exists. If anything, it'd probably just add more potential users and contributors to the project. I think Microsoft is just trying grow the community around these kinds of languages, and there are real signs that F# is a healthy community at this point.
The nice thing about F# is that it is at the point that you can get past "well, that's just an academic thing you learned in school" conversation and try to talk about why it makes sense for a given problem. It's a hard sell, but it's not impossible.
I don't see how the insight in quoting the old "embrace, extend and extinguish" mantra here (besides playing to the home crowd). I really don't see how it applies in this case. I really doubt that Microsoft is trying to take over Haskell. Especially given how many researchers in MS research work on the project as well.
Re:Great news for (some) programming language fans (Score:2)
F#, like it's other ML-based dialects, is amazing for solving certain problems in a expressive and concise manner ... it is still a joy to use when you can.
Can you give some examples? Many C-based languages have benefited by gaining strong functional aspects. With that, I haven't really found a reason to use a functional-focused language.
A while ago I decided to dedicate a month to coding in nothing but F# (my usual choices are C++ or C#) in attempt to find the areas they really kick-ass in, and just couldn't land on anything. There are some rare circumstances that I found it to be useful, but I just didn't find it compelling enough to warrant applying elsewhere. I'd never done functional programming before, I'm fully aware a month isn't long enough to master anything, but usually it's enough to discover if something has a really cool, earth-shattering aspect about it. So I'm honestly interested here -- what did I miss?
Re:Great news for (some) programming language fans (Score:3)
There is a crowd of people who think that being able to write a Fibonacci function is fewer characters is the ultimate goal of computer languages. ML and its derivatives are basically this.
That's a pretty insulting statement, I know, but I've suffered through having to read through enough ML code in my day to know that it and its derivatives are not languages that encourage accessible code. They encourage a certain economy of expression that's actually antithetical to maintainable code.
That's my opinion anyway.
Re:Great news for (some) programming language fans (Score:2)
This whole comment doesn't even make sense.
The Fibonacci examples at Rosetta Code are all longer for Ocaml than C, iterative and recursive.
And are you implying ML "encourages economy of expression that's actually antithetical to maintainable code"... but C doesn't? Seriously?
Re:Great news for (some) programming language fans (Score:2)
Yes, that's what I'm saying, and it does make sense.
The whole point of alot of the features of these languages is that they allow eliding the structure and type information that makes code readable.
C doesn't allow you to elide type information or structure.
Yeah, it has shortcuts for some frequently used operations that can be abused, for sure. And it's certainly possible to write unmaintainable code in any language.
All I'm saying is that there is a crowed of language developers who seem to think that eliding details is the holy grail of language features. And the proof is usually how small and "elegant" something like Fibonacci can be implemented.
OCaML is the only language I have ever experienced where I was told by other developers that I cannot expect to understand the program by reading the code - I have to run it in a development environment where the IDE can tell me type information and other stuff not obvious from the source.
Re:Great news for (some) programming language fans (Score:3)
If you replace "functional" with "object oriented" and went back in time 20 years ago, your dismissive, skeptical attitude would have fit right in that era as well.
As in: many languages have benefited by gaining object-oriented aspects, haven't found a reason to use an object-oriented language, nothing compelling enough to apply elsewhere, fully aware that a month isn't long enough to master anything but it were cool and earth-shattering then it would obviously manifest.
Sure, maybe the functional hype machine is cranked a little high, but what are you expecting - a concise summary of the years of improvements knowledge, experience in software development and language research, summarized and tailored to highlight the personal benefits to your workflow?
I would suggest picking up a few books and investing more than one month in figuring anything out. Start with the functional support in a language like Python (https://docs.python.org/2/howto/functional.html). Code stuff up one way and then in another. Basically unless you actually invest some effort you won't believe what somebody comes along to tell you.
Re:Great news for (some) programming language fans (Score:2)
If you replace "functional" with "object oriented" and went back in time 20 years ago, your dismissive, skeptical attitude would have fit right in that era as well.
I think you've misread my comment, or perhaps I've not expressed my position well enough. You're speaking like I've dismissed functional programming. I haven't. In fact, I really love it! The parts of it that have bled through into the more imperative/OO-focused languages, like C#'s LINQ and your Python example, are phenomenal and a joy to use.
So, here it is again: not saying functional is bad. Certainly not being dismissive or skeptical of it. I'd just like to see what compelling features haven't yet bled through. What makes pure functional or even just mostly-functional languages useful, that isn't yet in other languages? What is the killer feature, the killer problem they can still solve way easier?
If a good, experienced programmer dives deep into a language for a month and doesn't surface with anything compelling, how much more time should they spend? I'm not looking to master F#, I'm looking for a reason to master F#.
Re:Great news for (some) programming language fans (Score:2)
Try writing a compiler in it, and you'll quickly see what it is good for.
The main thing of interest there is actually ADTs and pattern matching on them. For some tasks (often ones involving trees), this leads to very concise yet natural code.
Re:Great news for (some) programming language fans (Score:2)
Beat me to it, but walking an expression tree is a great example.
Re:Great news for (some) programming language fans (Score:1)
F# has been around for a decade.
F###! (Score:-1)
Microsludge has a new programming language. Well F#! That's one heck of a name for a language. When needing a support request from a help desk, they send in their request:
Microsludge support people: RE: F#ing language support.
> I can't get this F# language to work properly.
I don't know if its the OS tossing up blue screens or the F# language.
Thanks, developer.
MS's perspetive has changed? (Score:1)
Yawn (Score:0)
Still a .NET ecosystem lockin, no matter how you slice it. This announcement could be better phrased as "MS finally realizes the community is already doing their job but for free, has decided to officially let them do it".
Re:Yawn (Score:2)
F# officially supports Mono.
Re:Yawn (Score:1)
Re:Yawn (Score:0)
Because silverlight works so well under Linux and BSD......
Re:Yawn (Score:1)