5. Essential F# (#81)
F# was out there for a while, but only with the release of Visual Studio 2010 it became an official part of Visual Studio. It brings the power of functional programming to the .NET world. It also supports OOP and imperative paradigms. The approach might be a bit different compared to what regular .NET developers were using before, but overall it provides the same flexibility as any other .NET-compatible language.
The Essential F# reference sheet provides a basic explanation of the paradigm used, as well as shows some basic usage examples for conditional statements, expressions and general program structures. It’s great to keep this refcard at hand when you are just starting with the language and need some short guidelines.
This is a sub-framework I am particularly interested in. It allows the direct separation between the UI and the code to be made – the UI is designed using XAML, a XML-based markup language and the code can be written either in C# or VB.NET. WPF introduced a lot of other new concepts as well – there are no more standard controls in their initial form – there are base controls, but those can be customized from ground zero by the developer.
This refcard is a good way to keep in mind the base concepts connected to WPF – look-less controls, data binding, XAML and of course events and commands. There are moments a developer needs a glance at some basic markup ideas or structure, and a this reference sheet comes in handy in such situations. Personally, I use it to sometimes
3. Windows PowerShell (#5)
PowerShell is an automation engine for Windows that was introduced to bring more extensibility and automation to Windows. It is built on top of .NET Framework and it allows to use .NET libraries to execute various tasks directly in Windows without the need to develop a specific application for that (although you can use it to design basic programs, even with GUI).
The refcard introduces the users to the basic PowerShell syntax, which, if you have programming experience, isn’t very hard to understand. It also covers basic operators, types and objects and shows examples of sample tasks. Something you should keep with you if you work a lot from the Windows console.
2. C# (#16)
C# is a programming language introduced by Microsoft with the first release of Visual Studio .NET. Since then, it gained momentum and evolved a lot. Today, the most recent release of C# is version 4.0 and it is used in a multitude of applications, ranging from those running on mobile devices to those that run on servers. It is also used on Linux and Mac systems, in the context of Mono.
The refcard introduces some basic language elements, like string literals, delegates, events, generics, extension methods and query expressions. If you are not familiar with these concepts, then you need to read some more detailed documentation, however it is one of those quick reference sheets I always keep besides me because I can take a glance at it and almost instantly can remind myself of the needed implementation for a specific small task (especially this applies to string literals).
1. Core .NET (#18)
.NET Framework was released in 2001 and today it’s at its 4.0 release. The API grew exponentially, and the current library subset cannot be compared to what initially was a part of it. Despite its .NET part, it is not only for web development – client applications targeting mobile devices, a multitude of computers as well as embedded devices (there is .NET Micro Framework).
.NET is a language-agnostic framework – it doesn’t matter what language you use (as long as it is CLI-compatible), therefore the basic structure and libraries are re-usable everywhere. Due to its size and number of capabilities, it is good to have a refcard like this to quickly recall some of the fundamental elements. This reference sheet covers string formatting, .NET types, threading, text encodings and compatibility aspects between framework versions. I highly recommend this refcard for those developers, who are already familiar with a .NET-compatible programming language but who want to quickly get reference information on some of the most used concepts.