当前位置:看书小说 > 都市小说 > APP里的碎片 > 第三卷第五 章父与好奇小女儿的对话从Flow-Matic到编程思维

第三卷第五 章父与好奇小女儿的对话从Flow-Matic到编程思维

<< 上一章 返回目录 下一章 >>
    谷雨三月中,天清地明和,细雨淅淅沥沥地下着,就像是老天在织一张巨大的网,想把整个世界都捞进去。雨滴打在窗玻璃上,乒乒乓乓的,好像一群顽皮的孩子在敲锣打鼓。这谷雨时节,空气潮得能拧出水来,你呼吸一口,都感觉肺里进了半口水。

    谭灰晨下班的时候,看着这软绵绵的细雨边走边想着,自己家里的妻子范舒。他路过起花架子奶奶的店在这里买了两朵康乃馨,范舒很喜欢康乃馨,每当他将这花带回家中都能看到,范舒就甜甜的笑着。

    他撑起伞往家里赶,他在雨中走着。雨水打在伞面上,滴答滴答的,好像在给他伴奏。他走在雨中,感觉整个世界都变得柔和了,他一路加快着脚步。

    他拿着康乃馨回到家,一进门,他的女儿胖粒就冲了过来,紧紧地抱住他,像只小猴子一样挂在他身上。胖粒仰着头,好奇地问道:“爸爸,你说,格蕾丝·霍珀为什么要给计算机写程序语言呢?”

    谭灰晨笑了笑,放下康乃馨,说:“妈妈呢?”胖粒拉着谭灰晨的手将他带到厨房,厨房里范舒正在烤番薯,谭灰晨笑着把康乃馨递给范舒,范舒开心的笑了。

    他回到房间坐在电脑前,胖粒拿着妈妈给她的烤番薯,边吃边听他爸给她讲故事。

    谭灰晨开始给他女儿讲述起计算机语言的起源。他讲得绘声绘色,好似自己看到了那个创造了计算机语言的人。胖粒听得津津有味,眼睛里闪烁着好奇和敬佩的光芒。

    谭灰晨讲完了,胖粒还意犹未尽地缠着他问东问西。他心里感到一阵温暖,觉得和女儿在一起的时光总是那么美好。他抱起胖粒,走到窗前,一起看着窗外的雨。他忽然想起刚刚去花架子阿姨店里的时候,忘记把自己的老爹叫回来了。

    小胖粒边吃番薯边在一旁不停的提问,她爸爸谭灰晨,慢慢的给她解答。

    就这样吧,这父女两在这那淅淅沥沥的下午里傍晚,像两只小鸟在树枝上叽叽喳喳,度过了一个温馨得不能再温馨的下午。

    那雨啊,就像是天上的神仙在撒尿,没完没了,可谭灰晨的心里啊,却是晴空万里,阳光灿烂。在他的家到处都是晴空万里空气,清新得让人心旷神怡。

    “哎,胖粒啊,你知道不?计算机这东西,看着冷冰冰的,其实它跟咱们人一样,也需要有个说话的方式。在那格蕾丝·霍珀出现之前啊,计算机内部用的都是那种古老的二进制代码,就好像人们只能用0和1来交流,虽然能说出个意思来,可多费劲啊,你说是不是?”

    胖粒一听这话,眼睛就亮了,像两颗小星星一样,她急忙问道:“那格蕾丝·霍珀这大姐是怎么做的呢?”

    谭灰晨就笑了,拍了拍胖粒的肩膀说:“女儿你不知道,这大姐啊,聪明得很。她想啊,如果能让计算机懂一种更接近咱们人说话的方式,那计算机不就能更好地帮咱们干活了吗?于是啊,她就开始捣鼓出一种叫‘flow-matic’的编程语言。这种语言啊,简单直观,一看就懂,大大提高了编程的效率。你想想看,这就像咱们村里的老太太用土话聊天,虽然土,但亲切得很,易懂得很。”

    他又接着说:“flow-matic啊,那是1960年代初的时候为了商业应用搞出来的编程语言。这语言的好处就是简化了编程过程,让那些不懂编程的人也能参与到软件开发里来。你想想看,这就像咱们村里的大伙一起帮忙盖房子,虽然有的搬砖,有的和泥,但大家都能出一份力,一起把房子盖起来。这flow-matic语言啊,就是为了处理数据和生成报告设计的,那时候的商业环境啊,这东西可真是太有用了。”

    就这样,父女俩你一言我一语,说得兴起,仿佛整个世界都只剩下他们两个人,和那淅淅沥沥的雨声作伴。

    谭灰晨看着胖粒那圆滚滚、充满好奇的眼神,就像是看着一块刚出炉、还冒着热气的馒头,心里暖洋洋的。他轻轻地拍了拍胖粒的头,就像拍去她头上的尘埃,说:“胖粒啊,你知道吗?编程这东西,不单单是敲敲键盘、写这个可没那么简单,它更是一种思维方式,一种看待世界的独特方式。就像你爷爷做的那碗热气腾腾的刀削面,不仅仅是填饱肚子的食物,更是一种家的味道,一种情感的寄托。”

    小胖粒一听,眼睛瞪得像两颗黑葡萄,好奇地问:“爸爸,爸爸,编程思维那是什么呢?是不是就像我做数学题时,要换个角度思考一样?”

    谭灰晨听了,哈哈大笑,摸了摸自己的头拿起旁白的梳子梳理几下将梳子放下后继续,说:“胖粒真聪明,你说对了!编程思维就是这样,它要求我们不断地变换角度,从不同的维度去看待问题。就像你说的做数学题,不能一条路走到黑,得学会拐弯,得学会换位思考。而编程思维就是这样,它让我们不断地试错,不断地调整,直到找到解决问题的最佳路径。”

    他顿了顿,继续说道:“而且啊,编程思维还教会我们如何与机器沟通,如何让那些冷冰冰的电子设备按照我们的意愿去工作。就像你跟家里的狗狗沟通一样,虽然它听不懂你的话,但你能通过你的动作、你的声音,让它明白你的意思。这就是编程思维中的‘指令传递’,你得明确地告诉机器你想让它做什么,怎么做。”

    谭灰晨说着,突然想起了格蕾丝·霍珀,那位在编程领域做出了巨大贡献的女科学家。他眼中闪过一丝敬意,说:“你知道吗,胖粒?像格蕾丝·霍珀这样的编程大师,她们不仅拥有高超的编程技巧,更重要的是她们拥有那种独特的编程思维。她们能从复杂的问题中看到本质,能从混乱的数据中找到规律,她们就像是掌控着电子世界的魔法师。”

    小胖粒听得津津有味,仿佛已经被这神奇的编程世界深深吸引。她睁大了眼睛,说:“爸爸,编程都有哪些逻辑!”

    谭灰晨听了,心中一阵激动。他微笑着说:“好啊,胖粒,爸爸支持你!爸爸跟你说说小胖粒啊,你这问题问得真是时候,编程这东西啊,就像咱乡下的庄稼地,看似平平无奇,实则暗藏玄机。它里头啊,有好多好多的逻辑,就像咱地里头的各种庄稼,各有各的章法,各有各的生长规律。

    首先呢,得说说“顺序逻辑”。这就好比咱种田,得按照季节来,春天播种,夏天浇水,秋天收割,冬天休息。编程也是啊,你得按照代码的顺序,一步一步来,不能乱了套。

    再来呢,就是“选择逻辑”。这就好比咱在田里看庄稼,哪块地里的庄稼长得好,咱就多浇点水,多施点肥。编程也是啊,有时候得根据条件来选择执行哪段代码,就像咱选择给哪块地多浇水一样。

    还有啊,就是“循环逻辑”。这就好比咱的庄稼,年年都得种,年年都得收。编程也是啊,有时候得反复执行某段代码,就像咱年年都得种田一样。

    最后呢,就是“函数逻辑”。这就好比咱村里的各种手艺活,有专门的人来做,比如有人专门负责犁地,有人专门负责播种。编程也是啊,你得把各种功能分解成一个个小块,每个小块就是一个函数,这样代码就更好管理,更好理解了。

    小胖粒这小姑娘,像颗饱满的豆粒,点点头,一脸专注,仿佛整个小脑袋都沉浸在编程的逻辑海洋里头了。她琢磨了一会儿,那眼神儿就像是在琢磨一块美味的糖果,然后脆生生地问道:“爸爸,妈妈在哪儿呢?她在忙啥哩?”

    谭灰晨这老小子,就像一块被岁月打磨过的石头,外表粗糙,内心却藏着不少故事。他没急着回答,眼睛望着房门外,就像那守望麦田的老农,心里满满的都是期待。

    雨还在淅淅沥沥地下着,但谭灰晨的心里却已经阳光明媚了。他明白,自己看着门外的范舒,她边看电视边给番薯削皮,那画面就像一幅温馨的家庭画,让他心里暖洋洋的。

    他顿了顿,像是在回味那份温暖,然后才慢悠悠地开口:“小胖粒啊,你知道flow-matic么?那可是在1960年代初期就出现的编程语言,专门给商业应用设计的,特别是那些数据处理和报告生成啥的。这flow-matic的特点嘛,就是直观、易用,连我们这些非程序员也能摆弄出复杂的业务流程来。”

    小胖粒眨巴着那双好奇的大眼睛,像是在琢磨一块难解的谜团,她问道:“爸爸,那它要哪种解释器呢?”

    谭灰晨笑了笑,继续说道:“这flow-matic啊,它可不是编译型语言,而是解释型语言。这就意味着,你得有个能够读懂并执行flow-matic代码的解释器才行。这解释器就像是翻译,把flow-matic的代码翻译成计算机能懂的语言,然后让计算机去执行。”

    父女俩聊起了flow-matic,也聊起了生活的点滴。他们的对话,就像那淅淅沥沥的雨声,虽然细碎,却充满了生活的韵味。

    谭灰晨笑着摆了摆手说道:“原始的 flow-matic 是为特定的硬件和操作系统设计的。然而,随着时间的推移,可能有现代的版本或模拟器可以在更现代的操作系统上运行。

    flow-matic 的代码,它的结构是基于流程图的。每个 flow-matic 程序由一系列的“步骤”组成,这些步骤在逻辑上连接在一起,形成一个处理流程。每个步骤通常执行某种操作,如读取数据、处理数据或输出数据。

    下面爸爸用一个简单的 flow-matic 示例,用于读取数据、处理数据并输出结果:

    ```plaintext

    start

    read input-file into buffer

    if end-of-file then go to end

    pute total = total + buffer

    write buffer on output-file

    go to start

    end

    ```

    这个示例程序从一个输入文件中读取数据,将其累加到一个总和中,并将每个数据项写入一个输出文件。

    爸爸你说的这些我都听不懂:“你看这个plaintext是什么意思为什么它前面要加&39;

    ```&39;这些点点呢?还有这一窜‘read input-file into buffer这些词又是什么意思?爸爸你给好好说说!”

    谭灰层看着女儿这一脸认真的模样不由得笑了他抱着小胖粒说道:“这段代码是描述了一个简单的文件处理流程,具体是这样的它读取一个输入文件,处理文件内容,然后将处理结果写入到另一个输出文件中。下面我会从技术和物理及专业的角度,详细分析这段代码。

    小胖粒走回自己的房间拿了一根棉花糖,又回到谭灰晨房间,她穿了一双踢踏舞,蹦蹦跳跳的说:”爸爸,它们是代码呀,那你可以接着往下讲”

    谭灰晨听着哒哒哒的声音指着胖粒说:“坐好,爸爸这就给你讲讲,read input-file into buffer:+ 这行代码表示从名为`input-file`的文件中读取数据,并将这些数据临时存储在名为`buffer`的内存区域。在大多数编程语言中,这通常会涉及到文件i/o操作,如使用`fread`、`open`等函数。

    往下看这一条if end-of-file then go to end,+ 这是一个条,件判断语句。它检查是否已到达输入文件的末尾(eof, end of file)。如果是,则跳转到标记为`end`的代码段。

    接着这句pute total = total + buffer+ 这行代码表示对`total`和`buffer`进行某种计算,并将结果存回`total`。不过,这里爸爸在这里只是简单举例,所以描述有些模糊,因为`total`和`buffer`的具体数据类型和含义没有给出。例如,如果`total`和`buffer`都是数值类型,这是一个累加操作;现在假设它们是数组或列表,这是一个元素级的加法操作。”

    小胖粒说:“爸爸你说的迷迷糊糊的,这我可怎么听得懂呢,算了等有时间问问哥哥吧,爸爸你接着讲讲&39;write buffer on output-file&39;这一句的意思吧!

    谭灰晨看着胖粒笑着说:“+ 这行代码表示将`buffer`中的数据写入到名为`output-file`的文件中。这同样涉及到文件i/o操作,如使用`fwrite`、`write`等函数。接下这一句‘go to start+ 这是一个跳转语句,表示执行完当前操作后,返回到`start`标签处,继续执行流程。这实际上创建了一个循环,持续地从输入文件中读取数据,直到到达文件末尾。”

    谭灰晨指着显示屏的这个加号说道“+end这是一个标记,用于指示流程结束的地方。

    这段代码的执行涉及到计算机的内存、存储设备和中央处理器(cpu)。当执行`read input-file into buffer`时,cpu会向存储设备(如硬盘)发出指令,读取文件内容到计算机的ram中,存储在`buffer`这块内存区域。”

    胖粒张大眼睛抱着自己的脑袋看着屏幕大声念到:“b-u-f-f-e-r,小胖粒把这个buffer念了一遍,又看着她爸谭灰晨说道接下来呢是啥?”

    谭灰晨笑着说:“接下来的计算操作(如`pute total = total + buffer`)在cpu上执行,涉及到cpu的算术和逻辑单元。

    当执行`write buffer on output-file`时,cpu会再次与存储设备交互,将内存中的数据写入到输出文件中。”

    谭灰晨将小胖粒放到地上笑着继续说:“这段代码展示了一个简单的文件处理流程,但存在一些不足之处。例如,它没有显示地初始化`total`和`buffer`,这可能导致未定义的行为。此外,代码中的跳转语句(`go to`)可能会使代码难以理解和维护。

    谭灰晨他眼中闪烁着对技术的热爱与自豪,嘴角挂着淡淡的笑容,看着胖粒说“看这段代码,宝贝,”他指着屏幕上的代码块说,“它就像是一个小小的魔法阵,从输入文件中召唤出数据,通过我们的智慧对其进行改造,然后再将它们安放到输出文件中。这不仅仅是简单的编程,它还涉及到了计算机的深层运作机制,从内存的分配、存储设备的读写,到cpu的运算,甚至还包括了软件工程和硬件之间的紧密合作。”

    正当他们沉浸在这技术与智慧的交流中时,门轻轻地开了,落灰,谭灰晨的儿子,带着他特有的活力和好奇,走进了房间。他穿着那件熟悉的蓝色条纹上衣,抖了抖,似乎想引起他爸和他妹的注意。

    “爸爸,妈妈让我来告诉你,”落灰眨了眨眼,看向谭灰晨,“她让你给爷爷发条信息,提醒他该回家做饭了。”

    谭灰晨微微一愣,然后笑了起来,转向落灰说:“哦?妈妈今天没有煮番薯粥吗?她最喜欢煮的番薯粥还没上桌呢。”

    落灰挠了挠头,露出一副小大人的模样:“爸你去看吧,妈妈她在煮番薯粥,但是如果没有爷爷做的菜,那么大一锅粥,我们怎么吃得下去呢?”

    谭灰晨听后,忍不住哈哈大笑,一边笑着一边拿起手机,迅速给父亲发了一条信息:“到点了,该回家做饭了。”信息发送后,他放下手机,转身对落灰说:“好了,儿子,信息已经发了。我们这就去厨房看看妈妈煮的番薯粥吧。”

    就这样,谭板栗收到了他儿子给他发的消息。
<< 上一章 返回目录 下一章 >>
添加书签