# Welcome!

This tutorial is a gentle introduction to the C# programming language.&#x20;

You'll learn the basics of C# and programming by following along with the tutorial.

## What is programming?

Programming, in simple terms, is a way to tell computers how to do things.&#x20;

Whether it's calculating complex formulas, or finding duplicates in a list with a thousand entries: computers are good at solving problems, and very fast at doing so.&#x20;

But a computer can't do these things by itself. To instruct it to solve a problem, someone needs to come in, tell the computer to solve the problem, and also, **how** to solve it.

This "someone" is called a *programmer*. A programmer writes instructions for a computer. The computer executes the instructions so that it can solve a problem.

But it's not as simple as writing step-by-step instructions. A computer, a machine, can't understand human language.&#x20;

In fact, a computer can only understand *machine language*: a language that uses just 1s and 0s.

It's possible to write a set of instructions in 1s and 0s. But for humans, this will get complicated quickly. Not to mention, doing it this way would probably take a human programmer a very long time.

*High-level* *programming languages* were created to solve this issue. These programming languages use elements that are readable to humans. And these elements have special meaning to the computer as well.&#x20;

They can be translated by either an *interpreter* or a *compiler* into machine code, the format that the computer understands.

C# is one example of a *high-level programming language*. Released by Microsoft in 2002, it is one of the top 5 programming languages in use today.

## Why C#?

C# is a modern, general-purpose programming language.

Desktop apps, mobile apps, websites, and games are some of the things that are currently being built using C#. Once you've learnt the basics of C#, you can move on to building all kinds of applications!

C# syntax (the structure of the language) is easy to read. It's part of what's called the C family of languages, so learning it will mean you can easily pick up languages like C, C++, Java, and JavaScript.

C# is a powerful language. It allows you to build both simple and complex programs.

Last but not least, C# is a popular language, especially in the enterprise sector. Learning C# means you've acquired a skill that is highly sought by many industries.

## Credits

A big thank you to [NodeGirls](https://www.nodegirls.com/)! This tutorial was heavily inspired by their [Beginners JavaScript](https://node-girls.gitbook.io/beginners-javascript/tutorial/step-1-hello-world) tutorial.

## About Me

Hi, I'm Coding Mama! I'm a Senior Software Engineer who loves to work with C#, so I've made it a personal goal to introduce C# to as many people as possible.

Whether you're an absolute beginner to programming, or a developer who wants to learn C#, I'm here to help!

I hope you find my tutorials useful! If you do, please drop me a note - I'd love to hear from you!
