What Is GOing On?

Melike Kilic
3 min readMay 14, 2020

In this blog, we’ll go over the Go(lang) programming language.

What is Go(lang)?

Go(lang) is a compiled programming language, created in 2007 by Google developers, Robert Griesemer, Rob Pike, and Ken Thompson, but launched in 2009 as an open-source* programming language.

*The source code is available to users without any cost, and they are free to change it to make it more debug-free. It has approximately 90,000 repositories. You can find Go’s source code here: https://github.com/golang/go

Why Did They Create Go?

There are already plenty of programming languages, what pushed these Google developers to create a new one?

Google suffered a lot from the inconveniences the other languages caused. Interpreted languages like Ruby are safe, but slow and have many dependencies whereas fast languages like C are unsafe. The developers’ main goal was to establish a language that would be fast, secure, and easy to use.

The goals of the Go project were to eliminate the slowness and clumsiness of software development at Google, and thereby to make the process more productive and scalable. The language was designed by and for people who write and read and debug and maintain large software systems.
– Rob Pike, Creator of Golang –

Syntax

Package declaration: This is the initial point of the program, which means it is a must.

Import Packages: The next thing is to import “fmt” for it informs the compiler to include the lines from package fmt.

Functions: Main function where the execution of the program starts.

Expressions and Statements: fmt.Println is a library that is used to display outputs on the screen.

Comments: Comments are what we use to explain the code. The compiler avoids running the comments and skips to the next line.

PROS & CONS OF GO

Pros:

It is easy to use and to learn. The syntax is very minimal, which means you don’t need to look things up constantly.

It is open-source by nature.

Because it is compiled to the machine code, it is fast.

It is concurrent; it allows multiple processes running simultaneously and effectively.

It is cross-platform. It can be used for different platforms, including Windows, Linux, Unix, and BSD versions.

Cons:

Since it is a statically-typed language, it is less flexible than dynamically typed languages.

Though it can be tailor-made for single-page apps, Go has no GUI(Graphical User Interface) library.

Too simplistic. Although having a clean syntax makes it easier to learn, tools you can use in Go are limited.

Popular Apps Developed Using Go

Google, Uber, Medium, Lyft, Twitch, Dailymotion, Dropbox, SoundCloud

IDEs That Go Support

Emacs, Vim, VSCode, Atom, Eclipse, Sublime, IntelliJ

Here’s Golang’s official website, you can check it out if you are interested: https://golang.org/

Thank you for reading!

--

--