欢迎光临散文网 会员登陆 & 注册

“电脑都不会修,你还说你学计算机的?” --- 浅谈计算机科学

2023-08-24 13:12 作者:予泽的小电视  | 我要投稿

“诶,那个谁谁谁,电脑打不开了,来,过来修下电脑。”

“啊,好。”

(屁颠屁颠跑过去看一眼)

(重启无果之后)

“这个我也不知道该怎么修啊。”

“啊,你不是学电脑的吗,这个都修不好?你学了些什么东西啊?”

(只能讪讪一笑,然后从长辈或者领导旁边跑路)


我相信来自计算机专业的学生,或多或少经历过或者听说过这样的事情。身为天天和电脑打交道的人,是不是真的应该比其他人更了解我们手中的这个机器呢。我们今天就来聊聊之前很热门(现在或许还是很热门)的专业 --- 计算机科学。


对于计算机科学,大众其实对它有很多的误解,甚至很多学生都是这样认为的。其实这门学科和你们以为的并不是一回事。


误解1:计算机科学是一门学习电脑的科学。

这个应该是很多老一辈人或者对于电子产品不是很了解的人的看法。也是我们在开头说的那个场景里的情况。

“你学电脑的,不就应该会修电脑吗?”

其实完全不是这样的。如果你对于计算机科学历史或者是电脑发展史有一些了解的话,你会发现一个很神奇的事情。计算机科学的很多理论在计算机发明出来之前就有了(在1920至1940时期,有很多逻辑理论和应用数学理论就已经被提出或者是研究。而第一台正式的电子计算机ENIAC在1946年才被建造完成)。所以对于计算机科学来说它绝对不是单单来研究电脑的科学。对于计算机科学来说,电脑和它的关系应该是如同天文学和望远镜,生物学和显微镜,化学和试管的关系一样。电脑是工具,而不是科学本身。

所以作为学习科学的学生来说,不会修电脑也是正常的。


误解2:计算机科学是一门学习如何编程的科学。

我相信很多人,特别是些对于CS刚刚开始学习的人来说,都会认为计算机科学就是编程。因为大多是计算机课程开始就是教你某一种语言,例如C,C++, Java, Python等,而且很多事情我们都需要用某一种或者某几种软件完成。这会让我们误以为,计算机科学其实就是学习编程,CS就是编程。但这其实和电脑本身是一样的,程序也只不过是我们的一个工具而已。当计算机科学家有什么好的想法,可以用某个程序更加高效快速的测试或者完成。例如现在要做个大数据分析,需要抛十万次某个国家的硬币,看正反几率,确定是否两面的质量制造合理。你要是用人去抛,怕是要等到天荒地老了,但是运行程序来测试就不是个太难的问题。甚至现在运用AI,这个程序还可以自动收集数据并且分析,然后给出一个优化的建议。

所以编程固然很重要,但是绝对不是计算机科学的全部。


误解3:计算机科学是学习如何使用电脑或者使用软件的科学。

诚然,在你的学习过程中,必然会学会如何使用电脑以及如何使用各种软件。甚至你很多课或者是培训班就是教你学某个软件的。但是就如同之前的例子一样,你会使用望远镜不代表你就是天文学家了,你可能只是个喜欢拍月亮的爱好者,对于这门科学中,更多的使用,判断,预测你完全不明白,你不知道天体的构造和运动规律,不知道各个星系和星球的性质等等。

所以会使用这些软件会使用电脑只是你学习过程中的附带的东西,并不是科学本身。


我们花了这么多时间在说什么不是计算机科学,那计算机科学是什么呢?有没有那么一个简单的定义呢?它的本质又是什么东西呢?那我们下面继续接着说。


其实作为科学来说,我们很少用人造物来拓展出科学的历史。就像汽车,你也没有听过“汽车科学”这种说法吧,有的只是汽车工程,或者车辆工程之类的。那计算机有是何德何能可以单独衍生出一门科学的呢。

其实你如果去了解一下计算机历史,可以发现,计算机的发展都是因为计算量的需求。因为我们想做某件事,我们需要数学,物理,化学等等基础科学来做计算,但是人力计算终归有限,我们就想用个机器来代替,就像用蒸汽纺织机来代替纺织工人,所以计算机就逐步被发展,直至今天我们所用的电脑。

那就像是数学,同一个问题很多时候是有多种方式来解决的,计算机上也是,同一个问题用不同的程序来做可能效率是天差地别的。所以至此,计算机开始衍生出了科学。现在我们来看看各种百科网站给计算机科学的定义:

计算机科学(英语:Computer science,有时缩写为CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何实现与应用的实用技术的学科。(来自Wikipedia)

计算机科学,研究计算机及其周围各种现象和规律的科学,亦即研究计算机系统结构、程序系统(即软件)、人工智能以及计算本身的性质和问题的学科。(来自百度百科)

可以看得出,其实他们都在说一个事情:

用计算机来解决问题。

所以之前的种种都是用于这个目的,好的电脑,是为了解决问题;好的程序,是为了解决问题;了解如何使用各个软件和各种电脑,是为了解决问题。解决问题才是其中的本质,但是如果只是解决问题,其实这个学科现如今也不会有如此之多的细分领域,我们不仅是要解决问题,还是要更好、更高效、更省资源的解决问题,而且还要以后类似的问题自动解决了等等。

而这才是计算机科学。


PS. 了解计算机科学,对于各类相关理工科行业都有帮助,例如了解新的优化算法对软件工程有莫大碑益,了解程序运行的内存分配也可以帮助电子科学和电子工程研究和制造出更适配的硬件或者计算机设计等等

“电脑都不会修,你还说你学计算机的?” --- 浅谈计算机科学的评论 (共 条)

分享到微博请遵守国家法律