要清楚这些问题,要了解下计算机的发展史.
特别是编程语言的发展史和计算机图形学的发展史.
------------------------------------
粗略说下:以计算机体系构建来说
1,计算机最本质的东西就是电路的开关,在逻辑上就是0和1.整个计算机世界就是由这两样东西构成的.计算机世界的规则就是电路,(并行,串行,短路),在逻辑在就是三个运算:0+0=0,1+0=0+1=1和1=1=0. 你在计算机上看到的东西,最终都要归纳为这个由二种事物和三件规则构成的世界.
2,计算机在硬件层面上的集成电路,就是通过二事三则来实现最基础的数学运算,逻辑运算,以及其它相关运算.形成了机器指令. 机器指令本质上就是01串. 表示上可有多种,如十六进制表示.这些机器指令集构成机器语言,机器语言按一定的内在逻辑,实现所有的计算.
3,由于机器语言容易出错,可读性差,因而需要改进,故而出现了汇编语言.汇编语言是一个巨大的进步,实现了机器语言的抽象和分离.可以通过汇编器,把汇编语言翻译为机器语言,要注意的是,唔同的机器体系,机器指令不同,机器语言也不同,所以不同的机器有不同的汇编.由于汇编言语需要对计算机有深刻的理解,而且在大型开发上力不从心.因而出现了fortran,ada,cobol等等语言.
4,关于c和c++的发展历史,不用多说,想说的是,这两种语言最终要编译为机器语言的.详细请看编译原理.
5,现在说说c和c++的应用,
首先,现在主流操作系统unix系列,linux系列的内核是用c和汇编语言编写,unix系列,linux系列的xwindow等等,大多数是用c和c++编写的. 至于windows,用汇编,c,c++,c#(听说在vista上用到)编写.
其次,网络协议,这个是互联网基础,unix和linux是用c,windows用的是c++.
6, 当然,第5点说的不是绝对.首先说一个概念,软件复用,说的就是把功能实现相同的封装起来,下次用到时直接调用. 这样就形成了各种各样的功能库,如c和c++的标准库.在c++和c编程中,对了库可以相互调用.故说,第5点的说法只是一个概说.
7,所以计算机的所有功能,都可以通过c和c++来实现.
但在网络应用层面,网站等等,大多数是用java,php,c#以及相关脚本来实现,是因为对开发实现的需求.快速,高效实现.
但是,如ie是用c/c++编写的,qq也是c/c++编写的.还有其它许多网络软件,如防火墙,杀毒软件等等也是.
--------------------------------------------
C和C++语言是不是只能写引擎之类的核心东西?而这些核心东西的概念和写法谁能大概粗略地说一下?
所以,上面的问题不是问题了,重要的是看要写的东西对运行效率,开发效率的要求.例如,完全可以用c语言和网络协议库来写一个程序,专门读取和显示你发问题的这个页面
http://zhidao.baidu.com/question/33478242.html.但是这样做没多大意思,工程量太大,没有通用性和扩展性.
-----------------------------------------------------
至于,界面.下面也说说
1,在早期,没有显示器的,只能能过电路开关,打孔机和打字机来显示计算机信息.
2,接着出了显示屏,这显示是黑屏拆字的.这是开始.
3,计算机图形学先驱的研究,开始了计算机图形学的领域.
4,最终研究成果,开发出各种各样的图形库,如openGL等等.当然,这只是软件层面的,在硬件层面还有很多相关的支持,如显卡等等.
5,要开发GUI程序,直接调用相关库的组件就行.
-------------------------------------------------------
that's all.
原创by gelosie.