关于计算机和软件的思考

版权声明:欢迎转载,请注明出处 https://blog.csdn.net/xinzhongtianxia/article/details/80993770


近来对计算机有所感悟,记录下来。

什么是计算机

当今时代,几乎各行各业都离不开计算机,种了一辈子地的老爸也会打开浏览器,每天看看新闻了。刚开始接触计算机时,大多数人都会感觉计算机无所不能,很强大但又很神秘,接通电源之后,世界便出现在你的眼前了。
可是,万能的计算机究竟是怎么一种东西呢,于是,怀着好奇心,我们找来螺丝刀拆开笨重主机的后盖,出现在我们面前的似乎并没有我们想象中那么神秘,电路板,各种电子元件,各种电线,还有个小风扇。 这一堆东西总的来说那该有这么几部分,CPU,内存,硬盘,电源,风扇,机箱。没错,我们一直觉得神秘又强大的计算机就是这些普通的定西组装起来的。
接通电源,正负电压流进计算机,正负电压的排列组合被用来模拟‘是‘、’非’、‘而且’、‘或者’、‘循环’、‘顺序‘、’分叉’等这些人类活动中事物的关系,有了这些关系,计算机便可以处理人们遇到的问题。硬盘和我们平时的记东西的本子没什么区别,是计算机用来记东西的。内存是CPU和硬盘之间的桥梁,用来缓冲cpu和硬盘之间速度的巨大差异,风扇是用来给cpu吹风降温的,机箱就是个保护罩。
这样看来,计算机其实也挺’朴实’,各个元器件各司其职,只管好自己的一块就行,就像某个二极管只管电流过来之后发光,硬盘只管转动,抬起,放下机械臂等等,正是这些简单的反应进过各种排列组合之后,形成了计算机。
这些和人类本身也很像啊,自然界中的原子排列组合到一起形成核酸、蛋白质,再排列成DNA,再形成各种细胞,各种细胞组成骨骼、肌肉、脂肪、血液,再组成各种器官,最后形成人类的身体。然后人类可以进行各种活动。
世界上的物质大多本质都是一样的,都是由许多简单的功能单一的‘单元’组合之后,形成功能复杂强大的个体。

什么是软件

软件是让组成计算机的个个电子元件按照某种意愿运转起来,最终达到某种目的计算机指令,就像我们人类想走路,大脑就会发出指令,经过神经传输,’指挥’腿动起来。
说到底,计算机毕竟是机器,机器只认电压,所以,软件做的工作就是把人类的思想翻译成政府电压传递给计算机,让计算机的各个元件按照自己的意愿运行。
操作系统就是软件的一种,各种编程语言,C/C++/JAVA/PyThon,最终都会通过操作系统翻译成计算机能理解的语言,然后进一步转化成正负电压,所以说白了,整个计算机世界只有两个数字(0和1)来回倒腾:0代表负电压,1代表正电压。
把人类语言翻译成01工作量太大,所以人们又发明了高级编程语言,大大减轻了程序编写的工作量,现在又嫌弃高级语言太麻烦,于是乎语音控制,人工智能等等,越来越高效(懒)的东西相继出现,但是,无论这些东西多了高级,到最后都是你打开机箱盖看到的那些玩意儿在干活,这么多年来,计算机的本质并没有改变。

软件发展的趋势是什么

各种编程语言层数不穷,各种开源项目各领风骚,如果仔细想想,你会发现,这么多年来,软件领域做得事情大概只有一件,让使用的人尽可能方便的同时,让速度尽可能快,成本尽可能低。
当超级计算机太过昂贵时,那就用许多廉价的计算机组成集群来做单台机器做不了的事情,当计算机操作起来太麻烦时,那就让他简单起来,各种语音,智能工具为此而生,当程序运行太慢时,各种缓存,固态硬盘,顺序读写等等方法和思想相继出现。当然就像能量守恒定律一般,当你改进一个方向时,必定是用其他方向的代价换来的。比如分布式系统中的CAP理论。于是乎,软件工程师们必须权衡各种因素之后,才能编写出适某种场景的程序,而权衡的根据是建立在对软件领域知识的深入理解和领悟之上的,随着对某一领域的理解,慢慢的你也许会发现,不只是软件,所有领域都是殊途同归的。
电子在轨道上围绕原子核运动,卫星在轨道上围绕行星运动,行星在轨道上围绕恒星运动,恒星在轨道上围绕星系运动,这诸多相似背后,应当不仅仅是巧合吧。宇宙尚且如此,更不必说计算机了。

猜你喜欢

转载自blog.csdn.net/xinzhongtianxia/article/details/80993770