4 ms·
Why use f#? see http://fsharpforfunandprofit.com/why-use-fsharp/ http://fsharpforfunandprofit.com/why-use-fsharp/ (concise for programmers) or http://fpbridge.c
by enricosada 12y ago
Why use f#? see http://fsharpforfunandprofit.com/why-use-fsharp/ http://fsharpforfunandprofit.com/why-use-fsharp/ (concise for programmers) or http://fpbridge.co.uk/why-fsharp.html http://fpbridge.co.uk/why-fsharp.html (more high level)
more info about fsharp at http://fsharp.org/ http://fsharp.org/
my take:
#ecosystem
- vibrant and friendly community
- open source (long time ago, use pr, wrote by community)
- cross plat (linux/mac/win/ios/android)
- is .NET, same standard library as C# or VB.NET and virtual machine (CLR). Finally open source
- use nuget components written for .net
#language
- fun to use
- concise, i can easy write code without boilerplate
- easy async, parallel, gpu
- easy interop with c#, native
- fast
- multi-paradigm (functional first, but can do oop like c#)
- help write correct code (no null reference => no null reference exception, pattern matching,
- unit of measure (like 1<m/s> )
and a lot, read the links above for a better (and faster) summary
- m0skit0 12y agoI don't understand the cross-platform part, isn't F# .Net? Then how is it cross-platform? Also open source, that's nice, but what's the license? Also Microsoft is not very friendly to open source, why would I trust them to keep it this way?
- jackfoxy 12y agoMono today for Linux and Xamarin for Android, iOS, & Mac, and Core .NET http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-i... will soon be a viable choice on the other platforms, and only get better with time. There are builds of the F# language for all these platforms.
- enricosada 12y agoFSharp was one of the first open source microsoft projects year ago about license: https://github.com/Microsoft/visualfsharp/blob/master/License.txt https://github.com/Microsoft/visualfsharp/blob/master/Licens... -> http://www.apache.org/licenses/LICENSE-2.0 http://www.apache.org/licenses/LICENSE-2.0 the open source repo https://github.com/fsharp/fsharp https://github.com/fsharp/fsharp is open source AND accept pull request, the development is done on github, very friendly the .NET too is going opensource, see https://github.com/dotnet/corefx https://github.com/dotnet/corefx (.NET base class libraries) and https://github.com/dotnet/coreclr https://github.com/dotnet/coreclr (.NET virtual machine) and https://github.com/dotnet/roslyn https://github.com/dotnet/roslyn (C#/VB compiler)
- marxama 12y ago> no null reference => no null reference exception This is only true in the same sense that there are no NRE in C# as long as you don't use reference types. F# seems to be a fine language, and its non-nullable types are certainly a good thing, but you have to handle null references in F# just like in C#.
- Rickasaurus 12y agoThis is kind of misleading. F# classes/records/unions cannot be given null values by default. Null only ever rears its ugly head when you're working with C#/VB.NET/C++CLI APIs. In practice you catch these out at the boundaries and have nice clean null-free F# code.
- marxama 12y agoEvery so often, I use strings in my code. F# gives me no compile time checks against null references when I'm dealing with strings, nor any other reference type. I did mention that the constructs F# provide are not nullable, which is nice, but that doesn't mean that F# is NRE free. As I said, F# is a nice language, but the "no null reference exceptions" claim, if anything, is misleading. (I'm not very experienced with F# and would be thrilled to be shown that I'm incorrect!)