Skip to content

An attempt at a Windows explanation for part 2 #14

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 5, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,20 @@
# GoLang tutorial for Beginners
I believe the simplicity and cleanliness of the Go programming Language makes it suitable as a language for first time programmers.

_This tutorial is written for people who have less that one year programming experience or even no experience whatsoever._
**NOTE**: _This tutorial is written for people who have less that one year programming experience or even no experience whatsoever._

A question I get commonly asked as as a speaker and mentor is, _Are bootcamps worth it? Should I go to a bootcamp to start my career in tech?_ I have the hardest time answering that question. This truth is, all the material provided in software bootcamps is available online for free.

The reason behind this course is to provide that same free content, but for my favorite programming language [Go](https://golang.org/)

## What is Go?
I believe the simplicity and cleanliness of the Go programming language makes it suitable as a language for first time programmers.

Go is a programming language was developed at google in 2009. It was written to help replace some of the heavy and complex c++ infrastructure. Since then it has grown to a powerful tool for all types of programming.

### The Why of Go
Here is a great video by [Carmen Andoh]() about Go and why to use it.

[https://www.infoq.com/presentations/go-concurrency-gc/](https://www.infoq.com/presentations/go-concurrency-gc)

## [Part-1 Intro to Programming](/part_1/intro_to_programming.md)

Expand Down
15 changes: 15 additions & 0 deletions part_2/2.1_bash.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,21 @@

### Windows

Windows has a number of options for utilizing bash, which is normally a Linux command line environment. We will cover a few of them and expect you to simply remember that when we say to go to the CLI or run something "in bash," that we mean open your chosen bash environment.

We discuss some options from simplest to most complex. Be prepared to read documentation, not because we're too lazy to show you exactly how to install everything, but because of a very important lesson you should learn early in your journey: using a computer effectively requires reading and understanding new things, and programming is no different. This is a lot like learning how to do maintenance on your house or unclog your kitchen sink, and it's fun and healthy to work through.

Don't worry, there's lots of information out there to work through this comfortably.
#### git-bash
The simplest and thus recommended for newcomers option is to install git-bash, which will come with Git as well (see next steps). You can go [here](https://git-scm.com/downloads) to download Git for windows and choose the "git-bash" option when running the installer.

#### cmder
A more complicated but still useful option for getting into command line is [cmder](https://cmder.net) which is a powerful command line environment. If you download the "Full" installation it will have everything you need, including git (see next steps) if you prefer that version. By default it starts with a windows command terminal, but you can open a bash terminal tab or configure the default behavior to start with bash as well.

#### Windows Subsystem for Linux (WSL)
This is not for the faint of heart, as it is both the most complicated and the most powerful, but eventually most Windows developers working with Go will end up here. Don't jump ahead if you're new to deep Windows system administration. Assuming you are on Windows 10 and can update to the latest version as of early 2021, you can use what's called WSL2 if you are googling for information. This allows you to run a full Linux installation with a separate filesystem that integrates well with a lot of tooling like Visual Studio Code.

We'll leave installation instructions as an exercise for you, since you will need the skills to find that information if you're going to be successufl in running WSL2 anyway.
### Linux

### MacOS
Expand Down
3 changes: 3 additions & 0 deletions part_2/2.2_git.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Git

## What is Source Control?
Source control is a way of capturing history of a collection of text files in a way that can be collaborated upon. It is pretty easy to think of it as if you were saving every "undo" step when editing a document or spreadsheet into a log, and then sharing that log with others editing the same thing alongside you.

There's a lot to dive into there that won't matter at this juncture, so for now while you work on your own repo alone, it's worth just keeping in mind that it's just version history you can interact with as you need to.

## Install git
It is time to open your terminal and install [git](https://git-scm.com/downloads). Although version control can be run through many IDEs and some text editors like VSCode, it is really go to get familiar with the CLI commands.
Expand Down
15 changes: 12 additions & 3 deletions part_2/2.3_installing_go.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
# Installing Go

## From Binary

## From Source
## Windows
### From Binary
The easiest way to install Go is by going to [the install page](https://golang.org/doc/install) and downloading and running the installer. It will setup your path and everything for you.

## Establishing your gopath
If you know what Chocolatey is and already have it installed, you can also use it to install go via the `golang` package, but this is not recommended.

Once installed, restart your bash terminal entirely and `go version` should work in your new terminal.

## Linux
### From Binary
### From Source

### Establishing your gopath

## Test program
3 changes: 3 additions & 0 deletions part_2/2.4_pick_your_IDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@

## Installing VSCode

### Windows
The easiest way to get VSCode on Windows is download the installer from [their website](https://code.visualstudio.com/) and follow the instructions. Remember to restart any terminals you wish to use the `code` command from after you've installed it.

## Installing Go plugins

## Setting Up Dev Environment
11 changes: 10 additions & 1 deletion part_2/using_command_line.md
Original file line number Diff line number Diff line change
@@ -1 +1,10 @@
the secret to Go programming is becoming comfortable in you terminal. The goal of this section is to introduce first time users to the command line, to command line tools like Git and Bash, and to help users learn about and pick and IDE.
# Using Your Terminal

The secret to Go programming is becoming comfortable in your terminal. The goal of this section is to introduce first time users to the command line, to command line tools like Git and Bash, and to help users learn about and pick and IDE. If you are comfortable with the terminal feel free to skip ahead to [Section 3](/part_3/write_a_go_server.md)

## Table of Contents:

### [2.1 Bash](/part_2/2.1_bash.md)
### [2.2 Git](/part_2/2.2_git.md)
### [2.3 Install Go](/part_2/2.3_installing_go.md)
### [2.4 Pick Your IDE](/part_2/2.4_pick_your_IDE.md)