Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. F#

F#

Scheduled Pinned Locked Moved The Lounge
question
63 Posts 33 Posters 2 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Rei Miyasaka

    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.

    M Offline
    M Offline
    mjohns07
    wrote on last edited by
    #34

    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.

    R G 2 Replies Last reply
    0
    • K Kevin Marois

      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

      D Offline
      D Offline
      Daniel Sheiner
      wrote on last edited by
      #35

      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.

      1 Reply Last reply
      0
      • A Albert Holguin

        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:

        B Offline
        B Offline
        brother_malthius
        wrote on last edited by
        #36

        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.

        A 1 Reply Last reply
        0
        • B brother_malthius

          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.

          A Offline
          A Offline
          Albert Holguin
          wrote on last edited by
          #37

          don't think anyone said it was a replacement, we were just joking about new languages coming around all the time

          1 Reply Last reply
          0
          • J JimmyRopes

            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

            H Offline
            H Offline
            hedgefundit
            wrote on last edited by
            #38

            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."

            T J 2 Replies Last reply
            0
            • J Jason Hooper

              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.

              Jason

              K Offline
              K Offline
              Kent K
              wrote on last edited by
              #39

              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.)

              1 Reply Last reply
              0
              • H hedgefundit

                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."

                T Offline
                T Offline
                tchris
                wrote on last edited by
                #40

                Been married to the same woman for 27 years. Those two lines are great advice! :-D

                1 Reply Last reply
                0
                • K Kevin Marois

                  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

                  L Offline
                  L Offline
                  Lilith C
                  wrote on last edited by
                  #41

                  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

                  R 1 Reply Last reply
                  0
                  • K Kevin Marois

                    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

                    B Offline
                    B Offline
                    bwallan
                    wrote on last edited by
                    #42

                    Already too many wannabe programming languages available. We don't need another one!

                    1 Reply Last reply
                    0
                    • K Kevin Marois

                      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

                      G Offline
                      G Offline
                      giuchici
                      wrote on last edited by
                      #43

                      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

                      1 Reply Last reply
                      0
                      • M mjohns07

                        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.

                        R Offline
                        R Offline
                        Rei Miyasaka
                        wrote on last edited by
                        #44

                        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.

                        1 Reply Last reply
                        0
                        • H Hans Dietrich

                          Albert Holguin wrote:

                          that's what you say now, but have you heard about F#!?!?!

                          No, but I've heard the String class in G# is eye-popping! :)

                          Best wishes, Hans


                          [Hans Dietrich Software]

                          G Offline
                          G Offline
                          giuchici
                          wrote on last edited by
                          #45

                          and the char is jaw dropping

                          giuchici

                          1 Reply Last reply
                          0
                          • P Peter Mulholland

                            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

                            G Offline
                            G Offline
                            giuchici
                            wrote on last edited by
                            #46

                            Doubtful. You need a different mindset.

                            giuchici

                            1 Reply Last reply
                            0
                            • M mjohns07

                              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.

                              G Offline
                              G Offline
                              giuchici
                              wrote on last edited by
                              #47

                              You're right in a way but it was always the same. The universities always encouraged unix based OSes. That did not stop Microsoft of seeing about their business with the good and the bad.

                              giuchici

                              1 Reply Last reply
                              0
                              • L Lilith C

                                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

                                R Offline
                                R Offline
                                Rei Miyasaka
                                wrote on last edited by
                                #48

                                Way to think for yourself.

                                1 Reply Last reply
                                0
                                • H hedgefundit

                                  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."

                                  J Offline
                                  J Offline
                                  JimmyRopes
                                  wrote on last edited by
                                  #49

                                  hedgefundit wrote:

                                  "You have two choices in a marriage, be right or be happy."

                                  Some really good advice.

                                  Simply Elegant Designs JimmyRopes Designs
                                  Think inside the box! ProActive Secure Systems
                                  I'm on-line therefore I am. JimmyRopes

                                  1 Reply Last reply
                                  0
                                  • K Kevin Marois

                                    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

                                    H Offline
                                    H Offline
                                    halciber
                                    wrote on last edited by
                                    #50

                                    I haven't used it; but a friend of mine does and likes it a lot...Although I'm not sure what he does with it.

                                    Mike Goldweber

                                    1 Reply Last reply
                                    0
                                    • K Kevin Marois

                                      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

                                      K Offline
                                      K Offline
                                      KP Lee
                                      wrote on last edited by
                                      #51

                                      When I was going through retraining, I looked at the automatically generated F# code when I was working with ASP.NET. Couldn't see the slightest difference from JavaScript. Since I didn't have a book on it, no training oriented with it, and with the complete copy of JS on what I looked at, I lost all interest in it. I've NEVER seen a job posting for a F# developer.

                                      1 Reply Last reply
                                      0
                                      • K Kevin Marois

                                        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

                                        O Offline
                                        O Offline
                                        Oshtri Deka
                                        wrote on last edited by
                                        #52

                                        So far I am successful in avoiding it in wide circle. Perhaps I'm just lazy.

                                        1 Reply Last reply
                                        0
                                        • R realJSOP

                                          What does F# give you that either C# or VB.Net doesn't already give you? Since they're all .Net languages, and they all compile to the same level, there are no optimizations that could possibly make learning F# a "good idea". I know there are some Pascal.Net implementations, as well as Cobol, but other than allowing the programmer to use old code with minor changes, there's no reason to use those languages on new projects. Unless F# closely resembles the language used in critical LOB apps, it's merely a curiosity. EDIT ========= Voting this post a 1 isn't going to change my views.

                                          ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                                          -----
                                          You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                                          -----
                                          "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997

                                          modified on Friday, April 8, 2011 4:34 PM

                                          R Offline
                                          R Offline
                                          RichardM1
                                          wrote on last edited by
                                          #53

                                          So you program in IML? after all, C# and VB.NET give you nothing you can't get in IML, right? It is all in how you are able to represent the problem and the solution, it is a different type of abstraction than you get with procedural/OO/declarative languages.

                                          Opacity, the new Transparency.

                                          R 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups