英文:
What does it mean by a 'systems language'?
问题
<a href="golang.org/doc/talks/go_talk-20091030.pdf">Go talk 2009 pdf</a>中有一条评论解释了为什么他们提出了Go语言:
<pre>
十年来没有出现过新的主要系统语言。
</pre>
系统语言的意义是什么?
- 它是一种可以通过生成本地二进制文件在目标系统上运行的语言吗?
- 它是一种可以自己构建操作系统的语言吗?
我可以看到C#/Java不是系统语言,而C / C ++是。
英文:
The <a href="golang.org/doc/talks/go_talk-20091030.pdf">Go talk 2009 pdf</a> has a comment to explain why they came up with the go language :
<pre>
No new major systems language in a decade.
</pre>
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.
答案1
得分: 13
这是一个粗糙的、非正式的区分,但其思想是有"应用程序编程语言",针对开发封装商业应用程序的程序员,以及"系统编程语言",针对为其他程序员编写工具(编译器等)和低级软件(如操作系统内核、设备驱动程序等)的程序员。
简而言之,大多数(最近发明的)语言都是为了更容易开发面向用户的软件,用于处理某些非计算领域,如金融、工程等。系统编程语言是那些旨在或至少适用于计算领域编程的语言,如C、FORTH、Go等。
这些语言通常(但并不总是)具有编译为本机代码、宽松的类型系统允许广泛的"类型转换",以及通过指针或等效结构进行的非托管内存访问。
英文:
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.
答案2
得分: 2
看这里? 如果这个链接看起来有点随意,我很抱歉,但实际上这应该是你所需要的全部内容。除非你在寻求更具体的其他内容。
C#绝对不是一种系统语言的原因是它对.NET的依赖。
英文:
Look here? Sorry if this comes off as sorta a throw away link, but really this should be all you need. Unless you are asking for something else more specific.
A reason C# is definitely not a systems language is its dependency on .NET.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论