Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does it mean by a 'systems language'?

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?

  • Is it a language that is supposed to run on target system by generating native binary?
  • Is it a language that can build operating system on its own?

I can see C#/Java is `not' a systems language, and C/C++ is.

like image 664
prosseek Avatar asked Nov 05 '10 14:11

prosseek


People also ask

What does use system language mean?

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.

Is Java a systems language?

Java is the newest in a long line of systems programming languages.

What does system mean in programming?

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.

Is Python a system level language?

Python is an interpreted, object-oriented, high-level programming language with dynamic semantics.


1 Answers

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.

like image 76
Derrick Turk Avatar answered Nov 15 '22 15:11

Derrick Turk