# 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!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://codingmama.gitbook.io/csharp-for-beginners/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
