Jump to content

Talk:Go (programming language)

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Momosystems (talk | contribs) at 17:37, 17 June 2023. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

obligatory Disambiguation page line

i tried adding it but im a noob! Go (disambiguation) needs to exist, google comes here first for daft reasons.

Plan 9 C

The page mentions Go is inspired by Plan 9's C dialect, but the reference only talks about Plan 9 assembly conventions. Is there even such a thing as a Plan 9 C dialect? MattF (talk) 14:48, 23 June 2022 (UTC)[reply]

@Mattf: I believe the dialect being referred to, is what is mentioned on page 9 here. The [Pike95] citation mention in this document should be this. But I agree that a better source more explicitly describing the influence between this Plan 9 C dialect and Go might be beneficial. --askeuhd (talk) 11:40, 8 August 2022 (UTC)[reply]
The design section gives the impression that C was the only influence, versus being among the various influences as shown in the influenced by section. Robert Griesemer has publicly stated that he was also influenced by Oberon-2 (which shows in the influenced by section). Refer to- The Evolution of Go from 17:00 on. Maybe there needs to be more elaboration about the design influences.
Wukuendo (talk) 02:07, 16 March 2023 (UTC)[reply]
There was specifically support for compiling plan 9 C in the GC compiler, per an old design document https://docs.google.com/document/d/1P3BLR31VA8cvLJLfMibSuTdwTuF7WWLux71CYD0eeD8. The command was "6c" and worked like the plan9 6c. Artoria2e5 🌉 05:54, 7 May 2023 (UTC)[reply]


Go Programming Language Family Tree

[...] But there are other ancestors in Go's family tree [...] Rob Pike and others began to experiment with CSP implementations as actual languages. The first was called Squeak [...] This was followed by Newsqueak, which offered C-like statements and expression syntax and Pascal-like type notation. It was a purely functional language with garbage collection, again aimed at managing keyboard, mouse, and window events. Channels became first-class values, dynamically created and storable in variables. The Plan 9 operating system carried these ideas forward in a language called Alef (programming language), but its omission of garbage collection made concurrency too painful

[1]

  1. ^ Preface - The Origins of Go, The Go Programming language (2016) - Alan A. A. Donovan and Brian W. Kernighan