当前位置: 首页 > 科技新闻 >

计算机是怎样跑起来的

时间:2020-04-23 17:35来源:网络整理 浏览:
面对为数不多的技术,我们可以从容地把时间花在学习计算机的基础知识上。而这些基础知识,即使到了今天也完全没有发生变化。因此,即便面对的是复杂的
计算机是怎样跑起来的

面对为数不多的技术,我们可以从容地把时间花在学习计算机的基础知识上。而这些基础知识,即使到了今天也完全没有发生变化。因此,即便面对的是复杂的最新技术,一旦把他们回归到计算机的基础知识上,就变的可以轻松理解。就算是和年轻的工程师们阅读同样的技术手册,我们领会其中的要点、抓住其本质的速度也要快的多。

一、基础中的基础知识1、计算机的三大原则

现在的计算机看起来好像是种高度复杂的机器,可是基本的构造却简单得令人惊讶。大约50年前的第一代计算机到现在,计算机并没有发生什么改变。在认识计算机时,需要把握的最基础的要点只有三个,我们称之为“计算机的三大原则”。无论多么高深、多么难懂的最新技术,都可以对照着这三大原则来解释。

1)计算机时执行输入、运算、输出的机器

2)程序是指令和数据的集合

3)计算机的处理方式有时与人们的思维习惯不同

2、试着制造一台计算机吧

要彻底掌握计算机的工作原理,最好的方法就是自己搜集零件,自己组装一台微型计算机,微型计算机(MicroCom)是Micro Computer的缩写,字面含义是微小的计算机,但一般也可用于指代IC(Intergrated Circuit,集成电路)元件外露的、用于控制的计算机。

3、体验一次手工汇编

通过编写程序使诸位亲身体验计算机的运行机制,为了达到这个目的,就需要使用一种叫做“汇编语言”的编程语言来编写程序,然后再把编好的程序通过手工作业转换成CPU可以直接执行的机器语言。这样的转换工作叫做“手工汇编”(HandAssemble)。体验过后,应该能加深诸位对计算机的理解,不仅能因“我能看懂程序了”,而获得成就感,更能因发现“计算机原来很简单啊”而信心倍增。

二、知识范围4、程序河水一样流动着

本章的主题是程序的流程,程序员一般都是先考虑程序的流程再开始编写程序的。只有编写过程序的人才能体会到“程序是流动着的”,一个人编写的程序如果不能按照预期运行,就说明他还没有很好地掌握“程序是流动着的”这一概念。作为计算机大脑的CPU在同一时刻基本上只能够解释、执行一条指令,把指令和作为指令操作对象的数据排列起来就形成了程序。

5、与算法成为好朋友的七个要点

程序是用来在计算机上实现世界中的业务和娱乐活动的,为了达到这个目的,程序员们需要结合计算机的特性,用程序来表示现实世界中对问题的处理步骤,即处理流程。在绝大多数情况下,为了达到某个目标的需要进行若干步处理,而这些处理步骤就被称为算法。

要点1:算法中解决问题的步骤是明确且有限的;

要点2:计算机不靠直觉而是机械地解决问题;

要点3:了解并应用典型算法;

要点4:利用计算机的处理速度;

要点5:使用编程技巧提升程序执行速度;

要点6:找出数字间的规律;

要点7:先在纸上考虑算法。

6、与数据结构成为好朋友的七个要点

程序员有必要把算法(处理问题的步骤)和数据结构(处理对象的数据的排列方式)两者放在一起考虑,选用的算法和数据结构两者要相互匹配这一点很重要。要点1:了解内存和变量的关系;

要点2:了解作为数据结构基础的数组;

要点3:了解数组的应用--作为典型算法的数据结构;

要点4:了解并掌握典型数据结构的类型和概念;

要点5:了解栈和队列的实现方法;

要点6:了解结构体的组成;

要点7:了解链表和二叉树的实现方法。

虽然一路讲解了各种各样的要点,但是在最后还是请允许笔者在提醒诸位一点:即便有了由睿智的学者们提出的那些了不起的算法和数据结构,也不能100%依赖他们。希望诸位要经常自己动脑思考算法和数据结构。在了解了典型的算法和数据结构(也就是基础)之后,请不要忘记还要灵活的运用他们。只要诸位灵活的运用他们,就能创造出出色的原创作品,而能够创造出原创作品的程序员才是真正的技术者。

7、成为面向对象编程的程序员吧

面向对象编程(OOP,Object Oriented Programming)是一种编写程序的方法,旨在提升开发大型程序的效率,使程序易于维护。

观点1:OOP通过把组件拼装到一起构建程序;

观点2:OOP能够提升程序开发效率和可维护性;

观点3:OOP是适用于大型程序的开发方法;

观点4:OOP就是在为现实世界建模;

