Reading notes on Go language--the first chapter of Go language overview

Source: Internet
Author: User
This is a creation in Article, where the information may have evolved or changed.

Go notes on language learning

Wei May 2010

The first part of the Go Language Foundation

Chapter I. Go Language Overview

1.1 Go language introduction

go language is a new programming language launched by Google that can reduce the complexity of code without compromising application performance. Google Chief Software engineer Rob Parker said: "We developed go because of the past The difficulty of software development over the years is frustrating. go is Google 2009 release of the second programming language .2009 year 7 month Google has released simple language It is a basic language android applications.

Beijing time 2010 year 1 month 10 Day, go Language picked up tiobe published 2009 annual awards. The award was awarded to the 2009 the largest increase in the market share of the programming language.

Google Senior Software engineer Rob Span lang= "en-us" > • Parker represents has made me experience the development efficiency I have never had Parker represents and today's c++ or c ,go is a system language he explained that uses it for rapid development" Span lang= "en-us", it is also a true compilation language we are now opening its open source The reason is that we think it has been very useful and powerful

   in the year, Google has started to develop the Go as a 20% project , that is, to allow employees to take the time out of their jobs 20%, put on the project . In addition to Parker , members of the project also have some other Google engineers .

Parker says that after compiling the Go code, the run speed is very close to the C language, and the compilation speed is very fast , as if using an interactive language .

None of the existing programming languages have been specifically optimized for multicore processors . Parker says Go is a language that Google engineers write for such programs . It's not designed for beginners , But learning to use it is not very difficult either . Go supports object -oriented, with features such as true encapsulation (closures) and reflection (reflection) .

In terms of learning curve , Parker thinks Go is similar to Java , and for Java developers , it should be easy to learn Go.

The reason to publish Go as an open source project is to give the open source community the opportunity to create better tools to use the language , such as plugins in the Eclipse IDE . There are currently no IDE support for Go .

Go is not used in all of the Web apps that Google has publicly released, but Google has developed several internal projects using the language.

,go will have an impact on Google's forthcoming chrome OS now too early is still early but go can indeed be used with native Client He says allows the app to run perfectly in the browser For example use go to implement wave more efficiently, either in the front-end or in the background Span lang= "en-us".

  Go also has two compilers , one based on the GCC Foundation and the other for the gccgo x86 and 32 bit x86 a set of compilers (6g and 8g ) of the computer. Google is currently developing its on ARM chips and Android device Support . "The problem with Android phones is that we've never had a digital coprocessor , " says Parker.

1.2 Go language Features

Go is a powerful system programming language that allows you to program quickly and happily with ease. As with the C language, it can be run quickly and safely, especially in parallel programming, and it has a garbage collector to keep memory safe.

summed up, Go has the following advantages:

 

l Concise

Go write the code succinctly

l Fast

Go The compiler can quickly compile code. It can run at speeds comparable to C or C + + .

l Safety

Go is a type-safe and memory-safe language. a garbage collection ( garbage Collect , GC ) feature that automatically reclaims objects that are no longer in use. No user is required to manage the memory. Go has pointers, but there is no pointer operation.

l Parallel

Go The process of using a lightweight communication, for the promotion of system and server aspects of programming, from the language of strong support, called Goroutines . If you want to run thousands of goroutines at the same time , do not need to worry about memory overflow, use it to say goodbye to the stack overflow.

l Interesting

Go can be built quickly, with clear syntax, garbage collector, run-time reflection, and many types of methods. It can write like a dynamic language, but it has the speed and security of static language. Using it is a pleasure.

l Open Source

Go is open source, free of charge, it is easy to get its source code from the network.

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.