The Go talk 2009 pdf has a comment to explain why they came up with the go language :
No new major systems language in a decade.
What's the meaning of systems language?
I can see C#/Java is `not' a systems language, and C/C++ is.
In a sense, the term “system language” is really short for “general purpose language which allows systems programming”. Though the low-level aspects must be there the language should be also be a productive way to write high level code.
Java is the newest in a long line of systems programming languages.
Systems programming involves the development of the individual pieces of software that allow the entire system to function as a single unit. Systems programming involves many layers such as the operating system (OS), firmware, and the development environment.
Python is an interpreted, object-oriented, high-level programming language with dynamic semantics.
It's a rough, informal distinction, but the idea is that there are "application programming languages," targeted at programmers who develop shrinkwrapped business applications, and "systems programming languages," targeted at programmers who program tools for other programmers (compilers, etc.) and low-level software such as OS kernels, device drivers, etc.
In short, most (recently-invented, anyway) languages are designed to make it easier to develop user-facing software for dealing with some non-computing domain---finance, engineering, etc. Systems programming languages are those, such as C, FORTH, Go, etc. which are intended or at least suitable for programming in the domain of computing.
These often, but do not always, feature compilation to native code, loose type systems which permit extensive "punning," and unmanaged memory access through pointers or an equivalent construct.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With