北京中科白癜风医院爱心分享会 https://baijiahao.baidu.com/s?id=1700353148116242762&wfr=spider&for=pc来自“风味人间”的类比
所谓美食,不过是一次又一次的相逢。我们带您穿越山海之间,偶尔的落地生根,成就万千肴变,随即化作滚滚红尘,穿越香料歧路,几度江湖夜雨后,点亮万家灯火。《风味人间》
浮华随风去,一菜一江湖。无论置身繁华闹市,还是身居乡野陋巷,世上的滋味,就这样流转于方寸餐桌,交织在冷暖人间。我们说五味杂陈,这五味就是酸、苦、甘、辛、咸。
而我们日常食物中的食材种类可谓是丰富多彩了。简单列一下日常主要食物食性分类表:一、寒凉类食物1、粮油类:小米、大麦、荞麦、绿豆、薏苡仁、麻油、猪油、豆腐、*豆芽、绿豆芽、淡豆鼓、麦芽2、蔬菜类:芹菜、菠菜、蕹菜、苋菜、大白菜、莼菜、紫菜、甜菜、油菜、*花菜、薇菜、生菜、丝瓜、*瓜、冬瓜、苦瓜、竹笋、芦笋、莴苣笋、茄子、番茄、茭白、百合、荸荠、莲藕、慈姑、马兰头、马齿苋、枸杞头、白萝卜、青萝卜、菜瓜、葫芦、蘑菇、草菇、海带、葛根、鱼腥草、苤蓝3、鱼肉类:羊肝、鸭肉、鸭血、兔肉、鸭蛋、黑鱼、田螺、螺蛳、蟹、蚌、蛤蛎、牡蛎、蛏、河蚬、青蛙、牛乳、发菜4、水果类:梨、柑、柚子、罗汉果、柿子、杨桃、芒果、猕猴桃、香蕉、橙子、草莓、西瓜、甜瓜、胖大海、余甘子、栀子5、其他:食盐、白糖、蜂蜜、酱油、酱、茶、啤酒、薄荷、菊花、淡竹叶、金银花、决明子、菊苣、菰米、鲜白茅根、鲜芦根、桑叶二、平性类食物1、粮油类:小麦、燕麦、玉米、粳米、*豆、黑大豆、玉米油、赤小豆、白扁豆、黑芝麻、花生、花生油、豆腐浆、豆腐皮、腐乳、大豆*卷2、蔬菜类:荠菜、花菜、卷心菜、蓬蒿菜、青菜、塌棵菜、西洋菜、清明菜、北瓜、马铃薯、芋艿、山药、胡萝卜、苜蓿、芡实、香菇、猴头姑、木耳、银耳、蒲公英、豌豆、蚕豆、四季豆、扁豆、荷兰豆、西兰花、甘薯、豇豆、金针菇3、鱼肉类:猪肉、猪心、猪肝、猪脑、猪骨、火腿、牛肚、鸡肫、鹅肉、鹌鹑肉、鸽肉、鸡蛋、鹅蛋、鹌鹑蛋、鸽蛋、青鱼、鲤鱼、鲫鱼、鲈鱼、刀鱼、鲥鱼、鲟鱼、鳗鲡、白鱼、银鱼、*鱼、鲳鱼、鳜鱼、鳐鱼、墨鱼、鲨鱼、橡皮鱼、鳖、海蜇、人乳、乌梢蛇4、水果类:枇杷、桑椹、莲子、枣、榛子、苹果、无花果、梅子、乌梅、菠萝、甘蔗、橘仁、香榧、菱角、葵花子、西瓜子、枸杞子、枣仁、桃仁、白果、郁季仁、火麻仁、刺梨5、其他:味精、甘草、茯苓、菜菔子、代代花、荷叶、鸡内金三、温热类食物1、粮油类:高粱、籼米、糯米、牛油、菜油、豆油2、蔬菜类:芥菜、韭菜、大头菜、南瓜、刀豆、香椿头、芫荽、辣椒、大蒜、葱、洋葱、生姜、平菇、金瓜、木瓜、魔芋3、鱼肉类:猪肚、牛肉、牛骨髓、羊肉、羊肚、羊脑、狗肉、鸡肉、麻雀肉、雉肉、草鱼、鲢鱼、鳙鱼、鳊鱼、鳟鱼、塘鳢鱼、带鱼、*鳝、泥鳅、蚶、河虾、海参、鲍鱼、羊乳、淡菜4、水果类:桃子、李子、葡萄、龙眼、椰子、橄榄、杏子、杏仁、橘子、金橘、荔枝、柠檬、樱桃、杨梅、石榴、槟榔、香橼、佛手、山楂、栗子、松子、南瓜子、核桃、益智5、其他:红糖、桂花、桂皮、花椒、胡椒、茴香、八角茴香、丁香、砂仁、薤白、玫瑰花、玉兰花、醋、咖啡、米酒、白酒、*酒、葡萄酒、红花、肉豆蔻、紫苏、陈皮、五香粉、高良姜、肉桂、白芷、藿香、沙棘、*芥子
这食材,就像是程序设计中的数据结构Number、String、Array、List、Link、Map、Tree、Graph等,组合成不同的抽象数据类型(ADT),你也可以理解成数据结构、模型、类、对象等范畴。
然后,这些食材怎样早就这“风味人间”(互联网软件系统、虚拟数字世界)呢?这就必须要来好好讲讲“烹饪技法”了。做菜所要的时间和调料是非常讲究的,做到位了,所做的菜的营养、色味俱全,让人吃了回味无穷,即养身体又养眼。
炒爆熘炸烹……让我们来看看百度百科上列出的26种烹饪技法:
1炒2爆3熘4炸5烹6煎7贴8烧9焖10炖11蒸12氽13煮14烩15炝16腌17拌18烤19卤20冻21拔丝22蜜汁23熏24卷25滑26焗
厨艺世界的艺术,类比到计算机程序设计领域里面就是:
风味=食材+烹饪方法程序=数据结构+算法
Tips:类比是思想之基。参考:《表象与本质》(SurfacesandEssences),作者:[美]侯世达/[法]桑德尔。当一个人深深地沉浸在某个活动,或被某个极不寻常的事迷住时,这强烈的兴趣可能会使大量的类比不请自来,涌入脑中。而且,是那些绝不会在其他地方产生的类比。这一现象,就像是类比的阿喀琉斯之踵,它可能会导致我们对情境产生荒诞的理解,并最终作出十分糟糕的决定。不过,在着迷的时候容易作出不同寻常的类比,这同样也是伟大灵感的源泉。准确来讲,正着迷时,发现的相似之处大部分没什么深刻的见解,但时不时的,这种由类比引来的联系,就会成为人类思维奇迹的神来之笔。实际上,当一个人对某物着迷的时候,到处都会看到有关他所迷恋事物的类比,这发生在生活的每一个角落,日夜不停。而且,每一件很微小的事都有可能对应上所迷恋事物的一部分。所以说,尽管并不常见,但有时这种不可抗拒的冲动真的会创造出非比寻常的事。——引自章节:5类比如何操纵我们
做美食,品的是风味,尝的是人间。做程序,思的是理想,考的是现实。
程序设计是一门艺术
我们不得不接受这样一个事实:
一个未知的、无序的世界,是不可能实现“程序”的。
于是,我们抽象它,建立模型——把问题转化为结构,或者对象,或者列表,或者映射表,或者树,或者网,或者某个可以用具体规则步骤描述的事物——这就是“算法”,然后,用编程语言来表达之,或为手机APP,或为PC网页,或为图画,或为声音,或为视频,或为3D、4D虚拟现实世界。
同样的食材,不同厨师做出来的味道,自然是千差万别。那么,同样的数据结构,不同程序员设计出来的算法和写出来的代码,实现出来的系统,自然也是不同的。
风味,不是一蹴而就,需要时间与火候;画作,不是寥寥几笔,需要不断揣摩线条、色彩、构图、光线。在追求探索美味与美色的道路上,食艺家与画艺家需要达到禅的境界,在仿佛时间静止的流动中,付出全情之投入与专注。
同样的,一个美妙的系统,代码,架构——我们这些程序艺家门,也需要臻于至善之境——禅。
编程是一门艺术——我们不得不承认。这里面倾注了人类高度的创造性与智慧。
程序设计艺术欣赏:KMP算法源代码
KMP源代码(Kotlin语言):
/***getNext(pattern)函数:计算字符串pattern的最大公共前后缀的长度(max
第一境界:見山是山,見水是水,是執迷於塵世外物界。
第二境界:見山不是山,見水不是水,是對世俗的否定。
第三境界:見山只是山,見水只是水,是放下一切,萬法隨緣。
對此,另外還有一個著名的說法。宋代禪宗將參禪分為三個境界,是對佛教「空」這一概念的三種不同理解。
第一境界:落葉滿空山,何處尋芳跡。不知道禪為何物,即使就在你身邊,也無從下手。
第二境界:空山無人,水流花開。初窺門路,能以平常心修行,但身邊有草葉。
第三境界:萬古長空,一朝風月。大師境界,無相,世界為「一」。
第一境是苦苦尋覓,第二境是似有所悟,第三境是頓悟永恆。
計算機程序設計藝術,參透了,便不複雜,很簡單,臻於至善至美之藝境也。
程序=数据结构+算法
“数据结构和算法是过去50年来最重要的发明之一,它们是软件工程师需要了解的基础工具。”《ThinkDataStructures:AlgorithmsandInformationRetrievalinJava》(AllenB.Downey)
基本数据类型
道生一,一生二,二生三,三生万物。
在计算机程序设计的世界里,先有基本数据类型,复合组装成复杂对象类型,不同对象之间再进行交互操作,进而形成丰富多彩的虚拟世界。
其实,这个过程中的原理,跟现实世界是一样的。我们人类的脑子里对这个世界的认知,恐怕没有人敢说他真正懂得这个世界本来的样子。仅仅是量子物理的世界跟广义相对论的时空世界,就把这个地球上绝大部分人的脑袋弄迷糊。
我们的数字计算机的世界,是简化了的物理世界——在这个世界里,任何事物的存在,都可以用0和1来表达——清楚简单、准确无误。任何数据结构模型,都是清晰可见的。
我们这里讲的数据结构,对应的是抽象数据类型、类、模型、实体等这些的概念,是数据的逻辑模型,不是数据的物理模型。
如果不了解计算机相关的知识和思想,可能很难明白计算机的工作原理。因为,经历从各层硬件到各层软件的层层抽象后,计算机内部已经复杂得让人难以想象。
比如芯片,指甲盖儿那么大,却有几亿甚至几十亿个晶体管电子器件,每个晶体管电子器件的电流和电压,在1秒内,能变化几亿甚至几十亿次。学过排列组合的朋友,应该知道,芯片内部每时每刻的状态数量,是一个天文数字。
再比如操作系统。大概有10G的源代码,一Byte一个字符,也就是说有超过亿个字符,每行按标准80字符来算的话,超过1亿行。WinXP系统有2亿行。Android系统为例,少说点也有1亿行代码。假设一本书有页(正反算两页,这已经是一本很厚的书了),书的单面印50行代码,那么一本书就能印刷20行代码。如果把操作系统的代码都印刷在书上,那就是本书。
当我们拿着手机,聊