大家好,今天小编关注到一个比较有意思的话题,就是关于编程语言分类有哪些方法的问题,于是小编就整理了1个相关介绍编程语言分类有哪些方法的解答,让我们一起看看吧。
C语言是用什么编出的?
C语言标准文档是 pdf 格式的,你可以在这里下载 ***://open-std.org/JTC1/SC22/WG14/***/docs/n1570.pdf 至于是什么编写的,因为很多文档编辑器都可以导出 pdf,这个还真不好猜测。。。
1. 首先是Windows平台的 cl(全称叫 Microsoft (R) C/C++ 优化编译器)。该编译器是闭源的,但是从它的可执行文件的导入符号可以看出它是用 C++ 语言编写的,并极有可能就是用自身编译的。
2. 然后是在linux平台广泛使用的 gcc。gcc 编译器(平台)最初是用 C 语言编写的,但是在 2012 年 8 月,gcc 宣布全面迁移至 C++ 语言,所以现在都是使用 C++ 语言编写了。
3. 最后是在BSD系(包括苹果系统)使用的 clang 编译器,它属于 LLVM 编译器平台,从诞生第一天起就是使用 C++ 语言编写的。
其他还有很多小众编译器,多数是使用 C 或 C++ 语言编写(C 语言居多),由于数量众多这里就不列举了。
C语言有一特性:自生长。先用汇编语言编写一个很小的编译器核,就具有了编译基本C源程序的能力。以后就用这个小C语言开发库函数等扩展部分。因此可以说,C语言的核是汇编语言开发的,而大部分代码是用C语言自我开发的。
首先答案是c语言是用c语言编写。
一个语言能否自己编写自己实现自己编译,这叫自编译,自举性。目前能实现自举性的语言没有几个,而自举性也就成了一个语言能否真实强大的标志。
一般来说图灵完备的语言,编译型语言,虚拟机语言可以实现自举。而解释型语言基本上很难。
现代很多语言都没实现自举,Java(jvm),J***ascript, python,ruby,lua,php,perl……一堆。这些语言编译器、解释器都是c语言。
一个语言能自举是他们社区和开发一直梦寐以求的事情,也是他们情怀和追求所在。有一个语言为了实现自举成功,花了近20年,前年圣诞节才正式推出了第一个正式版本。它就是perl6,perl的下一代语言。perl6支持过程、OO、函数式三种程模式,支持虚拟机的语言(自己的虚拟机和jvm)。为了做好perl6,社区搞了一个功能启示录,把要实现的功能好点子都录进去。后来一个日本人参考这个启示录自己实现了一个语言,这就有了ruby语言,但是ruby没有自举。
我在以前的回答中,曾说过c语言的来历:
上世纪70年代,为了实现unix,教主Tomphson和Ritchie开发了B语言,但是b语言性能不行,编写也较繁琐,所以又在B语言的基础上开发出了现在的C语言。
用C语言写的代码通过C语言的编译器编译成EXE,最早版本的C语言的编译器是通过汇编语言写的编译器编译出来的,最早版本的汇编语言编译器是由机器语言写的编译器编译出来的。旧版本的C语言编译器可以用来编译出新版本的编译器程序。
C语言,是一门高级计算机语言,熟知的unix、Linux都是C语言编写。但最早的语言并非如此的易学好用,多数伟大的创造都源自于一群调皮的人。
最早的高级计算机语言是,ALGOL 58、后来进化为ALGOL 60。分别被创造于1958年和1960年,这门语言暂且被称为A语言,尽管当时的人不这么叫,现在的人还是习惯了。
1963年,由剑桥和伦敦大学合作改进的CPL语言出现,当时并没有把它命名为C语言、也不是B语言。鉴于是对A语言的改进,暂且叫做A+语言吧。这门语言更接近硬件一些,但是使用不那么容易,很多事情还是难以实现。
1967年,这时候B语言(BCPL)来了,这也是第一个有了小括弧,大括号的语言。由剑桥大学的马丁·理察德简化CPL语言而来。
19世纪60年代末的时候,正在上班的Ken Thompson,想自己着手开发一个电子游戏,苦于没有操作系统,于是在1***0年Ken用B语言写了一个造作系统叫做UNIX。1***1年,贝尔实验室的D.M.Ritchie加入Ken的兴趣团队,一块完善了UNIX。
1***2年,闲来无事的D.M.Ritchie觉得很无聊,在一个闲情雅致的下午,D.M.Ritchie决定对B语言进行改造。于是产生了C语言。C语言并不是为了和A、B语言排队而命名,而是取自BCPL语言的第二个字母。C语言一诞生,便迫不及待的用C语言重写了UNIX系统。并且,在设计期间,考虑将UNIX兼容到各种机器上,也奠定C语言成为第一个可移植的语言。
到此,以上就是小编对于编程语言分类有哪些方法的问题就介绍到这了,希望介绍关于编程语言分类有哪些方法的1点解答对大家有用。