"系统语言"是什么意思?

pro*_*eek 5 programming-languages go

Go talk 2009 pdf有一个评论来解释他们为什么想出go语言:

No new major systems language in a decade.

系统语言的含义是什么?

  • 它是一种应该通过生成本机二进制文件在目标系统上运行的语言吗?
  • 它是一种可以自己构建操作系统的语言吗?

我可以看到C#/ Java是'不是'系统语言,而C/C++是.

Der*_*urk 12

这是一个粗略的,非正式的区别,但这个想法是,还有谁对其他程序员(编译器等编程工具"应用程序编程语言,"针对谁开发shrinkwrapped业务应用程序的程序员,和"系统编程语言,"针对程序员)和低级软件,如OS内核,设备驱动程序等.

简而言之,大多数(最近发明的,无论如何)语言旨在使开发面向用户的软件更容易,以处理一些非计算领域---金融,工程等.系统编程语言是那些,如C ,FORTH,Go等,旨在或至少适合于在计算领域中进行编程.

这些通常但并非总是以编译为本机代码,松散类型系统允许通过指针或等效构造进行广泛的"惩罚"和非托管内存访问.

  • @Matthieu M.:是的,但这里的关键功能是非托管内存访问,而不是指针。想想设备驱动程序、操作系统内核等——在某些时候,您需要能够读取和写入任意内存位置。此外,任何允许指针(即表示内存位置的算术功能类型)的内存管理语言都会强制执行一些主要的运行时检查,这并不是大多数人在考虑“指针”时所想到的。 (2认同)