Day 001: Getting to know the go language for the first time

foreword

I majored in Java network security, but after participating in the internship (security research engineer), I found that most of the needs come from python and go, and Java also has but few. The company is more willing to accept handsome guys who can go, so I plan to take out one every day. Hour to learn the go language.
Please add image description


go learning direction

Please add image description
(This thing is chipmunk, not groundhog)

  1. Blockchain R&D Engineer
  2. Go server side/game software engineer
  3. Golang distributed/cloud computing software engineering

insert image description here

Application areas of golang

  1. Blockchain application
    Blockchain technology, referred to as BT (Blockchain technology), also known as distributed ledger technology, is an Internet database technology. It is characterized by decentralization, openness and transparency, allowing everyone to participate in database records.
    insert image description here
  2. The back- end server uses
    the Meituan back-end traffic support program to
    support the back-end traffic of the main site (sorting, recommending, searching, etc.), providing functions such as load balancing, cache, fault tolerance, shunting according to conditions, and statistical operation indicators (qps, latency).
    Xianxiadao
    Product website: Xianxiadao official website - heart game. Scope of application: game server (communication, logic, data storage).
    insert image description here
  3. Cloud Computing/Cloud Service Background Application
    Shanda Cloud CDN (Content Delivery Network)
    Website: Shengtian Cloud Computing
    Application Scope: CDN scheduling system, distribution system, blue control system, short domain name service, CDN internal open platform, operation report system and some other small tools etc.
    insert image description here
    JD News Push Cloud Service/JD Distributed File System
    Website: JD Cloud
    Application Scope: All services in the background are implemented with go
    insert image description here

Birth of the Go language

Go language core development team
Ken Thompson (Ken Thompson): 1983 Turing Award (Turing Award) and 1998 US National Technology Award (National Medal of Technology) winner. He and Dennis Ritchie are the original creators of Unix. Thompson also invented the B programming language that later gave birth to the C language, and is also the main inventor of the C language.
insert image description here

Rob Pike (Rob Pike): was Bell Labs (Bell Labs) Unix team, and a member of the Plan 9 operating system program. He worked with Thompson for many years and co-created the widely used UTF-8 character encoding.
insert image description here

Robert Griesemer: He assisted in making Java's HotSpot compiler, and Chrome's JavaScript engine V8.

Why did Google create the Go language

  1. Computer hardware technology is updated frequently, and performance improves rapidly. At present, the development of mainstream programming languages ​​lags behind hardware obviously, and cannot reasonably utilize the advantages of multi-core and multi-CPU to improve software system performance.
  2. The complexity of the software system is getting higher and higher, and the maintenance cost is getting higher and higher, and there is currently a lack of a sufficiently concise and efficient programming language.
  3. Enterprises run and maintain many c/c++ projects. Although c/c++ programs run very fast, the compilation speed is really slow. At the same time, there are a series of problems of memory leaks that need to be solved.

A brief history of the development of the Go language

In 2007, Google engineers Rob Pike, Ken Thompson and Robert Griesemer began designing a completely new language, the original prototype of the Go language.
On November 10, 2009, Google released the Go language to the world as an open source code.
On August 19, 2015, Go version 1.5 was released, and the "last remnants of c code" were removed in this update.
On February 17, 2017, the Go language Go version 1.8 was released.
On August 24, 2017, the Go language Go version 1.9 was released.
On February 16, 2018, the Go language Go version 1.10 was released.

Guess you like

Origin blog.csdn.net/qq_53571321/article/details/123608174