Wondering about F#
-
Those F# evangelists are sure very vocal! I keep hearing about it... Mmm... I tried it a while ago and I was not really convinced (except for the async "let!" but we have it in C# now!! ^^) So I wonder, is anyone using F# here? How does it complement you .NET project? (or do you do pure F#?! ;P) edit a pattern (from my googling) is emerging! no one write user control in F#! but F# seems very good at manipulating data! and writing DSL
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
-
Those F# evangelists are sure very vocal! I keep hearing about it... Mmm... I tried it a while ago and I was not really convinced (except for the async "let!" but we have it in C# now!! ^^) So I wonder, is anyone using F# here? How does it complement you .NET project? (or do you do pure F#?! ;P) edit a pattern (from my googling) is emerging! no one write user control in F#! but F# seems very good at manipulating data! and writing DSL
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
I tried it a little bit . F# is Functional Programming Language. Its really powerful tool. It makes you see some things in a different way not the "normal"(iterative) one. You can accomplish some things will a lot less coding than the Iterative Programming Languages. I think that the best programs maybe the ones where you have the two types of programming (the iterative and functional). Some things are really easier in the second kind of langs. Some people think that its even fun.
-
I tried it a little bit . F# is Functional Programming Language. Its really powerful tool. It makes you see some things in a different way not the "normal"(iterative) one. You can accomplish some things will a lot less coding than the Iterative Programming Languages. I think that the best programs maybe the ones where you have the two types of programming (the iterative and functional). Some things are really easier in the second kind of langs. Some people think that its even fun.
Mm...; I might give it a go until I feel comfortable with it! :p
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
-
Mm...; I might give it a go until I feel comfortable with it! :p
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
-
Those F# evangelists are sure very vocal! I keep hearing about it... Mmm... I tried it a while ago and I was not really convinced (except for the async "let!" but we have it in C# now!! ^^) So I wonder, is anyone using F# here? How does it complement you .NET project? (or do you do pure F#?! ;P) edit a pattern (from my googling) is emerging! no one write user control in F#! but F# seems very good at manipulating data! and writing DSL
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
When I hear F# all that comes to mind is this: Tim Minchin - F#[^] Cheers! :laugh:
"I had the right to remain silent, but I didn't have the ability!"
Ron White, Comedian
-
:laugh: Once I feel comfortable with it, I'll use it.. discriminately! ;)
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
-
When I hear F# all that comes to mind is this: Tim Minchin - F#[^] Cheers! :laugh:
"I had the right to remain silent, but I didn't have the ability!"
Ron White, Comedian
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
-
Those F# evangelists are sure very vocal! I keep hearing about it... Mmm... I tried it a while ago and I was not really convinced (except for the async "let!" but we have it in C# now!! ^^) So I wonder, is anyone using F# here? How does it complement you .NET project? (or do you do pure F#?! ;P) edit a pattern (from my googling) is emerging! no one write user control in F#! but F# seems very good at manipulating data! and writing DSL
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
Now if only some regular CP author had written articles on it. Perhaps that person might be known as Marc.
I was brought up to respect my elders. I don't respect many people nowadays.
CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier -
Those F# evangelists are sure very vocal! I keep hearing about it... Mmm... I tried it a while ago and I was not really convinced (except for the async "let!" but we have it in C# now!! ^^) So I wonder, is anyone using F# here? How does it complement you .NET project? (or do you do pure F#?! ;P) edit a pattern (from my googling) is emerging! no one write user control in F#! but F# seems very good at manipulating data! and writing DSL
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
-
Mm...; I might give it a go until I feel comfortable with it! :p
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
:) One of the positive things about my learning in the uni was learning the concept of Functional Programing. I can freely say it was really helpful when i needed to work with F# . The language can be fun if you know the basic differences and programing practices in iterative and functional programming. For example you can make almost anything with the functions filter and map to a list, seq and etc.You just need to know how to combine their power :)
-
Now if only some regular CP author had written articles on it. Perhaps that person might be known as Marc.
I was brought up to respect my elders. I don't respect many people nowadays.
CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easierExcellent, I'll have a look, thanks! :)
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
-
I have used it as parts of projects that were mostly in C#, to do things that would be annoyingly verbose in C# (stuff with trees mostly).
I have this feeling: data data data!...
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
-
Those F# evangelists are sure very vocal! I keep hearing about it... Mmm... I tried it a while ago and I was not really convinced (except for the async "let!" but we have it in C# now!! ^^) So I wonder, is anyone using F# here? How does it complement you .NET project? (or do you do pure F#?! ;P) edit a pattern (from my googling) is emerging! no one write user control in F#! but F# seems very good at manipulating data! and writing DSL
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
Have you tried TryFSharp[^]? They have a learning section (needs Silverlight) which takes you through most of the features of F# and a few example domain uses. I think it'd help if you're acquainted with functional programming but it's not necessary.
"It was when I found out I could make mistakes that I knew I was on to something." -Ornette Coleman "Philosophy is a study that lets us be unhappy more intelligently." -Anon.
-
Have you tried TryFSharp[^]? They have a learning section (needs Silverlight) which takes you through most of the features of F# and a few example domain uses. I think it'd help if you're acquainted with functional programming but it's not necessary.
"It was when I found out I could make mistakes that I knew I was on to something." -Ornette Coleman "Philosophy is a study that lets us be unhappy more intelligently." -Anon.
Thanks, I discovered the link (it's in the MSDN documentation! :)) I was planing to try it on this weekend / tonight!! ^^
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
-
Now if only some regular CP author had written articles on it. Perhaps that person might be known as Marc.
I was brought up to respect my elders. I don't respect many people nowadays.
CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easierI was about to post that, then read your post :thumbsup: And actually I should be giving that thumbsup to Marc :laugh:
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
} -
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
-
Those F# evangelists are sure very vocal! I keep hearing about it... Mmm... I tried it a while ago and I was not really convinced (except for the async "let!" but we have it in C# now!! ^^) So I wonder, is anyone using F# here? How does it complement you .NET project? (or do you do pure F#?! ;P) edit a pattern (from my googling) is emerging! no one write user control in F#! but F# seems very good at manipulating data! and writing DSL
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
F# is an amazing language. It's "impure" in that it is neither Smalltalk ("pure OO") nor Haskell ("pure Functional") but its creators have struck an excellent balance between these two paradigms using OCaml as a basis -- but not the specification -- for the language. There are features in F# that OCaml developers wish they had! When you finally wrap your head around pattern matching, active patterns, quotations and computation expressions, you will not be able to look at mere mortal languages like C# and VB.NET with the same enthusiasm. The F# compiler is one of the smartest in existence and its type inference, tail-call optimization and code generation capabilities are second to none on any platform. F# and Scala are doing the same thing on their respective platforms -- bringing the worlds of OO and functional programming into practical symbiosis. F# kicks Scala's butt really only because the CLR kicks the JVM's butt in two specific areas: The ability to support tail-call optimization (which is critical to making functional programming's reliance on recursion efficient) and the fact the CLR did not have to resort to "type erasure" to support generics ... so, you don't lose any reflective capability over types at all with its seemingly loosey-goosey type syntax. For myself I use F# for nearly all business logic and in the MVVM paradigm for the VM part, almost exclusively. Manipulating collections is a delight in F# and VM is about binding data and actions to the UI. This is a non-visual exercise and F# really makes it nice. Using it for GUI programming is an exercise in self abuse because the tooling support just isn't there, but that's OK, what it does do is so outrageously cool and useful in real programming that it doesn't need to do everything. F# justifies the CLR's support for multiple languages in ways C#, VB.NET and other semantically similar languages cannot.
-
Those F# evangelists are sure very vocal! I keep hearing about it... Mmm... I tried it a while ago and I was not really convinced (except for the async "let!" but we have it in C# now!! ^^) So I wonder, is anyone using F# here? How does it complement you .NET project? (or do you do pure F#?! ;P) edit a pattern (from my googling) is emerging! no one write user control in F#! but F# seems very good at manipulating data! and writing DSL
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
-
F# is an amazing language. It's "impure" in that it is neither Smalltalk ("pure OO") nor Haskell ("pure Functional") but its creators have struck an excellent balance between these two paradigms using OCaml as a basis -- but not the specification -- for the language. There are features in F# that OCaml developers wish they had! When you finally wrap your head around pattern matching, active patterns, quotations and computation expressions, you will not be able to look at mere mortal languages like C# and VB.NET with the same enthusiasm. The F# compiler is one of the smartest in existence and its type inference, tail-call optimization and code generation capabilities are second to none on any platform. F# and Scala are doing the same thing on their respective platforms -- bringing the worlds of OO and functional programming into practical symbiosis. F# kicks Scala's butt really only because the CLR kicks the JVM's butt in two specific areas: The ability to support tail-call optimization (which is critical to making functional programming's reliance on recursion efficient) and the fact the CLR did not have to resort to "type erasure" to support generics ... so, you don't lose any reflective capability over types at all with its seemingly loosey-goosey type syntax. For myself I use F# for nearly all business logic and in the MVVM paradigm for the VM part, almost exclusively. Manipulating collections is a delight in F# and VM is about binding data and actions to the UI. This is a non-visual exercise and F# really makes it nice. Using it for GUI programming is an exercise in self abuse because the tooling support just isn't there, but that's OK, what it does do is so outrageously cool and useful in real programming that it doesn't need to do everything. F# justifies the CLR's support for multiple languages in ways C#, VB.NET and other semantically similar languages cannot.
you kind of confirm (very nicely) my growing (yet uninformed) bias, that F# is good at manipulating data... Will start to look at it this weekend! ^^
My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!
-
F# is an amazing language. It's "impure" in that it is neither Smalltalk ("pure OO") nor Haskell ("pure Functional") but its creators have struck an excellent balance between these two paradigms using OCaml as a basis -- but not the specification -- for the language. There are features in F# that OCaml developers wish they had! When you finally wrap your head around pattern matching, active patterns, quotations and computation expressions, you will not be able to look at mere mortal languages like C# and VB.NET with the same enthusiasm. The F# compiler is one of the smartest in existence and its type inference, tail-call optimization and code generation capabilities are second to none on any platform. F# and Scala are doing the same thing on their respective platforms -- bringing the worlds of OO and functional programming into practical symbiosis. F# kicks Scala's butt really only because the CLR kicks the JVM's butt in two specific areas: The ability to support tail-call optimization (which is critical to making functional programming's reliance on recursion efficient) and the fact the CLR did not have to resort to "type erasure" to support generics ... so, you don't lose any reflective capability over types at all with its seemingly loosey-goosey type syntax. For myself I use F# for nearly all business logic and in the MVVM paradigm for the VM part, almost exclusively. Manipulating collections is a delight in F# and VM is about binding data and actions to the UI. This is a non-visual exercise and F# really makes it nice. Using it for GUI programming is an exercise in self abuse because the tooling support just isn't there, but that's OK, what it does do is so outrageously cool and useful in real programming that it doesn't need to do everything. F# justifies the CLR's support for multiple languages in ways C#, VB.NET and other semantically similar languages cannot.
Gave this a 5--great answer, Bob. I like how you fit F# into your process. I've tried and liked F#, but working more with the JVM and very rarely with .NET, I do more Scala. (.NET folks are welcome to send flowers of sympathy.) Scala is a lot nicer to work with than Java. I wanted to note there's a way to "simulate" tail recursion in Scala using "@tailrec" but simulation's not exactly the same thing; @tailrec is a bit of compile-time smoke and mirrors. At least it means you can write tail recursive code without worrying about blowing your call stack, and the performance "isn't that bad" on things I've written that rely on tail recursion. I think F# long-term will be more successful because Microsoft is interested in people using it. Oracle doesn't really encourage you to give Scala a try, and most of the writing on Scala is so academic in nature it really takes endurance to wade through it all to the point of doing something practical with it.