4 ms·
I'm so stoked for F#. I feel it is SO close. As the user experience with dotnet core smooths out(and ionide no longer needs mono) I suspect it will gain a ton o
by Rapzid 10y ago
I'm so stoked for F#. I feel it is SO close. As the user experience with dotnet core smooths out(and ionide no longer needs mono) I suspect it will gain a ton of traction.
- maxxxxx 10y agoI don't know. F# has been the next great thing for a long time but it never really happened.
- deleted 10y ago[deleted]
- tmccrmck 10y agoThat's kind of the story with every functional language (Haskell, Clojure, OCaml). I don't think they'll truly catch on until universities start teaching FP.
- dualogy 10y agoSome big-name ivy league around the early-to-mid 2000s notoriously ditched Haskell for Java and that caused quite a stir (isn't that why "Why FP Matters" was written, or re-written?).. so rather they'd have to "get back" to teaching FP. That alone though may also not suffice though, all that gets the ecosystem is super-generalized hyper-abstract "libraries written by and for PhDs".. not that I'm anti-intellectual I don't think, but if we're talking about "taking off".. programming always took off with "the tinkerers" first and foremost. (Sure, some went on to get hooked on Category Theory but certainly not most!) I guess FP needs the kind of "OOP summer" hype we got in the mid-90s to mid-2000s. And I kinda feel that's in full swing just not coming into full view just yet.
- MichaelGG 10y agoF# could have caught on if MS had pushed it as a first class citizen. Instead of pitching it as aimed at really smart people that just need more than C#, they should have sold it as "everything C# can do but better", which is practically true.
- pjmlp 10y agoAny good university teaches FP. That was true in Portuguese universities in the early 90's and it is still true nowadays. Back then we had introduction to Lisp, Caml Light, SML and Prolog (LP).
- smoothdeveloper 10y agoHave you learned to use it?
- maxxxxx 10y agoI have worked with for a while but it seemed very difficult to introduce it to a larger team that doesn't see the point in FP. If there was sample code that clearly showed advantages of F# while using the .Net framework things would be easier. But there is nothing available. C# is the number one language in the .NET world.
- smoothdeveloper 10y agoC# definitely will remain the number 1, and FP will remain used in a minority of places, until more people get exposed to it earlier in their cursus. The advantages are in the idioms, immutability by default, null not being legit value by default, emphasis on correctness, advanced type system etc. The issue is often that people doing C# won't gain enough FP practice to see where F# brings most advantages, try to use it as a OO language for really short time and ditch it because tooling and concepts are not the same as what they are used to. I'm confident though that adoption is rising and that few years from now most .net shops will get exposure to some amount of F# code, and that people who have been doing C# for so long will eventually pick up any functional language, which in turn will make F# really appealing to them. I'm happy C# is supporting constructs such as local functions and some basic pattern matching (although type tests are probably the worst use case of pattern matching as seen in ML languages), but I'm also concerned the language is evolving toward more and more complicated syntax and rules (see all the kinds of scoping rules for variables and switch statement) and so little things geared toward correctness (readonly locals, non nil references?). C# focuses on alleviating developer pain, but sometimes making the choice of enabling to do the wrong thing more readily.
- maxxxxx 10y agoThe only way I see FP becoming more popular would be if some popular libraries came up that were purely functional and showed the strength of that approach. I think I understand the benefits of FP but it struggle to see how it would fit into the current library ecosystem. There are not many people who have the luxury of building a codebase from scratch. Most of us need to use other libraries.