计算机科学技术的发展史
计算机和编程之间有深深的瓜葛,从计算机到数据,再到编程,再到软件测试。一次简单的了解,将会对于未来有一个更理性的认识。当然这不仅仅是为职业发展做出的一次拓展性认识,同样地,站得越高,看得越远,管中窥豹,方知是否适合计算机行业。在这有限的生命中,有时候做出正确的选择甚至比努力更重要。
计算机仅仅是指电脑么?这是一个常见误区,其实计算机更本质的理解是一种处理特别的数据的机器。其实这种特别的数据不仅仅在电脑上能被处理,同时在手机上,各种显示器上,都在背地里偷偷的处理着这种特别的数据,以至于这些设备都能互联互通。例如在手机上玩你画我猜,同时在电脑上亦能做到,这就是在处理同种数据的功劳。所以我们对计算机的理解往往认为是电脑等大型计算设备是不全面的。只要能处理这种特别的数据的机器,我们都能称之为计算机。
这种特别的数据到底是什么呢?先从我们接触到的数据说起。在实际生活中,发生的每一件事都是有其数据基础的。比如对北京雾霾程度的精准描述,一定是达到数据精准表示,就是PM2.5的数值等。这些数据有一个共同的特点,就是由数字0到9组成,这就是十进制数据。而计算机在其运算过程中所能识别的机器语言,只有2个数值,0和1。这就和人们认识事物的过程完全不同,计算机不能直接识别语言、文字、图片等,也就是说,计算机其实除了数据0和1,其他啥也不认识。
最神奇的地方就在这里了,我们生活中往往需要这种0到9组成的10进制数去描述事物,有时候甚至需要60进制的数去描述(时间的记录)。那么如何才能用0和1去记录数据,处理那些人们日常生活中产生的各种类型的数据,比如语言,图片,视屏等,如何去设计一台计算机满足人们能在生活中使用它。通过一代代人努力完成这种创举,这些问题被一个个的解决,因此人类得以有机会进入一个新时代。
了解了数据0和1思维,再了解计算机,才会有编程这种职业的存在。所以还必须得把跟这两样重要发明的提出者,两位老祖宗请出来,那就是图灵和冯·诺依曼。图灵,英国科学家,提出了一种设想,就是信息都可以用0和1来表示,而控制数据的程序也同样可以用规定的数据0和1的组合来表示。这当然是一种很了不起的思想,因为用10进制的数去描述一个现实生活中的事,太复杂了,而仅仅用0和1构成的2进制数去描述,人类就更能简便的去记录这些数据了。而正是基于此,冯·诺依曼做出了世界上第一台电子计算机,在他的设计中,程序和数据都是由0和1构成的。存储空间中的一部分的0和1用来发射控制性信号,而另一部分0和1来存储数据。这种模式的计算机,就称之为冯·诺依曼计算机。
现如今的计算机都是冯诺依曼计算机。而现在程序员所干的活,就是坐在计算机前面,靠着现在编程语言,控制着机器语言,来控制发射控制信号的那部分0和1。进而改变数据库的0和1。但是世界上并不是所有人都需要麻烦的去学那些0和1,然后再会玩计算机的,底层的0和1,留给苦逼程序员去玩耍就好了。普通人通过互联网,也就输入的是汉字,图片,视频,顶多输入计算机最容易理解的数字都不错了。于是就产生了一个新职位,叫做前端。前端就是将用户和后端程序员连接的枢纽。负责将用户输入的数据转化成程序或者数据,发给后端。后端将编写好的程序和数据库发给前端调用和接入。前端负责这位人类语和机器语翻译官本来就够他忙的,但是人们还抱怨网页做得丑,理解起来还是困难,于是UI设计师就登上了舞台。至于软件测试工程师嘛,就相当于工厂的质检员,质检员嘛,程序出了问题,当然要背锅的。
软件测试行业将要去往何方
当充分了解计算机行业的全貌,也就可以对软件测试行业进行分析。软件测试是随着现代编程的复杂性增加,代码错误检测工作量的提升,而新增的一个就业市场。它的出现可以和UI设计师的出现进行类比。那么当然,软件测试的整个行业生命周期也可以类比。在几年之后,随着培训人员的大量增加,将会达到饱和。之后的竞争压力必然增大,但是现阶段软件测试行业正处在成长期,从就业角度来说,是有优势的。
计算机的技术对社会的改造
了解计算机行业其实就是期望能从它的过去看到他的未来。我们回到计算机的语言本质上去,就是数据的0和1。回顾第一台计算机从1950年左右的诞生,将其最基本的计算能力带入人们的生活中。伴随着台式机的微型化和小型化,一个普通美国家庭能购买一台台式机。在1990年左右,互联网的出现,将人类社会信息的互联互通提升到了极致。而互联网的诞生,整个人类社会才算真正进入了信息时代。在互联网上出现的电商平台、搜索引擎、社交平台,完全改变了人们对世界的认知方式。进入21世纪以后的计算机行业,每隔几年,都会出现一个新兴行业,引入大量资本。但计算机技术的更新换代速度也是快得惊人。从智能手机行业的热潮,到15年的虚拟现实,再到如今的人工智能和区块链,世界一直在变,但最大的变化永远来自计算机行业。计算机科学技术对于社会生活的改造,其实本质是每个行业的信息化和标准化过程。而这种改变,对普通人的生活习惯的改造是一阵见血的,大多数人却往往对此视而不见。下面2个例子,将充分说明计算机对人类社会将会产生的重大影响。
计算机科学技术的发展对个人的影响
这些技术真的是炒鸡恐怖的,想想都多少客服妹子以后的岗位都会被取代。更不必说还有自动驾驶,无人车送货。在接下来的5年中,人类社会又将会被计算机科学翻天覆地的改造一番,以至于回顾5年后的今天,都会觉得是很遥远的过去一样。那么如果要选择一个注定要被计算机改变的行业,不如在计算机行业去选择自己喜欢的方向。这是一种更为合理的想法。
在时代的滚滚潮流面前,每个人的力量都是渺小的,不畏惧时代的现实性,首先充分的了解它,认识它,这不仅仅是自我培养兴趣的起点,也往往能成为一个人坚持的动力。无论社会产生了如何大的改变,人作为个体对更美好的生活的渴求从没有变过,正是这种欲望驱使着人不断成长。无论前方有多少条选择的道路,其实最后就只有一条道路,就是曾经选择过的那条路。放下心中的杂念,坚持自己内心的想法,感受时代的脉动,顺势而为,因时而变。远方其实就是一条地平线,远方的存在的最大意义在于它的远。