golang / go

The Go programming language
https://go.dev
BSD 3-Clause "New" or "Revised" License
122.72k stars 17.5k forks source link

doc: document typical runtime requirements of Go programs #3897

Open gopherbot opened 12 years ago

gopherbot commented 12 years ago

by hadrien.grasland:

While browsing the golang.org website, I was unable to find a satisfactory documentation
of the run-time requirements of Go programs.

I did explore the "tiny" toy OS kernel example of the Go source tree, but it
is now deprecated. The "How is the run-time support implemented?" FAQ entry,
on its side, only provides compiler-specific data, and with no guarantee that it will
remain valid in the future.

I believe that documenting these in the spec (the "System considerations"
section comes to mind) is important if Go is to be used for system programming tasks. As
of now, there is no way to clearly draw the line between what can be implemented in Go
and what must be implemented in a lower-level language like C or C++, in a manner that
won't change in the future. There is also no way to guarantee that switching or
upgrading compilers won't break existing Go system software by suddenly adding more
run-time requirements.
robpike commented 12 years ago

Comment 1:

Labels changed: added priority-later, documentation, removed priority-triage.

Owner changed to @adg.

Status changed to Accepted.

rsc commented 11 years ago

Comment 3:

Labels changed: added go1.1maybe.

davecheney commented 11 years ago

Comment 4:

Owner changed to @davecheney.

Status changed to Started.

rsc commented 11 years ago

Comment 5:

[The time for maybe has passed.]

Labels changed: removed go1.1maybe.

rsc commented 11 years ago

Comment 6:

Labels changed: added go1.2maybe.

davecheney commented 11 years ago

Comment 7:

removing myself as the owner

Owner changed to ---.

Status changed to Accepted.

rsc commented 10 years ago

Comment 9:

Labels changed: added go1.3, removed go1.2maybe.

rsc commented 10 years ago

Comment 10:

Labels changed: added release-go1.3.

rsc commented 10 years ago

Comment 11:

Labels changed: removed go1.3.

rsc commented 10 years ago

Comment 12:

Labels changed: added repo-main.

robpike commented 10 years ago

Comment 13:

Labels changed: added release-none, removed release-go1.3.

ysmolski commented 5 years ago

We are not going to give promises about runtime in the spec for sure. @aclements, can we close it down?