In the past few years, thanks to Unity Engine and the popularity of indie-friendly platforms like Steam, C# has become one of the most used programming languages for game applications. Although C# is a language that is almost always used together with the Microsoft .NET Framework for Windows, it’s still possible to use C# to make applications that can be used in other Operating Systems too, for example, many of the games made in Unity Engine are Android apps.
There are many Integrated Development Environments (IDE) that can be used to get started with C# programming, but the most popular IDE is Visual Studio Community which is free to download and available for both Windows and macOS.
Visual Studio can be downloaded from Microsoft’s website. VS is an IDE that supports many different programming languages, there are many options to choose from during the program’s installation, but for programming with the C# language, installing the .NET desktop development kit is enough.
When starting a new project it is possible to choose from various pre-made examples, but since those projects contain many advanced elements, it would be best to ignore all options and manually create a new empty project from the “File > New > Project” option.
The interface of Visual Studio can be slightly different from version to version. The version I’m using is not the most recent one, but essentially what we need is to create an empty Console App to practice with. There should be a Console App option in the list of options available from the New Project window.
Before confirming the new project, it’s important to notice that there is also an option to choose a .NET Framework version. If a program is made using the most recent framework version, it probably won’t work well on older versions of the Windows operating system, the developer should always keep that in mind.
To make a program that can run on older Windows versions, it's necessary to choose an older .NET Framework version during the creation of a new project. This way, any users of newer Windows versions can still use the program after installing a small re-distributable .NET Framework package of the respective version.
If the version we need to use is not installed, the list of all available .NET Framework Developer Package downloads can be found on Microsoft's website:
The disadvantage of using older .NET Framework versions is that newer features will be missing, and if the version of the framework is too old, the program probably won’t work well on the latest Windows versions.
Because I’ve been using Windows 7 for many years, I always choose latest version that supports at least Windows 7 SP1, but since we’ll be making only a test Console App, it’s safe to choose the most recent framework version installed on our system.
The history of all .NET Framework versions can be found here: