Go Insights: Introduction

joyal rapheljoyal raphel
4 min read

Introduction

In this blog, we are discussing the GO programming language, its origin, performance and so on. Let's get started 😇!!!

Go is a statically typed, compiled high-level programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson. It is syntactically similar to C, but with memory safety, garbage collection, structural typing, and CSP-style concurrency. It is often referred to as Golang because of its former domain name, golang.org ( currently go.dev ), but its proper name is Go.

Philosophy

Go was designed at Google in 2007 to improve programming productivity in an era of multicore, networked machines and large codebases. The designers wanted to address criticism of other languages in use at Google, but keep their useful characteristics

Go was publicly announced in November 2009, and version 1.0 was released in March 2012. Go is widely used in production at Google and in many other organizations and open-source projects

Gopher

"Gopher" is the official mascot of the Go programming language, and it has had a significant influence on the development and culture of the language. Firstly, it has helped to give the language a distinct and memorable identity. The Go team has often cited the Gopher's characteristics - including its industriousness, reliability, and adaptability - as guiding principles in the design of the language itself.

The GO developer community says the Gopher has become a symbol of the Go community's shared values and goals, including a commitment to open source, a focus on practical and real-world problems, and a dedication to collaboration and inclusivity.

Features of GO

  • It supports different types of datatypes like int, int8, int32.., float32, float64, string, array, slice, etc.

  • Only supports one loop statement For.

  • Statically typed

  • Every built-in function must be imported to use so it's extremely lightweight.

  • Support concurrency (goroutine)

  • Every variable declared must be used otherwise it will show the error "declared and not used"

  • Go support variadic function and closure function

  • Go support blank identifier to avoid unwanted variable declaration

Performance

Total number of requests per second, N=1, 5000 req/sec

From the above graph, we have a clear picture that the GO programming language has high performance during CPU-intensive operations. When the process becomes more CPU intensive go outperforms other programming languages. To read more about performance read the article.

Packages📦

As other programming languages, GO also provides some packages for developers to work on. Officially released GO packages can be visible on the package website of go pkg.go.dev. You can also find go packages written by developers on GitHub.

PlayGround

Get your hands dirty with GO. If are still confused about whether to learn Go you can try it @ Playground

Community💪🏽

Go is building a strong community. Get in touch with the GO community and attend offline meetups @Meetup. Find go user group on this GitHub repository

OpenSource Projects⏳

Go had made a great change in open-source project contribution. Most trending open-source projects are developed using GO. Some major GO open-source projects are:

  • Docker/CLI 🐳

    Docker is a tool that helps developers package and run their applications in a consistent and portable way. It allows you to create a container, which is a lightweight and isolated environment that contains everything needed to run your application.

    GitHub Repository

  • Kubernetes

    Kubernetes is an orchestration tool for managing and scaling containerized applications across multiple machines. It automates resource allocation and ensures high availability and scalability.

    GitHub Repository

  • Argo

    Argo is a tool for managing and orchestrating complex workflows in Kubernetes. Argo enables you to automate and streamline your workflows, reduce manual errors, and increase productivity.

    GitHub Repository

  • Hugo

    Hugo is one of the most popular open-source static site generators out there. Over 29k live websites are built with HUGO and Wappalyzer reports that Hugo serves almost 50% of the static sites. Oh and guess what, Kubernetes’ own site is built using HUGO!

    GitHub Repository

    Find the currently trending GO repository at GitHub.

0
Subscribe to my newsletter

Read articles from joyal raphel directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

joyal raphel
joyal raphel

Self Learning Programmer 🧑🏼‍💻