# Getting Start
## Git Bash
### Windows
1 . Go to [git bash](https://gitforwindows.org/) and install it .

2 . Run the setting with following settings
* add an entrance on desktop

* let the python can be run in git-bash too

3 . There will be an icon on desktop , click and run it

### Mac
1 . type `gcc` on the terminal to check if gcc exist
```clike
$ gcc
```
2 . If not exist click install on the popped window
3 . Keep clicking agree to finish install .
4 . type `gcc` again to check
5 . Now you can use the terminal to compile the program
[Turtorial](https://www.cs.auckland.ac.nz/~paul/C/Mac/)
## Sublime

Choose your the version that match your operating system
[Sublime Download](https://www.sublimetext.com/download)
### Creating a .c file
* File > new File > save file
* **When saving the file , set the name as example.c**
* Start writing your program !

## Basic Command
The command is same in Windows and Mac .
### Path
Each work-place has a specific path , we called it pwd .
#### Example
If we are at `root/`
```graphviz
Digraph G{
node[shape = box]
root->Desktop->"C-begin"
rankdir = LR
}
```
`C-begin/` is in `Desktop/` ,`Desktop/` is in `root/` , so the *pwd* for each is
* C-begin : `root/Desktop/C-begin/`
* Desktop : `root/Desktop/`
* root : `root/`
If we are at `Desktop/`
```graphviz
Digraph G{
node[shape = box]
Desktop->"C-begin"
rankdir = LR
}
```
`C-begin/` is in `Desktop/` ,`Desktop/` is in `root/` , so the **pwd** for each is
* C-begin : `Desktop/C-begin/`
* Desktop : `Desktop/`
* root : can't reach
We can't reach the `root/` , since `Desktop` is the file under `root/` . Note that the **pwd** of `C-begin/` and `Desktop/` changed , it is because **pwd** here is relative **pwd** (相對路徑).

We can get the absolute **pwd**(絕對路徑) on the command line or the title of the window .
### ls
Show all the files in the current workplace .

### cd
**Format**
```clike
$ cd "path"
```
According the path , change the work-place to the specific work-place , the path here must use the relative **pwd** .
```clike
$ cd Desktop/
```

```clike
$ cd Desktop/C-begin
```

And we can also reach the upper file by
```clike=
$ cd ..
```

### mkdir
### gcc
Here is an example program
```clike=
#include <stdio.h>
int main(int argc, char const *argv[])
{
printf("Hello i am example\n");
return 0;
}
```
To compile the program , we use
```clike
$ gcc example.c -o example
```
Which create an `example.exe` in the current workplace .

To execute the program (.exe file), we type
```clike
$ ./example
```
Results
```clike
Hi i am example
```
## The Map of Computer Science
[click me](https://www.youtube.com/watch?v=SzJ46YA_RaA)
### Coding Language
* **C**
* suitable for any hardware
* faster speed
* use in chip , operating system ...etc
* **C++**
* similar as C
* object oriented
* use in computer games , simulations ....etc
* **Python**
* modern coding language
* easier to learn
* can easily code out a program
Coding is just like painting , the concept is more important than your technique . A good concept helps you to reach the top !
### Goal
From C to python , C++ , Java ..... all !