7 ms·
Who uses F# and why?
by knodi 13y ago
Who uses F# and why?
- chollida1 13y agoI'm not sure if I'm being trolled or not but I'll bite... A simple 5 second google search would answer your questions. http://stackoverflow.com/questions/179332/anyone-actually-using-f-in-production http://stackoverflow.com/questions/179332/anyone-actually-us... http://fsharpforfunandprofit.com/why-use-fsharp/ http://fsharpforfunandprofit.com/why-use-fsharp/ http://msdn.microsoft.com/en-us/vstudio/gg634701.aspx http://msdn.microsoft.com/en-us/vstudio/gg634701.aspx To be honest as to why the answer is often anyone who wants to use an OCaml like syntax but have access the debugging tools of visual studio or mono and access to the libraries written for .Net. We use it to write our proprietary trading system.
- yulaow 13y agoWho needs a functional programming language and wants, at the same time, to take full advantage of the use of the .NET framework. examples: math, science, economic fields.
- tonyabell 13y agoBeing serous, who uses Go and why? The reasons are similar to why one should use F#
- lmm 13y agoWhat? The use case for F# is simple: you have a body of existing .net (i.e. C#) code you want to interoperate with, but you want a modern functional language with all the benefits that brings (a real type system, a better steer towards immutability and purity, etc.). What's the use case for Go? It's certainly not that.
- Associat0r 13y agoF# is general purpose and multi-paradigm, it even has OO classes and imperative for and while loops. I for one got into .NET because of F# and to me .NET is just like any other language runtime.
- lmm 13y agoOOI why did you choose F# rather than Haskell, OCaml or Scala? I mean sure, it's a perfectly good language for the more general case (leaving aside the poor tool support outside Windows and limited deployment options - but conversely if you're already committed to Windows the tooling is very good), but there are plenty of comparable options there; the unique selling point is the .net integration.
- MichaelGG 13y agoHere's a comparison of OCaml and F#[1], as F# is "descended" from OCaml. Mono provides full support for F#. The F# compiler is open source (Apache license). MonoDevelop has some support for F#, but I haven't used it. I don't fundamentally see the difference in deploying a runtime like the JVM over Mono. Mono even lets you pre-compile to native code (that's how the run on iOS, for instance), so you don't need to install the Mono runtime. I use F# in production on Linux machines (telephony applications) and have so for many years. We use Windows to develop, test, build, etc. and then copy things over to Linux and it just works. 1: http://stackoverflow.com/questions/179492/f-changes-to-ocaml http://stackoverflow.com/questions/179492/f-changes-to-ocaml
- lmm 13y ago>I don't fundamentally see the difference in deploying a runtime like the JVM over Mono. It's not a fundamental difference, it's about being confident the tools and support you need will be available. With the JVM you've got the full weight of IBM and Oracle behind you, and thousands of vendors selling things like latency-optimized JVMs, heap analyzers, managed hosting services. Likewise with the CLR you've got MS and a whole ecosystem of companies building tools around their VM. With Mono I don't get the same level of confidence that I'm moving with the herd, that there are many other businesses who will have hit any possible problems, that I can hire people who've used the platform before... But my tooling comment was mostly about the development tools. I'd be super-nervous about developing on one OS/VM and deploying to another; don't you find you hit VM bugs that weren't present when you tested?
- 13y ago
- kryptiskt 13y agoFinancials like it a lot. Because it is the simplest and easiest way to do FP in a .NET stack. And it is quite a nice meld of an uncompromising dialect of ML into an OO world.
- rch 13y agoI know of at least one very smart/productive guy who uses it, but I couldn't say 'why' exactly. It might be because he works at an MS dominated company, that is nonetheless open to experimentation.
- Associat0r 13y agohttp://blogs.msdn.com/b/dsyme/archive/2010/07/08/tabbles-organize-your-files-written-in-f.aspx#10035807 http://blogs.msdn.com/b/dsyme/archive/2010/07/08/tabbles-org... http://fsharp.org/testimonials/#tabbles-1 http://fsharp.org/testimonials/#tabbles-1 Completely in F# see comments above http://www.rawbots.net/ http://www.rawbots.net/ are using F# in a very significant way and are in the process of making it their primary language. http://fsharp.org/testimonials/#path-of-go http://fsharp.org/testimonials/#path-of-go whole AI logic in F# http://fsharp.org/testimonials/#yan-cui http://fsharp.org/testimonials/#yan-cui backend in F# http://www.galaxywarsthegame.com/ http://www.galaxywarsthegame.com/ uses F# entirely http://www.assettocorsa.net/ http://www.assettocorsa.net/ uses F# to prototype their vehicle dynamics. and many more here http://fsharp.org/testimonials/ http://fsharp.org/testimonials/
- MichaelGG 13y agoPlenty of different reasons. Personally, I'm looking for a solid language with broad library and interop, and fantastic tooling (from editors to debuggers, profilers, and more). .NET has a good ecosystem; MS loves developers (usually). F# has nearly a superset of C#'s functionality, but with a far better fundamental design. It requires much less code, and results in far fewer bugs. And the biggest tradeoff is that Visual Studio's IntelliSense is a bit less capable with F# than C#. Performance wise, F# usually matches C#, but has more flexibility to outperform it in some cases. The F# team has a strong background: They were the ones responsible for bringing proper generics to C# and the CLR. Without them, the CLR would probably have a lame generics system, such as Java. F# also demonstrated how to properly do async on .NET half a decade ago, which C# 5 finally picked up. So if you're on .NET, there's little reason to not use F#, unless you're in a shop that needs replaceable warm-body programmers. If you're not on .NET, there are perhaps better languages (Haskell), but that comes at a cost of having less tooling and libraries.