February 26-28, 2020
Montreal, Canada

Zoran Horvat

Zoran Horvat

Zoran is Principal consultant at Coding Helmet Consultancy, speaker and author of 100+ articles, and independent trainer on .NET technology stack. He can often be found speaking at conferences and user groups, promoting object-oriented development style and clean coding practices and techniques that improve longevity of complex business applications.

Proposals - Montreal 2020

Functions are Stateless and Objects are Stateful: Says Who?

Statelessness of functions and statefulness of objects is an old mantra which is still robbing many programmers of an opportunity to see some higher truths. Through a series of code puzzles, you will learn that state is everywhere, and yet, useful the most when we are not aware of its presence. Strange as it may sound, we will discover stateful functions and stateless objects, and both will prove immensely useful.

Brave New Nullless World

C# 8 is bringing the long-awaited feature - nullable (and non-nullable) reference types - which we can leverage to ensure that unattended null references cannot sneak into our functions and objects. Yet, closing the door for nulls is only the first step. We will revisit often overlooked patterns, polymorphic models and optional objects. With these tools enforced by latest language features, you will never want to return to using null references.

Mixing Paradigms on Steroids

Mixing functional programming and metaprogramming into good-old object-oriented C# is not new. Still, so many programmers don't see it clearly yet. In this session, we will walk through fundamental elements of programming, from plain functions and ending in function and object composition. You will be amused to learn how modern the latest C# language has become, and how it can be applied to design rock-solid object and functional models.

Surviving C# 8 Design with No Nulls

C# 8 is with us, and it brings long awaited non-nullable reference types syntax. We are about to part ways with earlier programming habits based on unrestricted use of null references. How shall we adapt? Will it feel like standing naked in the rain? Not necessarily; there are several techniques, which we will outline in this talk, that we can apply to strengthen our object-oriented programming skills and to replace all nulls with proper objects.

Montreal 2020 sponsored by