Loading user information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading user information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

TWC9: C9 goes global, Fast App Switching, Geo AR Toolkit, MEF 2.0

19 minutes, 30 seconds


Right click “Save as…”

This week on Channel 9, Dan and Clint discuss the week's top developer news, including:

Picks of the Week!

Follow the discussion

  • Oops, something didn't work.

    Getting subscription
    Subscribe to this conversation
  • The C# code uses readonly to produce the immutability provided by F# by default. This is why they use full properties. However one can argue that C# does not depend on immutability as much as F# does so you won't write it like this anyway.

  • felix9felix9 the cat that walked by itself

    Silverlight Toolkit for Silverlight 5 is really cool, it has the same content pipeline support as XNA, with VS support, so SLXNA is a full 3D solution now, merging completed.

  • That Geo AR Toolkit looks really useful.

  • What's that car project mentioned a few times on the show?  Is that in another blog post or video online somewhere? 

  • Greg Duncangduncan411 It's amazing what a professional photographer can do...

    @cwilliams: I believe it's the West Coast Custom project that was announced at the BUILD Day 2 Keynote... http://channel9.msdn.com/Events/BUILD/BUILD2011/KEY-0002?format=smooth#time=1h21m

  • Definitely a unicorn. Trust me, I am an expert.

  • Christian Liensbergerlittleguru <3 Seattle

    Great show guys! Looking forward to the car!

  • re: F# eye for the C# guy slide deck

    The slides were presented at DDD Belfast early in October. The inspiration for the title came from a talk by Leon Bambrick. The slide that got the focus in the Channel 9 video above was titled Light Syntax and was part of the Demos section, added as a reference for attendees.

    The demo was primarily intended to help C# developers understand how F# maps to C#.

    That said the comparison of number of lines of code is interesting. As discussed in the Channel 9 video above if we don't need the class to be immutable then C# Auto-Implemented Properties could be employed, however you'd still probably want a constructor and comments in your C# code, i.e.:

    public class Person
        public Person(string name, int age)
            Name = name;
            Age = age;
        /// <summary>
        /// Full name
        /// </summary>
        public string Name { get; private set; }
        /// <summary>
        /// Age in years
        /// </summary>
        public int Age { get; private set; }

    F# class types let you define a primary constructor in the parameter list that follows the type name, and by default F# triple-slash comments define summary blocks without the need for XML tags

    type Person (name:string, age:int) =
        /// Full name
        member person.Name = name
        /// Age in years
        member person.Age = age

    If we forgo the comments, this can be brought down to 1 line with an F# record:

    type Person = { Name:string; Age:int }

    The F# record above will automatically generate a constructor and properties for use from other .Net languages including C#; it is also immutable.

    Further reading:

    A look at F# from C#'s corner: http://www.servicestack.net/mythz_blog/?p=765

    From C# to F#: a developer's perspective: http://www.developerfusion.com/article/122233/from-f-to-c-a-developers-perspective/

    C# Light Syntax: http://trelford.com/blog/post/LighterCSharp.aspx

    More discussion on Reddit: http://www.reddit.com/r/programming/comments/l294s/f_for_c_developers/

  • luisluis

    What model laptop are they using?

Remove this comment

Remove this thread


Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.