观点5:OOP可以借助UML设计程序;

观点6:OOP通过在对象间传递消息驱动程序;

观点7:在OOP中使用继承、封装和多态。

但这里有一点希望诸位注意,那就是请不要把面向对象当成是一门学问。程序员是工程师,工程是亲身参与的活动而不是一门学问。请诸位把面向对象编程作为一种能提升编程效率、写出易于维护的代码的编程的方法。在适当的场合实践面向对象编程,而不要被他各种各样的概念所谓的编程技巧所束缚。8、一用就会的数据库

所谓数据库(Database)就是数据(Data)的基地(Base)。计算机是一种工具,它可以执行输入、计算、输出三种操作,并可以通过这一系列的操作处理某种数据。因此可以说计算机就是处理数据的装置。因为,可以说计算机基本上就是被当作数据库来利用的,只要不是游戏程序,几乎所有的应用程序中,人们都在巧妙地运用着数据库。为了了解计算机,数据库是门必修课。

9、通过七个简单的实验理解TCP/IP网络

通常,人们把通过连接多台计算机所组成的、可用于交换信息的系统称为“网络”(Network)。互联网作为网络的一种,可以使我们计算机和远在千里之外的计算机连接在一起,而用于把全世界的计算机彼此相连的网线已然交织成了一张网。因为信息可以以电信号的形成在网线中传播,所以计算机彼此之间就能进行信息交换。但为了交换信息,还必须在发送者和接收者之间事先确定发送方式,这种对信息发送方式的规定或约束就称为“协议”(Protocol)。小到公司内部网络,大到互联网,TCP/IP(Transmission Control Protocol/Internet Protocol)协议已然成为了现行的标准。

10、试着加密数据吧

对于公司内部网络而言,由于只是将员工的电脑彼此相连,可能就不太需要对其间传输的数据进行加密。但在互联网中,由于它联结的是全世界范围的企业和个人,所以会面临很多需要对数据进行加密处理的情况。举例来说,在网购时用户输入的信用卡卡号,就是应该被加密传输的代表性数据。假设卡号未经加密就被发送出去,那么就会面临卡号被同样接入互联网的某人盗取,信用卡被其用来肆意购物的危险。因为像这种网店页面的URL,通常都是https://开头,表示数据正在使用加密的方式进行传输。

11、XML究竟是什么

XML是eXtensible Markup Language的缩写,译为可扩展标记语言。只有在像互联网那样的环境中,运行在不同机器中的不同应用程序相互连接,XML才会大有作为。在分布式计算中,如果由不同种类的机器互联组成的系统,那么使用基于XML的SOAP才有意义。反之如果环境中的机器和应用程序全部来自同一厂商,那么使用厂商自定义的格式而并非XML的格式,反而可以更加快捷的处理信息。XML是通用的,但不是万能的。

三、目标12、SE负责监管计算机系统的构建

SE(System Engineer,系统工程师),负责构建计算机系统。SE的地位比程序员的高吗?不一定,想当一辈子程序员也很好,但要立志成为计算机行业的专家,就不能仅仅关注技术。虽然有懂技术又懂计算机确实让人感到兴奋,但如果只是这样的话,早晚有一天工作就会变得没那么有意义了。有些人在30左右就会选择离开计算机行业,不是因为他们追赶不上技术前进的步伐,而是因为他们感到工作变得无聊了。专家也好普通人也罢,只有为社会作出贡献才能有成就感,才会觉得工作有意义。

“将来的目标是音乐家!”——正如以前新出道的偶像歌手都会有这句口头禅一样。过去新入行的工程师也有依据口头禅,那就是“将来的目标是SE”,那时SE给人的影响是计算机的巅峰。可是最近想成为SE的人似乎并没有那么多。不善与客户交谈,感觉项目管理之类的工作是很麻烦,觉得穿着牛仔裤默默的面对计算机才更加舒坦等原因似乎都是不想成为SE的理由。SE果真是那么不好的工作吗?其实不然,SE是有趣,值得去做的工作。

要点一:SE是自始自终参与系统开发过程的工程师

要点二:SE未必担任过程序员

要点三:系统开发过程规范

要点四:各个阶段的工作内容和文档

要点五:所谓设计,就是拆解

要点六:面向对象法简化了系统维护的工作

要点七:技术能力和沟通能力

要点八:IT不等同于引进计算机

总结:了解有关计算机技术的知识范围,掌握基础中的基础知识,设定目标;同时又想那些打算用计算机做点什么,却又因难以下手而犹豫不决的人,以及虽然就职于计算机行业,却又因追赶不上最新技术而苦恼的人,能够了解计算机本质。其实计算机非常简单,谁都能掌握。只要掌握了,计算机就会变得越来越有趣。

推荐内容