DrifterFun

One need not hope in order to undertake, nor succeed in order to persevere.

编程使生活更美好

2018-01-22


  人类一直有一个梦想:自动的无限制的高速的的计算

  开始的开始我们只需要计算简单的物体的个数,对于自动计算的需求还显得不是那么紧迫,于是我们只需要一个“九九乘法表”这个软件再加上我们的大脑这个硬件基本就能满足我们需求。然后呢?然后我们膨胀了,我们建立了文明之后发现隔壁的老王居然有了82头牛,这可怎么办呢?于是我们需要更加先进的计算工具。于是我们发明了“算盘”这个硬件,再加上一套算盘的心法(软件:三下五除二类似的口诀),我们也就能够渡过漫长的封建时代。(说起来新中国初期的原子弹试验听说也有算盘……)

  然而这样还是不够,随着人类计算对计算资源的需求(其中最重要的推动力是战争,最早的电子计算机被用于计算炮弹的轨道)人类发觉简单的手打计算机器不能再满足我们的需求。再进一步解放人类计算资源的革命中,千千万万的优秀的学者,工程师为之奋斗。其中除了有天空中明星一样的大牛:帕斯卡(齿轮机械计算器)、布尔(布尔代数的发明者)、图灵(计算机的数学模型)、冯●洛伊曼(图灵机的一种实现),也有致力于推广新技术普及计算资源的商业公司:Intel Microsoft IBM等等。最重要的还是电子领域千千万万人民群众的辛勤耕耘,我们的计算资源达到了今天的地步。几个例子,现在我使用的电脑(搭载Intel i7 8700K CPU + Nvidia 1080Ti GPU)其计算能力能够秒杀90年代斯坦福的计算中心,同时能够做到相对较高的能耗比。

  说了这么多,我想表达什么意思呢?就是说,在计算资源空前丰富的今天,程序是我们目前调用这些资源唯一的方法。随着人类社会数据的增大,和处理信息需求的增大,社会会进一步要求人们掌握更多的计算资源。那么,编程也就是我们立足现代社会需要掌握的一个基本能力了。当然,我相信真的到了全民不得不编程那一天,一定会有伟大的公司或者个人提出一种方法,让编程越来越简单。不过在此之前,我觉得不管你是做什么的,最好能够掌握编程这件小事。说了这么多了,来我们来举一个例子:为什么编程让我的生活更美好?

  这件事是发生在我自己身上的。我老妈的领导布置给她一份工作。这份工作主要是这样的:有一份Excel表格需要将它从一种格式变为另一种格式。当我妈向我求援之后发现这个问题利用VB语言解决,基本就是几句话的功夫。可能15min我就帮老妈完成了这份工作。但是令人惊讶的是:我妈组里面所有的研究生甚至博士生都没有想到利用程序来解决这个问题,其他人为了这个格式问题复制粘贴到深夜2点才在微信群里交上了排好的Excel文档。当我问起老妈问什么不告诉他们能够用程序,她说这样不就全部甩给我了么?(真是一个好妈妈)于是我妈晚上去做美容之后第二天早上才提交了文档(也不迟)。这就是一个程序让你的生活更美好的例子。PS:在下面附上代码借大家参考吧,时常问问自己繁琐的事情能否利用机器代替?这是一个好习惯。

复制粘贴部分
Sub a()
    For i = 1 To 230
    j = 39 + 5 * i
    Sheets(3).Cells(j, 3).Copy
    Sheets(3).Cells(j - 1, 4).PasteSpecial xlPasteAll
    Next i
End Sub
删除空白行部分
Sub aa()
    For i = 150 To 300
        If Cells(i, 2) = 0 Then
            Rows(i).Delete
        End If
    Next
End Sub

  希望大家都有美好、优雅的生活。不要再做复制粘贴的机器