For a while I have been threatening to try a user group. Well this week I went to my first meeting.

The user group I went to is called Leeds Sharp who are celebrating their third birthday, happy birthday guys and thanks for the cake.

The talk was all about F#. I know nothing about F# other than it is in visual studio. The speaker was Phil Trelford an expert in F# and former game developer who regularly speaks at conferences. Phil is an expert programmer, one of his stories was that while he had a broken arm, he wrote a copy of Excel in F#. Even with two hands I wouldn’t know where to start on something like that.

CGHJLlbWEAAbl14There are plenty of advantages to using F# over C#, fewer lines of code was one. In Phil’s example he had some C# code which was about 30 lines but the F# was 2, part of the reason for this is F# has no {}.

I found myself thinking this must be too good to be true there must be some disadvantages to using F#?

I don’t know what they are yet, I am guessing you need to play around with the language a bit to really understand them.

One claim that was made was that F# has less bugs. I am unsure how this can be true. Code is written by humans, humans will make mistakes which ever language they choose, there will be bugs.

After the group I came away with a few things to try out. Try the F# tutorial that can be found in Visual Studio, try a Koan, this is a piece of code that contains failing tests, in the process of fixing the tests you learn the language, come back next time to Leeds Sharp and learn something else.

This post has already been read 3646 times!

Simon Foster on GithubSimon Foster on LinkedinSimon Foster on Twitter
Simon Foster
Web Developer
I have worked in SysAdmin and IT Management but now work as a Web Developer. I love everything IT related and I am trying to learn as much as I can especially about DevOps. Why not follow me on twitter?

4 thoughts on “User Groups and F#

  1. (…) which ever language they choose (…)

    But it is easier to make mistake in some languages, isn’t it? Assembler vs C. C vs C#. C# vs F#

  2. Regarding F# having less bugs, consider the conciseness that F# brings to the table, as well as it’s emphasis on immutable data types. This generally results in less code with fewer “side effects” caused by internal state of objects. Less code means less bugs.

  3. Thanks for the comments. I hadn’t really thought too much about bugs before but makes sense that a program with 1 million lines of code will have more bugs than a program with 10 lines.

  4. Nice post! I think the point Phil makes about less bugs with F# might be clearer if you compare e.g. Javascript and C# – Javascript won’t protect you from e.g. mistyping a property name and will result in a bug, whereas with C# the compiler will catch this error immediately. Similarly, in F#, the compiler and type system will prevent lots of bugs that you might get in other languages (including C#). Plus the fact that, as others have pointed it, you can express yourself more succinctly with F# which reduces lines of code which in turn reduces opportunity for bugs to creep in. So yes, there will always be bugs in applications – but some languages make it easier or harder to introduce them.

Comments are closed.