程序设计语言-编译器-操作系统的关系及演义(适合初级高手)

//作者:ylotttt

//来源:http://blog.csdn.net/ylotttt/

 

  程序设计语言-编译器-操作系统三者的关系其实可以简单理解为

  语言(C、C++、Java等)-开发工具(Turbo c、MSVC++、JDK等)-开发平台(Windows、Unix、OS/2等)的关系。只是不同的叫法,前面的学术一点,概念一点,后面的生活一点,笼统一点。这里讲述的将是它们的来龙去脉,以及先有鸡还是先有蛋的科普问题。

  指导思想:首先遇到问题,而后产生解决技术,最终导致现今状况。

  1程序设计语言由语言的设计者定义(这样的设计者一般是大师或大师们)。但这仅仅是停在纸面上的文字和规则。

  2此时有另一个人,也就是传说中的程序员要用大师设计的语言写程序,于是乎就报了一本若干尺厚的规则先学起来。在看了若干页若干遍之后,决定写上一写。于是乎就在纸上写下了他所理解的语言规则构成的程序。

  但,任何事情都没发生。

  我们忘了这场戏中的一个重要道具-计算机。在这里我们所做的一切都是想控制、操纵计算机。

  这就不得不简单介绍一下现在普遍使用的个人计算机(PC)的体系结构。

  现今使用的个人计算机大都采用的是冯诺伊曼机构设计,简单来说其核心就是存储——计算模式。首先计算机将程序代码存入到存储器,其次计算机从存储器把程序代码取入CPU,每取一条执行一条,最后本程序执行完毕计算机回到代码输入前状态(这里的程序代码都指可直接执行的二进制代码,即机器码)。

  但这家伙有点笨(婉转的说法,其实是非常苯)。他听不懂我们的语言,看不懂我们的文字,他有他的语言-机器语言。而这种机器语言如此的晦涩、难懂、不可理解以至于我们创造和定义过他之后就再也不想提及。本质上机器语言就是计算机可以直接在cpu执行的二进制码(又称机器码)。

  为了便于我们人类记忆理解并在此基础上写出正确的程序,很早以前有几位大师创造了一种语言,这种语言以助记符形式对应于机器码来减小程序员的编成难度,这种语言叫汇编语言。这时只要用助记符写出程序再对应写出机器码就可以拿来上机执行了。这时就有懒人想如果让计算机来做助记符到机器码的对应工作我不是就有更多时间泡妞了?于是编译器走上了舞台,它完成了汇编语言到机器语言的翻译工作,我们把它称为汇编编译器。

  这时我们就可以直接写汇编代码的程序而不去管对应的机器码是什么,只要写完后启动汇编编译器,汇编编译器就将汇编代码自动翻译为机器码。

  于是乎,借助于汇编语言及它的实现——汇编编译器,我们就可以写出更加庞大的程序,比如——操作系统。

  也许此时你又在想,为什么要写操作系统?它又是什么?要它有什么用?

  我们普遍认为计算机的设计是

  基本概念:

  注意:本文中程序代码不同地点的不同含义。仔细辨析体会文中专业词汇、专业术语的不同含义。

  机器语言

  计算机-文中提到的计算机的概念是被人们普遍认同的、现代电子技术发展的产物。在此之前的自动机或其它不是本文的讨论范围。它的雏形于***形成,并应用于美国军事,以进行数值计算。

你可能感兴趣的:(软件技术)