What is C#?
Why this matters: Every time you log into FNB online banking, swipe a Discovery medical card or check your Standard Bank app, there is a very good chance C# code is running behind the scenes. A huge slice of South Africa's banks, medical aids and insurers quietly run on it.
The short version
C# (pronounced "C Sharp") is a modern, object-oriented programming language. You use it to build serious software: banking systems, government platforms, web APIs, desktop tools, mobile apps and even video games. It is strict enough to keep large teams out of trouble, and modern enough to feel pleasant to write in.
A short history
C# has a genuinely interesting backstory.
In the late 1990s, Microsoft was in an ugly legal fight with Sun Microsystems about Java. Microsoft had been shipping its own version of Java, Sun objected, and the lawsuit dragged on for years. Microsoft decided it needed its own language. They hired Anders Hejlsberg, the Danish engineer who had designed Turbo Pascal in the 1980s and led the team behind Delphi, to design it.
The new language was originally codenamed "Cool" (short for "C-like Object Oriented Language"). When it shipped publicly in 2002 alongside .NET Framework 1.0, it had a new name: C#. The # is meant to look like four + signs stacked together, hinting that this was a step up from C and C++.
For its first 12 years, C# ran only on Windows. Then in 2014 Microsoft did something the company rarely did at the time: it open-sourced .NET and made it cross-platform. Today C# runs natively on Windows, Linux and macOS, the .NET runtime is on GitHub, and the language evolves in the open with input from thousands of contributors.
Why C# is everywhere today
A few honest reasons:
- It quietly became modern. Features like
async/await(2012), pattern matching (2019) and records (2020) borrowed the best ideas from Python, Scala and F# and folded them in. - It is fast. .NET 8 performance is genuinely close to C++ for many workloads, and far ahead of typical scripting languages.
- It is the language of Unity. A huge slice of the world's video games, including most mobile games you have heard of, are built on the Unity engine. Unity scripts are written in C#.
- It is the safe enterprise default. Strong typing catches whole categories of bugs before the code ever runs, which is exactly what a bank or a hospital wants.
- The tooling is excellent. Visual Studio and JetBrains Rider are widely considered the best IDEs in the industry.
What real C# code looks like
Before we set anything up, here is one line that gives you a feel for the language:
Console.WriteLine($"Welcome, {customerName}. Your balance is R{balance:F2}");
That single line:
- Calls a built-in method to print to the screen
- Uses string interpolation (
$"...") to mix text and variables - Applies a format specifier (
:F2) to show the balance with exactly two decimal places, like a real bank statement
You do not need to understand it yet. By Module 2 you will be writing this kind of code without thinking.
Where you see C# in South Africa
Banks, insurers and large retailers are the heaviest users locally. Companies like Standard Bank, Discovery, Nedbank and FNB run substantial C# development teams. Government and parastatals use it too. If you walk into a corporate dev job in Johannesburg or Cape Town, there is a real chance C# is on the stack.
Career prospects
Indicative monthly salaries for C# developers in South Africa:
- Entry-level: R25,000 to R35,000
- Mid-level: R45,000 to R65,000
- Senior: R70,000 to R120,000+
- Architect: R100,000 to R150,000+
The .NET ecosystem in one breath
You will often see C# spoken about together with .NET, the platform it runs on. The pieces you will meet in this course or shortly after:
- .NET 8+: the modern, cross-platform runtime
- ASP.NET Core: web applications and APIs
- Entity Framework Core: talk to databases without writing SQL by hand
- Blazor: build web UIs in C# instead of JavaScript
- .NET MAUI: build mobile apps from one codebase
What you'll build in this course
By the end of C# Fundamentals you will be able to build:
- Console applications
- Desktop applications
- REST APIs
- Database-driven applications
- Realistic SA scenarios like a small banking system and a student management tool
A note on style
Throughout this course we use South African examples: Rand amounts, local company names and scenarios you will actually recognise. The code from this course should feel like the code you would write on your first day at a real SA tech job.