4 ms·
The people who define Go as a "systems language" use their own terribly useless definition of "systems language". Per wiki: "For historical reasons, some organi
by deaddodo 10y ago
The people who define Go as a "systems language" use their own terribly useless definition of "systems language". Per wiki: "For historical reasons, some organizations use the term systems programmer to describe a job function which would be more accurately termed systems administrator."
So for them, a language that can be used by DevOps Engineers is a systems language. While for sane developers, a systems language is one with deterministic attributes and the ability to be compiled to native code with no/a minimal runtime. I.e. one you can code "a system" in.
- mindcrime 10y agoI.e. one you can code "a system" in Yeah, but "a system" doesn't necessarily mean "an operating system". There are lots of kinds of systems. Most people I know, who I've talked about this with, consider middlware'ish development (think, message queuing systems, application servers, etc.) as an aspect of "systems programming".
- pjmlp 10y agoPeople have been writing OSes with GC enabled systems programming languages since the late 60's. Would you consider the employees of UK Royal Navy, Xerox PARC, ETHZ, DEC, Compaq, Microsoft as insane developers?
- greenhouse_gas 10y agoAlso, it depends on how you define an "OS". If you're in the GNU/BSD/Windows/MacOS camp (where init, ls, sh, cat, etc. Are part of the OS), you can have go (as well as java) in the OS.
- greenhouse_gas 10y agoAlso, does the Go standard "require" a mark+sweep? If you write an implementation which uses Reference Counting, it can be "deterministic" and won't require a runtime.
- openasocket 10y agoSure, but then you'll leak data every time there's cycles in your data structures.