Giter Club home page Giter Club logo

csharp-workshop's Introduction

C# Workshop

NDC London 2019

Hosted by Bill Wagner

Become a better C# programmer: more Value, more Expressions, no Waiting

Over the past few releases, C# has added features that greatly improve productivity.

In this workshop, you’ll learn scenarios where these new features make you more productive, and improve the clarity of your code. You’ll get a guided tour through the async and await wilderness. You'll start with basic uses where async and await work like magic. From there, you'll learn common practices and how async tasks compose. You'll dive into enough of the implementation details to understand how to apply async practices. After working through these different practices, you'll emerge from the wilderness understanding how to write clear, correct and safe async code. From there, you'll work through everyday scenarios where modern C# frees itself from the shackles of history. You'll see new ways to work with text, new expressions for control flow, and new ways to bend the type system to your will. You’ll learn:

  • Getting started with the basics of async and await
  • Distinguish asynchronous programming and parallel programming
  • Compose asynchronous method calls throughout your code
  • Understand the pitfalls of async void
  • Designing async APIs
  • Advanced async and Task based programming
  • How string interpolation makes formatting strings much easier and clearer.
  • How to create compound assignments and comparisons using Tuples and Deconstruction
  • How to simplify iterators and async error handling using local functions
  • How to simplify error reporting using throw expressions in expression bodied members.
  • Write more performant code using value types safe pass-by-reference
  • How to use Pattern Matching to create algorithms that extend existing types

Computer Setup:

Attendees will need to bring a laptop with one of the following setups:

  • Windows: Laptop running Visual Studio 2017, or Visual Studio Code
  • Mac: Laptop running Visual Studio Code
  • Linux: Laptop running Visual Studio Code

Recommendations for Exercises

  1. We're here to learn, not to win arguments. Some exercises will spark debate. Listen and learn. what answer your group finds is much less important than why you chose that answer. A related point is that you will learn from other groups' opinions, and teach by explaining your group's opinions.
  2. Every person should be heard.
  3. Change roles often in pair programming exercises.

csharp-workshop's People

Contributors

billwagner avatar brminnick avatar dependabot[bot] avatar pascalberger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

csharp-workshop's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.