What is F#? See: http://en.wikipedia.org/wi
It's like OCaml, or its distant relative ML. Remember computer science classes proving programs correct
or theorem proving in general? One uses that kind of thinking, but it's much more fun because the
results are small programs that can do much more than corresponding code in Java or C#,
which is.
It has a steep learning curve due to syntax (familiar things look unfamiliar). It has
powerful and expressive semantics.
* It's good for OOP (not smalltalk-style, but Java-style),
* interfaces well with .Net35 and .Net4,
* Functional Programming (ML, Church Calculus, McCarthy's Lisp 1958)
* Symbolic Manipulation (writing compilers, writing interpreters, pattern matching, symbolic math, a la grammars, Prolog, and Scheme)
* Parallel Execution
It takes about 160 hours for a reasonably intelligent person with experience in any of the above languages to learn to write typical programs.
Multiply by 4 if one's only experience is Java and C++.
It's strongly typed for speed but it infers the typing from the context so software isn't littered with millions of type definitions.
The typing is semantically centered rather than disciplinary (e.g. not like Java, C#, or Pascal),
but mastering it is probably the the greatest challenge to mastering the language. About half the architecture of a program
goes into representation, and about half into declarative coding.
Best Non-Microsft Forum for F#: http://cs.hubfs.net/
Also a good Forum for F# http://stackoverflow.com/q
Going back to C# code feels like dropping a level closer to assembly language, forcing
one to pay hedance to dozens of spuriously permuted boundary conditions (e.g. one can write
extensions to classes, but not with generics, and not with operators; and generics can be used
with collections but not in many other instances; one can use the "var" keyword but one can't
return it's value from a function).
Main Topics
Browse All Topics





by: Ryan94114Posted on 2009-08-14 at 23:30:36ID: 25104375
Microsoft F# Page<font id="linkPlaceHolder"></fon t>
Main F# Forum