Code With Go
  • Code With Go
  • 01. What, Who, Why and Where?
  • 02. Compiled vs Interpreted languages
  • 03. Types of Type!
  • 04. Stack and Heap Memory
  • 05. Garbage Collection
  • 06. About Go
  • 07. Go Playground
  • 08. Hello, World!
  • 09. Installing Go
  • 10. Variables
  • 11. Constants
  • 12. Integers
  • 12. Floats
  • 13. Boolean
  • 14. Strings
  • 15. Complex Numbers
  • 16. If Else
  • 17. Switch
  • 18. For
  • 19. User Defined Types
  • 20. Arrays
  • 21. Slices
  • 22. Structs
  • 23. Maps
  • 24. Functions
  • 25. Defer
  • 26. Pointers
  • 27. Methods
  • Resources
    • Resources - Paid
    • Resources - Free
Powered by GitBook
On this page
  • So what is Go?
  • Why Go was created?
  • What Problems Go tries to solve?

Was this helpful?

06. About Go

A Brief introduction to Go

Go is an open source programming language that makes it easy to build simple, reliable, and efficient software. - Golang.org

Go is best described as "C" for 21st century. Go was developed in 2007 by Robert Griesemer, Rob Pike, and Ken Thompson at Google and open sourced in 2009. Go is general purpose programming language that can be at various places.

Go has no implicit numeric conversions, no constructors or destructors, no operator overloading, no default parameter values, no inheritance, no generics, no exceptions, no macros, no function annotations, and no thread-local storage. - The Go Programming Language by Brian W. Kernighan, Alan A. A. Donovan

So what is Go?

  • Go is general purpose programming language.

  • Go is compiled language.

  • Go is more type safe than C,C++.

  • Go is strongly typed language.

  • Go has static type checking.

  • Go needs manifest typing. Compiler has to know each type at compile time.

  • Go compiler can also perform type inference in many cases.

  • Go has duck typing like features like interfaces.

  • Overall Go is extremely simple, expressive and powerful.

Why Go was created?

Go is created to bridge gap between safety and performance. Languages like C, C++ are very performant, but at the same time, they are not safe. On other hand languages like Ruby, Python are safer, but are slower. Go sits at a sweet spot where, Go is fast enough to build platforms, at the same time provides safety like Ruby, Python.

What Problems Go tries to solve?

  • slow builds

  • uncontrolled dependencies

  • each programmer using a different subset of the language

  • poor program understanding (code hard to read, poorly documented, and so on)

  • duplication of effort

  • cost of updates

  • version skew

  • difficulty of writing automatic tools

  • cross-language builds

Who is using Go ?

In a nutshell, we wanted a language with the safety and performance of statically compiled languages such as C++ and Java, but the lightness and fun of dynamically typed interpreted languages such as Python - Rob Pike

Previous05. Garbage CollectionNext07. Go Playground

Last updated 5 years ago

Was this helpful?

Go at Google: Language Design in the Service of Software Engineering
Logo
Who is the Go Developer?The New Stack
Logo
Rob Pike: Geek of the Week - Simple TalkSimple Talk
Go Playground - The Go Programming Language
Logo
Logo