F#
-
JimmyRopes wrote:
Once you loose your pride, the rest is easy
Is that marriage advice? :laugh:
Jack of all trades ~ Master of none.
JOAT-MON wrote:
JimmyRopes wrote:
Once you loose your pride, the rest is easy
Is that marriage advice?
Some of the best marriage advice you can get. :-D
Simply Elegant Designs JimmyRopes Designs
Think inside the box! ProActive Secure Systems
I'm on-line therefore I am. JimmyRopes -
I got my copy of MSDN magazine today. There's an article about F#, and that got me thinking - does anyone here actually use it? I'd be interested in hearing your comments.
Everything makes sense in someone's mind
ok, i'm a long time reader of cp but a first time poster. this is a post i feel strongly enough about to 'come out of the shadows' so to speak. i started using f# a long time ago, and did a tonne of development with it in the beginning. i think the major benefit of learning fsharp, and particularly the functional programming style (the value of immutability, etc) was that i began to think the same way in c#. it gave me a much better appreciation of performant code, and particularly functional linq. a few things i liked: the functional programming style, while still being able to code imperatively if you wish. the full access to the .net framework, with interoperability from c# the pipe |> forward operator the fsharp interactive (fsi.exe). for me, this has been largely surpassed by code snippets in linqpad (but i yearn for a csi.exe) including it's integration with visual studio generics (wait, they're c# you say? ...c# generics wouldn't have been the same without don syme and his team) decent support for mono. i got a lot of the great functions of f# 'out of the box' at a time when mono's framework was a generation behind .net 3.5. incidentally, if you need to target .net 2.0 for any reason, you'll get a lot of the linq-like goodness you're missing out on via f# and much, much more... if you haven't tried f#, go and get it now, try out a few of the code samples. if you have time, read robert pickering's beginning f# and don syme's expert f#. your c# will thank you for it. solutionevangelist ps: incidentally i was once in a chat with phil haack, etc, and asked the group how many people used f#. phil's estimate was zero. one person had a member at their company who'd used it for a production project. i'm somewhat disappointed at the lack of interest in f# by c#/vb.net developers when they *should* be interested. it adds a very valuable facet to the .net framework which is far more important than the likes of ironpython, etc. i am very encouraged by microsoft making it a first-class .net language with full support in their ide's, etc. i think it has a great future outside being a 'research' language (i know of a lot of financial traders doing amazing things with it in production). .net may also get the benefit of a lot of sharp people who've expressed important things (algorithms) in OCaml and we don't need to wait around for the same thing to be done in C#.
-
I got my copy of MSDN magazine today. There's an article about F#, and that got me thinking - does anyone here actually use it? I'd be interested in hearing your comments.
Everything makes sense in someone's mind
It's far from perfect, but I like it, and I use it for my own personal use. I don't have many opportunities to use it at work. Several reasons I often prefer it over C#: -The REPL loop makes development a lot faster. -Learning it will improve your awareness of composability, immutability, monads, functional purity and other concepts -- and this is easily applied in problem solving and design in C#. -Some of the syntactic sugar like pipes is quite convenient. -Type inference is also convenient, though C# IntelliSense makes this somewhat moot. -Pattern matching and discriminated unions makes certain tasks, like writing parsers, much easier than in C#. -Tail recursion is properly optimized on both x86 and x64, unlike the rest of .NET. -The compiler is slightly more strict than C# in many ways, e.g. unmatched patterns (switch cases) will throw compile-time errors. Even if you don't like F#, if you find yourself asking the question "what's so different about it from C#?", then you should at least look at another functional language like Haskell or ML.
-
I got my copy of MSDN magazine today. There's an article about F#, and that got me thinking - does anyone here actually use it? I'd be interested in hearing your comments.
Everything makes sense in someone's mind
Nope. Studied a tutorial once. Then went back a few weeks ago to the F# forum and asked myself what I could use F# for, that C# and C++ can't solve. Found no answer....
-
I got my copy of MSDN magazine today. There's an article about F#, and that got me thinking - does anyone here actually use it? I'd be interested in hearing your comments.
Everything makes sense in someone's mind
I like it, but have no time to use.
-
It's far from perfect, but I like it, and I use it for my own personal use. I don't have many opportunities to use it at work. Several reasons I often prefer it over C#: -The REPL loop makes development a lot faster. -Learning it will improve your awareness of composability, immutability, monads, functional purity and other concepts -- and this is easily applied in problem solving and design in C#. -Some of the syntactic sugar like pipes is quite convenient. -Type inference is also convenient, though C# IntelliSense makes this somewhat moot. -Pattern matching and discriminated unions makes certain tasks, like writing parsers, much easier than in C#. -Tail recursion is properly optimized on both x86 and x64, unlike the rest of .NET. -The compiler is slightly more strict than C# in many ways, e.g. unmatched patterns (switch cases) will throw compile-time errors. Even if you don't like F#, if you find yourself asking the question "what's so different about it from C#?", then you should at least look at another functional language like Haskell or ML.
F# is a clone of OCaml, integrated into .NET, if you didn't figure that out. OCaml is very popular for introductory courses at top universities. Maybe Microsoft is partly trying to get back into academia. They have really lost a lot of ground in the ivory tower. Only a small percentage of CS students are running Microsoft Windows these days. Not a good sign for Microsoft.
-
I got my copy of MSDN magazine today. There's an article about F#, and that got me thinking - does anyone here actually use it? I'd be interested in hearing your comments.
Everything makes sense in someone's mind
I've recently started teaching myself F# as hobby. Functional programming languages are powerful, elegant and--above all--concise, when applied to the right problems. As a full time .NET developer, I've been curious about the .NET answer to functional programming for a while, and now that it's fully supported for production in VS2010, it seems like a reasonable time to look into it. I'm pleased with what I've seen so far. Sooner or later, when I've developed a firmer handle on the language, I might campaign within my company to have a very limited portion of our less stable code shifted to F# and to start writing certain pieces of new functionality in F# instead, though I anticipate a lot of perfectly justified resistance to the idea. F# comes with a steeper initial learning curve (unless you're already familiar with the functional paradigm, which most developers I've met aren't), and it either places greater restrictions on who we can hire in the future or it builds a silo around the F# code. Or both. That being said, once you get past the learning curve, functional languages in general provide a big boost to productivity and a substantial reduction in lines of code, for those coding problems to which they are suited, and as far as I can tell, F# meets the necessary criteria for these benefits to hold. F# is worth looking into if you're trying to parallelize complex code, improve UI responsiveness when users trigger expensive operations that can run in the background, or decompose and/or apply transforms to large, complex chunks of data. Otherwise, unless you have an academic interest, you can probably find a better use for your time.
-
I've never used it... there's always a latest and greatest, its a headache to try and keep up with every single language... :wtf:
I don't think F# is meant as a replacement to C#, just as a screwdriver is not a replacement for a hammer. Proper tool for the proper job and all.
-
I don't think F# is meant as a replacement to C#, just as a screwdriver is not a replacement for a hammer. Proper tool for the proper job and all.
don't think anyone said it was a replacement, we were just joking about new languages coming around all the time
-
JOAT-MON wrote:
JimmyRopes wrote:
Once you loose your pride, the rest is easy
Is that marriage advice?
Some of the best marriage advice you can get. :-D
Simply Elegant Designs JimmyRopes Designs
Think inside the box! ProActive Secure Systems
I'm on-line therefore I am. JimmyRopesJimmyRopes wrote:
JOAT-MON wrote:
JimmyRopes wrote:
Once you loose your pride, the rest is easy
Is that marriage advice?
Some other great marriage advice I once heard. "You have two choices in a marriage, be right or be happy."
-
I haven't used it yet although I've looked into it a bit. I think the point of F# is to appeal to particular programming problems that lend themselves to functional coding instead of typical procedural algorithms. So far the resources I've checked out regarding F# never address the language solely by itself, but attempt to line it up as a tool to use at the right times in order to supplement and ultimately coincide with other languages, such as C#. Haven't yet seen any major reason to spend a weekend learning it, however. It does indeed compile down to the same MSIL.
Yeah, I'd echo that - the first answer I've read that, well, sort of answers the OP's question - or tries to. Yes, from what I've read about it, it seems useful for certain problems where, from many inputs an answer is needed or can be represented easily in code - hence organizing it as a function. (If sensor A is between 0.25 and 0.89 and sensor B is > 8.2 and switch C is on and the power supply is between 11.5 and 12.5 volts and ....etc etc) Or (if. . (... and ... ).. .etc etc.)
-
JimmyRopes wrote:
JOAT-MON wrote:
JimmyRopes wrote:
Once you loose your pride, the rest is easy
Is that marriage advice?
Some other great marriage advice I once heard. "You have two choices in a marriage, be right or be happy."
-
I got my copy of MSDN magazine today. There's an article about F#, and that got me thinking - does anyone here actually use it? I'd be interested in hearing your comments.
Everything makes sense in someone's mind
I learned to reject it a long time ago when someone on a usenet kept tryin to push F# on everyone but bringing it up at every excuse. Someone shows someone else how to do something in C/C++/C# and this jackass would come up with, "In F# you'd simply have to...." I've always felt that if that was the kind of person who was a propoent of F# then I didn't want to have anything to do with it. Of course I thought rather the same thoughts about C# and .NET up until a couple of years ago.
I'm not a programmer but I play one at the office
-
I got my copy of MSDN magazine today. There's an article about F#, and that got me thinking - does anyone here actually use it? I'd be interested in hearing your comments.
Everything makes sense in someone's mind
-
I got my copy of MSDN magazine today. There's an article about F#, and that got me thinking - does anyone here actually use it? I'd be interested in hearing your comments.
Everything makes sense in someone's mind
F# has a completely different goal than the C# based languages. There are a few articles about it on CP as you may already know so I gues there are individuals using it. It is a diferent animal and just looking at a few code samples I had a few instant headaches. There was a time when it would have been fun to delve into it like I did 10-15 years ago with Lisp and Prolog but hell time is not enough these days. You probably already found this: http://tomasp.net/blog/fsharp-iv-lang.aspx[^] but for the lazy ones I am posting it again. It is interesting ... what can I say, but it is not going to put bread on my table any time soon. Cheers.
giuchici
-
F# is a clone of OCaml, integrated into .NET, if you didn't figure that out. OCaml is very popular for introductory courses at top universities. Maybe Microsoft is partly trying to get back into academia. They have really lost a lot of ground in the ivory tower. Only a small percentage of CS students are running Microsoft Windows these days. Not a good sign for Microsoft.
Wtf?? Obviously I know F# is a "clone" of OCaml. In fact OCaml code will compile in F#. And no, F# has been around for almost as long as C# in fact. F# was the testbed for the new features in C# 2 and C# 3 (generics and Linq). Lastly, Microsoft has always been involved in language academia. Much of the work on Haskell comes from people at MS Research. A good majority of the people working at MSR have always been using other OSes too. Man, the crazy things people say.
-
Albert Holguin wrote:
that's what you say now, but have you heard about F#!?!?!
No, but I've heard the
String
class inG#
is eye-popping! :)Best wishes, Hans
-
I got a book on haskell a while back. I've started reading the intro a couple of times but it talks about a whole programming mindset change to move to functional programming, so is F# something you ca pick up over a few days?
Pete
-
F# is a clone of OCaml, integrated into .NET, if you didn't figure that out. OCaml is very popular for introductory courses at top universities. Maybe Microsoft is partly trying to get back into academia. They have really lost a lot of ground in the ivory tower. Only a small percentage of CS students are running Microsoft Windows these days. Not a good sign for Microsoft.
-
I learned to reject it a long time ago when someone on a usenet kept tryin to push F# on everyone but bringing it up at every excuse. Someone shows someone else how to do something in C/C++/C# and this jackass would come up with, "In F# you'd simply have to...." I've always felt that if that was the kind of person who was a propoent of F# then I didn't want to have anything to do with it. Of course I thought rather the same thoughts about C# and .NET up until a couple of years ago.
I'm not a programmer but I play one at the office
Way to think for yourself.