学网络编程前的计算机知识普及——准备上车

300 阅读5分钟

【一】、学网络编程前的计算机知识普及

前言

在学习网络编程之前,我觉得有必要对计算机的硬件软件操作系统做一些简单的了解,你也不用去百度,我都给你安排好了,先看一篇编程常识知多少,等你看完后再紧接着看我下面要说的内容,包教包会,咱就稳稳的,不给失败找借口,只给成功找方法,咱们一起奔大厂。

计算机知识普及

如果你已经看了刚才推荐的文章,那接下来我给你普及一下计算机基础。首先来说我们学JavaPythonCC++等编程语言的目的是为了干什么?无非就是写代码,编写程序。比如说你学完Java、学完Python以后你就能写像暴风影音,QQ、微信、浏览器等各种各样的应用软件。好,那我们买来一台新电脑就能立马装这些软件吗?知道的朋友都会说,得先在电脑上装操作系统,比如Windows系统,等装好了操作系统然后才能装那些软件。在没装操作系统之前,你的电脑就是一堆硬件,是死的,那现在你应该明白一台完整的计算机系统应该由三层结构构成(如下图)


现在我们想一想,一个完整的计算机系统是如何从无到有的发展起来的。我们知道,在早期社会有奴隶制度,一些生活在高层的人会指使奴隶去做一些事,不过后来被奴隶给推翻了。大家想一想,奴隶是不是也需要吃喝拉撒,你就算控制奴隶干活你也得管奴隶的生活需求。但是如果控制一台机器的话,机器不需要吃喝,一直工作就可以了,因此人们开始把注意力分散到了如何奴隶机器上,跟奴隶人一样,要想奴隶机器,就要找到能跟机器交流的表达方式,把我的思想传达给机器,让机器去执行。实际上这个机器就指计算机,所以说计算机的发展历程就是人类不断想用机器去取代或者说解放人力,最终极的理想是能够让计算机变的跟人脑一样,所以计算机也叫“电脑”。


我在刚才说我要找到一种机器所能理解的表达方式,这是不是我们学习编程语言的目的啊。编程语言就是机器所能识别的表达方式,基于编程语言把你的思想写给机器,写出来的结果就叫程序或者软件。所以现在大家应该明白,硬件是死的,你现在要想让硬件“”起来,你得给它写好软件,但是软件不能单独运行,软件是一定要交给硬件去执行的,但硬件又是死的,硬件包含了内存硬盘CPU等,我们要想让这些硬件运作起来,你得控制硬盘转起来,得控制CPU工作起来,得控制内存也能工作起来,机器自己是不能控制自己的,那你得用程序控制它,就跟人的思维一样跟机器说你应该怎样,那你就得先写一段控制程序去让硬件“”起来,然后再写应用软件,比如说QQ,这时候QQ需要用硬件,就先去找控制程序,然后让控制程序去调用相应的硬件,从硬件中拿到东西后再通过控制程序返还给QQ,这就是控制程序的作用。那现在又有一个应用软件Word,它的功能和QQ不同吧,它想从硬盘中读取信息,也要用到硬盘,那它的操作过程是不是和刚才的QQ一样,都要先找控制程序,通过控制程序操作硬件,达到目的。

这个控制程序好写吗?不见得吧,可能光给你一个硬盘都够你研究一辈子的,这时候有一批专业的程序员站出来了,他们说要专门写控制程序来控制硬件,控制好硬件之后提供一堆接口给应用程序调就可以了。那这个控制程序就是操作系统

计算机硬件是负责执行具体干活的,操作系统的功能是在应用软件和硬件之间起承上启下的作用,软件其实就是我们给计算机传输的思想。

此篇完

可能我没必要写这么详细,但换个角度想,却觉得越是没有必要的东西越是有必要写,因为大家都这样想了之后就会产生一种都懂了的错觉,这样给新人就造成了一些困难,勿以善小而不为,从小事做起,从我做起。

原创不易

我愿意花很多时间写一些基础思维是因为我知道初学者在初学编程的时候,当局者迷,迷之痛苦,难以言喻。我想帮迷之痛苦时的“我”走出困境,因为我自己走了太久了,如果此时看文章的你已经走出,请绕道,请勿喷,此篇不适合你。如果此时看文章的你是忍受迷之痛苦时的“我”,但凡对你有一丝的启示,也是此篇的价值,欢迎上路。

公众号

能欣赏我的文章的话,可以顺便关注一下公众号,彼此欣赏,何必孤独:


作者:泰斗贤若如
链接:https://juejin.cn/post/6844904023150051335
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。