4 ms·
It may be similar to the reason for adoption for F# -- it does objects Doesn't matter if you actually code with objects. The important point for adoption is th
by DanielBMarkham 10y ago
It may be similar to the reason for adoption for F# -- it does objects
Doesn't matter if you actually code with objects. The important point for adoption is that it does them.
So for a noob .NET programmer you say, hey, look at F#! You can code it just like C#. Kinda.
But as soon as they start coding, you tell them nope, all of these types of things are actually antipatterns.
- titanix2 10y agoI think people wanting to use C# will stick to it, not learning another language to use it the same way as the one they already know. The real value of objects in F# lies in the CLR compatibility. Access to the BCL and some existing code is a big advantage over OCaml for .neteers.
- jetti 10y agoI disagree with your premise on why F# was adopted. It isn't because it does objects but it was really the first functional language that was pushed by Microsoft and ran on the .NET platform. Had F# not run on the CLR I don't think it would have nearly as many users as it does now.
- WorldMaker 10y agoThat goes into why Microsoft (Research) chose to base F# on OCaml rather than SML (or Haskell, which Microsoft Research also has some fingers in that pie): it's not that useful targeting the CLR if you can't interact with other things running on the CLR (including the Base Class Library [BCL]). Presumably Microsoft could have have tried for something wild like trying to build a "CLR Object monad" for Haskell, but the F# team instead went with the existing, known commodity language family that already straddled that border between object systems and functional programming (OCaml).