Live data from Hacker News

F# Not just for finance

fsharp.tv

21–30 of 138 posts

Re: F# Not just for finance

#21
post #4
post #3

While I think F# is a great programming language. The article missed some good uses of it. Specifically the article missed one of largest F# deployment, in production, in the world at this point. We use F# at Jet.com and it powers every part of our core business from our dynamic pricing algorithm to search and analytics. Over 4 million customers already on jet and over 2200 cores on azure all running F# code.

What concurrency models do you employ to saturate all cores, and how's GC behavior?

F# has fantastic concurrency support. Great support for Asynchronous operations and Multi Threading. Being a functional first language and immutable by default means most of the micro services are stateless and this means we can take advantage of concurrency like crazy and not worry too much about race conditions. I think functional languages in general make concurrency much easier not just F#.

GC on the other hand is very aggressive with all of the immutable data structures F# creates. GC in F# is very good, though, I think without good garbage collection you have a tough time in a functional world. Microsoft is especially interested in GC performance for .NET and they have explored memory dumps to improve GC so it performs well even under load and when used with F#.

Re: F# Not just for finance

#22
post #19

Earlier quoted context omitted.

Small note about Nuget, you might consider upgrading to paket (works nice with C# too): http://fsprojects.github.io/Paket/ It removes so much pain compared to raw usage of Nuget and is very easy to learn/adopt.

> It removes so much pain compared to raw usage of Nuget and is very easy to learn/adopt We have a very large number of projects and migrating them all to paket would be a hassle, so I'd be interested in what pain in particular it removes? I'm no fan of nuget I can tell you, but I'd be interested to understand what you feel the big wins are

paket convert-from-nuget

Re: F# Not just for finance

#24
post #21
post #4

Earlier quoted context omitted.

What concurrency models do you employ to saturate all cores, and how's GC behavior?

F# has fantastic concurrency support. Great support for Asynchronous operations and Multi Threading. Being a functional first language and immutable by default means most of the micro services are stateless and this means we can take advantage of concurrency like crazy and not worry too much about race conditions. I think functional languages in general make concurrency much easier not just F#. GC on the other hand i…

I would assume you guys are making heavy use of the sustained low latency GC modes that got introduced in .net recently, or do you use the default?

Re: F# Not just for finance

#26
post #18

Is anyone using F# on Linux? How's the experience?

I'm running it in prod since last year and from the runtime perspective there are no issues.

Tooling is what sucks. MonoDevelop F# support is very unreliable. Basic refactoring, like rename, don't work correctly every time and I had to literally do git reset few times, after renaming, as it screw up multiple files.

Also, editor often has visual glitches where letters get corrupted and I have to reopen the file to get it back to normal. Not something I expect from such a long time maintained application. However, it looks like Xamarin Studio 6.0 will be much better.

Alternative is Visual Studio Code with Ionide plugin, but I didn't use that beyond trying it once. Hopefully someone else can comment.

Edit: typos

Re: F# Not just for finance

#27
post #2

I liked tinkering with F# on VS Code with Ionide ( https://marketplace.visualstudio.com/items?itemName=Ionide.I... ), but would love to hear from folk doing F#/OCaml as to their toolsets.

As far as I'm aware, the most popular F# tools for writing code are (from most to least popular): Visual Studio, Ionide (either using Atom or VS Code) and Emacs. I haven't seen that many people coding in F# using anything else, but I'm sure you'd find a few people using the usual suspects (Vim, Sublime Text, etc...).

I'd like to use mainly emacs but I've noticed high delays in auto completions on certain type providers that don't exist in VS. Not sure what the issue is...

Re: F# Not just for finance

#28
post #2

I liked tinkering with F# on VS Code with Ionide ( https://marketplace.visualstudio.com/items?itemName=Ionide.I... ), but would love to hear from folk doing F#/OCaml as to their toolsets.

As far as I'm aware, the most popular F# tools for writing code are (from most to least popular): Visual Studio, Ionide (either using Atom or VS Code) and Emacs. I haven't seen that many people coding in F# using anything else, but I'm sure you'd find a few people using the usual suspects (Vim, Sublime Text, etc...).

Xamarin Studio 6 has gotten a lot of F# support. I've seen a lot of folks using that for coding in F#.

Re: F# Not just for finance

#29
post #7
post #2

I liked tinkering with F# on VS Code with Ionide ( https://marketplace.visualstudio.com/items?itemName=Ionide.I... ), but would love to hear from folk doing F#/OCaml as to their toolsets.

We use it for satellite projects around our core C# app (the only reason the core isn't F# is legacy, so I created a C# library to get as close as possible when updating/refactoring [1]). The toolset is pretty boring/standard though: VS2015 + TeamCity + in-house Nuget + Gitlab [1] https://github.com/louthy/language-ext/

Hey Louthy. Just wanted to say that I really appreciated your framework.

Re: F# Not just for finance

#30

Programming languages are hyped now worse than cars : "From code to colossal: Waagner-Biro recently used F# to construct the dome of the Louvre Abu Dhabi museum" They used X programming language to build the dome of a museum ? Wowwww... It's sad.

Construct is probably a poor choice of words. Design would be more accurate.
Post reply on HN