1

Get Set Go

 1 year ago
source link: https://getsetgo.substack.com/p/01-setting-up
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Before I start - do remember, job well begun is job half done.

So, to begin our Go programming Journey, let us understand why we are starting to learn Golang? Why did Golang come to existence? and How to setup the Go so we can practice?

Let's uncover:

Thanks for reading Get Set Go! Subscribe for free to receive new posts and support my work.

Why am I starting to learn Golang?

I am a computer science graduate and with naked honesty, I am going to say that I am not that good in programming. I never gave the time and interest in my four years of college to learn it.

After college, I joined an Internship and that's where I started to listen and focus. I was learning a lot. Unfortunately things didn't go as planned because Covid happened and then we all were locked at home.

I did pass the internship and secured the job but my job didn't require any coding skills. Presentation skills, people skills, time skills, and some third party application skills like, google workspaces, JAMF, and ServiceNow.

That led me to start looking for skills, where 1. I am interested to learn and 2. has a lot of potential to grow.

The first thing was I found interesting was UX design. It was a passionate job but I personally felt that the job requires a lot more work and everyone was doing it. (I took the course and have certifications to back me up as a skill, but still felt like I am not good at it and the job is hard to get.)

Hence, I started looking around for other fields I can explore and learn. That is when I found Go programming Language. It was because this program was so beautifully written that makes it easy to understand is why I wanted to learn more.

I mean, look at this code:

package main

import "fmt"

fmt.Println("Hello People.")

Even if you have the basic reading ability you can understand that something is printing by importing fmt from the main package.

That is the main reason I started learning this language. There are other reasons as well but we don't have to worry about it yet:

  • An open-source programming language supported by Google

  • Easy to learn and great for teams

  • Built-in concurrency and a robust standard library

  • Large ecosystem of partners, communities, and tools.

You need not worry about everything right now, because neither we know about it and nor we are learning what everything means right away.

For now, we are just going to understand why they built a new programming language

Here is a snippet from the blog of Rob Pike1

One thing that really bothered me—and I think Ken and Robert as well—was the new C++ memory model with atomic types. It just felt wrong to put such a microscopically-defined set of details into an already over-burdened type system. It also seemed short-sighted, since it's likely that hardware will change significantly in the next decade and it would be unwise to couple the language too tightly to today's hardware.

We returned to our offices after the talk. I started another compilation, turned my chair around to face Robert, and started asking pointed questions. Before the compilation was done, we'd roped Ken in and had decided to do something. We did not want to be writing in C++ forever, and we—me especially—wanted to have concurrency at my fingertips when writing Google code. We also wanted to address the problem of "programming in the large" head on.

Read the entire post for fun. It helps understand how less is more in a more philosophical sense (at least to me).

But, they started to think of a new programming language that is fast, better than C++ and has some built in concurrency (is a scary word, but we will deal with it later.)

Now, here is a good Quora Writer's post on What is GO:

Go, or Golang is an open-source programming language. It’s statically typed and produces compiled machine code binaries.

The world was first introduced to Go in 2009 thanks to Google’s Rob Pike, Robert Griesemer, and Ken Thompson. The main goal of creating Go was to combine the best features of other programming languages:

  • Ease of use together with state-of-the-art productivity

  • High-level efficiency along with static typing

  • Advanced performance for networking and the full use of multi-core power

Go has good concurrency support, which is essential for a language designed after 2002, and for companies who have a million servers waiting to be spun up. But it’s not breaking new ground in concurrency.

Go = C + strings + garbage collection + concurrency.

If you want to build really big programs to analyze the whole internet, Go would be a pretty good choice for you.

All in all, I felt it is a cool language to learn. That is when I started learning and installed the Go into my system.

If you are curious and would want to learn. No second thoughts but just are curious after reading until here, I would recommend with the same curiosity follow this link from the official go dev page and install and run the first hello world.2

You will have installed Go, run the first program and understood what is happening in the hello world program.

That will bring you a step ahead in GO. So, congratulations🎉🎉🎉.

For further posts, I will try my best to include smaller projects and examples to help understand as I am learning with you.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK