Qcon:go is the C language of the internet era

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

The typical characteristics of the times, as the go language of the Internet era, must make this language operation computer clusters as easy as a single machine.


Lightweight processes should be the most important execution unit of language


"Lightweight process Model" for "Asynchronous IO Model"


Cost of implementing a "lightweight process"


Basic level


New IO Library


Synchronization and Mutex


Issues with third-party libraries


Communication


Shared memory model vs Message delivery model


Erlang-style concurrency model


The go language's lightweight process of communication


In software engineering, GO is the second language that enforces code-style unification.


If expression


{


}


In terms of error handling specifications, functions allow multiple values to be returned, error types


List of Go features


Garbage collection


Richer built-in types: Slice, string, map, etc.


function returns a value, a better error handling specification


Anonymous functions and closures


Classes and Interfaces


Lightweight processes and Message Queuing


Reflection


Package


A richer library of standards


Go so far has two compilers, one is written in Plan 9 style, the other is the GCC go, although two compilers compared to other languages of the compiler is very fast, but the Plan 9 style faster than the GCC go also 5 times times.


The go language supports classes, class member methods, class combinations, anti-integration, anti-virtual functions, discarding constructors and destructors, and better interfaces. The go language is the second open source programming language released by Google 2009. The go language is optimized for programming multi-processor system applications, with go-compiled programs that are comparable to C or C + + code, and are more secure and support parallel processes.


From a programming philosophy point of view, the go language is a change faction, not a reformed faction. Process-oriented programming, object-oriented programming, functional coding, message-oriented programming, and so on, go language integration of the long, and strive to maintain the language features concise. The go language and C + +, Java, C # have a completely different philosophy of design. Since function overloading is a burden, and this feature does not have significant value in solving any problems, go does not provide it.

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.