Alex Rivera | Logout

In what areas does F# make "absolute no sense in using"?

Asked 2011-03-12T13:31:45.890
60

Don Syme in his SPLASH talk says that F# is NOT intended to be a replacement for C# even though it has the general capabilities. He goes on to say that there are areas where F# makes no sense in using, but doesn't expand on the thesis.

  1. Can somebody please tell me what areas should be avoided while using F# ?
  2. You could also mention areas where C# shine.

Related question:

In what areas might the use of F# be more appropriate than C#?

Edit
Report

2 Answers

17

Good question. I'd say that there are zero language reasons and many unfortunate skill-set, aptitude, and attitude reasons on the part of developers, managers, and customers.

answered 2011-03-12T13:36:48.353
4

Well, at the risk of stating the obvious, F# is first and foremost a functional programming language and OOP programming in F# can be a pain in the neck. So if you're working with a problem that is best expressed with OOP I imagine using C# does make more sense.

Mutually recursive types and explicit implementation of interfaces are the first examples off the top of my head of why OOP in F# can be cumbersome.

An (often cited) example of "problem that is best expressed with OOP" is creating a UI library. You have many widgets, which encapsulate their own state and you want to ask them to do a few things like "draw yourself" polymorphically (is that even a word?)

answered 2011-03-12T15:32:40.223

Your Answer