13.docx - Go(programming language From Wikipedia the free encyclopedia Jump to navigationJump to search For the language released in 2003 by McCabe and

13.docx - Go(programming language From Wikipedia the free...

This preview shows page 1 - 5 out of 48 pages.

Go (programming language) From Wikipedia, the free encyclopedia Jump to navigation Jump to search For the language released in 2003 by McCabe and Clark, see Go! (programming language) . "Google Go" redirects here. For the computer program by Google to play the board game Go, see AlphaGo . Go Paradigm Multi-paradigm : concurrent , functional , [1] imperativ e , object-oriented [2] Designed by Robert Griesemer Rob Pike Ken Thompson Developer The Go Authors [3] First appeared November 10, 2009; 9 years ago Stable release 1.11.2 / November 2, 2018; 41 days ago [4] Typing discipline Inferred , static , strong , structural [5] [6] Implementation language Go, assembly language (gc); C++ (gccgo) OS DragonFly BSD , FreeBSD , Linux , macOS , NetBSD , OpenBSD , [7] Plan 9 , [8] Solaris , Windows
Image of page 1
License BSD -style [3] + patent grant [9] Filename extensions .go Website golang.org Major implementations gc, gccgo Influenced by Alef , APL , [10] BCPL , [10] C , CSP , Limbo , Modula , Newsqueak , Oberon , o ccam , Pascal , [11] Smalltalk [12] Influenced Crystal Go (often referred to as Golang [13] ) is a programming language designed by Google [14] engineers Robert Griesemer, Rob Pike , and Ken Thompson . [11] Go is statically typed , compiled , and syntactically similar to C , with the added benefits of memory safety , garbage collection , structural typing , [5] and CSP -style concurrency . [15] The compiler , tools, and source code are all free and open source . [16] Contents 1 History o 1.1 Version history 2 Implementations 3 Language design o 3.1 Syntax o 3.2 Types
Image of page 2
3.2.1 Interface system o 3.3 Package system o 3.4 Concurrency: goroutines and channels 3.4.1 Suitability for parallel programming 3.4.2 Lack of race condition safety o 3.5 Binaries o 3.6 Omissions o 3.7 Criticisms 4 Conventions and code style 5 Tools 6 Examples o 6.1 Hello world o 6.2 Concurrency example 7 Projects 8 Reception 9 Naming dispute 10 See also 11 Notes 12 References 13 External links History [ edit ] Go was conceived in 2007 to improve programming productivity at Google, in an era of multicore processors , computer networks , and large codebases . [17] The designers wanted to resolve common criticisms of other languages, while retaining many of their useful characteristics: [18] Static typing and efficiency (like C++ or Java ) Productivity and ease of use (like Python or JavaScript ) [19]
Image of page 3
High-performance networking and multiprocessing The designers cited their shared dislike of C++ as a primary motivation for designing a new language. [20] [21] [22] Go was publicly announced in November 2009, [23] and version 1.0 was released in March 2012. [24] [25] Go is widely used in production at Google [26] and in many other organizations and open-source projects. In April 2018, the original logo (Gopher mascot) was replaced with a stylized GO slanting right with trailing streamlines. However, the mascot remained the same.
Image of page 4
Image of page 5

You've reached the end of your free preview.

Want to read all 48 pages?

  • Fall '12
  • DuiWei
  • The Land, Google Go

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture