Live data from Hacker News

What is the case against F#? (2009)

stackoverflow.com

81–90 of 107 posts

Re: What is the case against F#? (2009)

#81
post #11

F# is a lot like OCaml. But OCaml still struggles with multiprocessing, while F# can run on the .NET infrastructure which has this solved.

What are some situations where you need parallelism? I am not convinced there are many. I have never heard anyone say they are using .NET instead of JavaScript or Python in order to get parallelism.

Re: What is the case against F#? (2009)

#82
post #77

I would be very worried using any language developed and marketed by a single large corporation. It’s not only that they or the language might go away suddenly (hello Google!), it’s mostly that this corporation have a de-facto iron grip on the future development of the language and the developer culture. I simply don’t use any such languages.

Just that F# other than C# is a bad example in that argument. There is a pretty independent F# Foundation with even the lead Microsoft / F# personell advocating it.

Re: What is the case against F#? (2009)

#83

"Asked 11 years, 7 months ago" Has the need to use functional programming languages become obvious yet? Has C/C++ et al. fallen by the wayside, yet?

C maps to the machine well. (Low-level programmers will probably crucify me for that.) But take its lack of closures as an example. Closures require either some kind of memory management, or clever program transformations, at which point you lose the simplicity of just having the stack and heap.

As much as a generation of Java programmers (like myself) grew up thinking that C++ was old hat and Java was its natural successor, C++ has been quietly ahead of Java with regard to lambdas, generics, type-level trickery. Not to mention performance and backward-compatibility [1].

But reading C++ makes my eyes bleed. I much prefer FP for business logic and web-app development. Haskell is fast but it's no C++, and that's OK. I wouldn't want Haskell to take C/C++ market-share. I want it to compete against other languages that don't give me performance, safety or terseness.

[1] C++17 on the Commodore 64: https://www.youtube.com/watch?v=zBkNBP00wJE

Re: What is the case against F#? (2009)

#84
post #54
post #33

Earlier quoted context omitted.

Unless you're working on a SOTA HFT application where you're optimising your latency by the nanosecond, I can't see modern .Net/F#/C# being a problem in production. Given that Bing[1] and Azure Active Directory[2] run on .Net Core/.Net 5, which are among the most used applications on the entire internet, the idea that a medium-large project cant use them is ridiculous. This isn't even just with modern .Net aswell, Mi…

I used to work in the Azure Resource Manager team and we had big GC issues there. API servers would pause for 200 ms and queues would explode. Workers would grind to a near halt in certain conditions due to GC overload. Granted this was a couple years ago and running dotnet framework, so perhaps things have improved. I think it's likely most of the serious problems there could have been fixed by smarter in memory cac…

"Granted this was a couple years ago and running dotnet framework, so perhaps things have improved" - I think this explains the differences in our opinions on .Net, as I'm from the opposite side of the spectrum having only worked on .Net Core on Linux. From other discussions I've had with people who used older versions of .Net, they seem to share your opinion that it was nowhere near as pleasant of an experience as something like .Net 5. As the other comment mentions, Span has really permeated through core libraries, and the effect is much smoother, more predictable performance, with low memory usage making container based development a breeze.

Re: What is the case against F#? (2009)

#85
post #82
post #77

I would be very worried using any language developed and marketed by a single large corporation. It’s not only that they or the language might go away suddenly (hello Google!), it’s mostly that this corporation have a de-facto iron grip on the future development of the language and the developer culture. I simply don’t use any such languages.

Just that F# other than C# is a bad example in that argument. There is a pretty independent F# Foundation with even the lead Microsoft / F# personell advocating it.

Nothing which was initially developed inside a large corporation has a reasonable chance of becoming truly independent. The only example I can think of is Unix and C, and that’s only because AT&T was (for complicated reasons) legally restricted from selling it as a product, and the project was taken over by various other actors in both business and academia.

But C#, F#, Go, Swift, Dart, etc.? They are initially populated by developers from a specific company, and will, from the start, have that company’s culture and goals implicitly ingrained. No outside developer will be able to climb the ladder and gain any appreciable mindshare to significantly affect this; the direction is set from the start and cannot be altered as long as the original developers (or their successors from the same company) are mostly still there. To get back to my example, Unix only really started to thrive once it was taken over by the BSD developers.

(I have written about this before on here. First six years ago (https://news.ycombinator.com/item?id=8733705) and again about two years ago (https://news.ycombinator.com/item?id=18370067).)

Re: What is the case against F#? (2009)

#86
post #71

Earlier quoted context omitted.

It's not _quite_ meant specifically as a better Python, but it can play that role and there is every intention of making that something that has "product truth" to it. You can look forward to some concrete improvements along those lines this year, specifically in the notebooks tooling space and some library support!

In terms of my current use, the new scripting feature with "r# nuget:.." is game changing because now we can freely share .fsx files and they...just work. Compared to praying to the pip/virtualenv gods in the python space. Really excited to see what ya'll have planned for 2021

Oh yeah, it’s a great feature. People like it a lot more than we thought they would, and we already had high hopes for it! Still more improvements to make there, though.

Re: What is the case against F#? (2009)

#87

The case against for most people is the chicken-and-egg problem of the mainstream adoption of the language. It should be relatively obvious at this point that the outright merits of a language have little or nothing to do with its popularity, at least when compared to things like the corporate backing and will behind a language (see: Objective-C / Swift), and other factors such as positioning and luck (e.g. Javascrip…

> It should be relatively obvious at this point that the outright merits of a language have little or nothing to do with its popularity I beg to differ. People had 25 years to abandon Java but since then, the usage has only grown. I remember when Groovy and Ruby had their hyped periods sometime in the 00s, but what happened to that wave in the end? Grails and Rails became history, FAANG nowadays runs on Spring, the s…

I don’t really see how Rails is history. It’s still one of the most popular web frameworks.

Re: What is the case against F#? (2009)

#88
post #85
post #82

Earlier quoted context omitted.

Just that F# other than C# is a bad example in that argument. There is a pretty independent F# Foundation with even the lead Microsoft / F# personell advocating it.

Nothing which was initially developed inside a large corporation has a reasonable chance of becoming truly independent. The only example I can think of is Unix and C, and that’s only because AT&T was (for complicated reasons) legally restricted from selling it as a product, and the project was taken over by various other actors in both business and academia. But C#, F#, Go, Swift, Dart, etc.? They are initially popul…

Kafka? Airflow? Javascript?

The list goes on.

Re: What is the case against F#? (2009)

#89
post #71

Earlier quoted context omitted.

In terms of my current use, the new scripting feature with "r# nuget:.." is game changing because now we can freely share .fsx files and they...just work. Compared to praying to the pip/virtualenv gods in the python space. Really excited to see what ya'll have planned for 2021

Oh yeah, it’s a great feature. People like it a lot more than we thought they would, and we already had high hopes for it! Still more improvements to make there, though.

Just need some firm locking/pinning and I think you have nailed truly reproducible analytical workflows.

Re: What is the case against F#? (2009)

#90

Earlier quoted context omitted.

OCaml is still pretty fast and part of RHEL. How good ia linux support for F#? And how hars is it to get mono installed?

Linux support for .NET in general, and F# in specific, is good. You don't need Mono at all as of .NET Core a couple of years ago (and the situation has only improved going into .NET 5).

[deleted]
Post reply on HN