成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

和6歲孩子的函數式編程對話

新聞
昨天,我正在讀一篇關于函數式編程的學術論文,6歲的兒子朝我走過來,問道:“你在看什么呢?”我不知道從哪里開始給他解釋,于是決定直接了當地回答:“我正在看一個關于自由定理的很長的故事。”

前言: 今天看到Brent寫的一篇有趣的文章,分享給大家,尤其適合有孩子的程序員家長。

昨天,我正在讀一篇關于函數式編程的學術論文,6歲的兒子朝我走過來,問道:“你在看什么呢?”

我不知道從哪里開始給他解釋,于是決定直接了當地回答:“我正在看一個關于自由定理的很長的故事。”

他追問到:“什么是自由定理?”

這該對一個6歲的孩子怎么解釋呢? 但是作為一個老師, 我不會在教學挑戰面前退縮的。

我想了一會兒,問道:“你知道什么是函數嗎?”

他不知道。

“函數有點兒像機器,你可以把一些東西從一端放進去,然后另一端就會出來一些東西。舉個例子,你把一個數字放進去,然后比這個數字大1的一個數就會出來,比如你放進去3,出來一個4, 你放進去6,出來一個7 。”

這對他來清晰易懂,于是我繼續解釋:“函數有類型,類型能告訴我們什么樣的東西放進去,什么樣的東西取出來。比如你放進去一個數字,取出來一個數字;或者你放進去一個包含幾個數字的列表,然后也取出來一個數字。”

他很興奮地把我打斷了:“也許我可以把單詞放進去?”

“沒錯,你可以把單詞放進去,再把單詞取出來。或者有一個特殊的函數機器,可以讓你把函數機器放進去,然后取出一個新的函數機器!”

他倒吸了一口涼氣:“一個產生機器的機器!”

“所以,” 我總結道,“自由定理就是你僅僅知道這個函數機器的類型,不知道它內部到底干了啥,但是你現在可以對這個函數機器說一些總是為真的斷言。”

很明顯,這遠遠超出了他的認知。不過整個談話給了我一點靈感。

“嗨,我想到了一個好主意,” 我說,“咱們來玩一個函數機器游戲吧,我會在腦海中想一個函數機器,你告訴我想放進去什么東西,我告訴你什么東西會從機器中出來,然后你可以猜一猜這個函數機器做了什么事情。”

他立刻喜歡上了這個游戲,這對我是個巨大的“打擊”,因為他想一直玩下去。昨天晚上我開車去參加一個派對的時候在玩,我早上沖澡的時候也在玩。

到目前為止,他正確地猜出了這些“函數機器”

 

和6歲孩子的函數式編程對話

 

和6歲孩子的函數式編程對話

 

和6歲孩子的函數式編程對話

 

和6歲孩子的函數式編程對話

 

和6歲孩子的函數式編程對話

 

和6歲孩子的函數式編程對話

 

和6歲孩子的函數式編程對話

這一個對他有點難度:

 

和6歲孩子的函數式編程對話

我意識到在幾種情況下,他能理解函數的功能,但是不容易用語言表達出來。

于是我們對有些做了一些改變,一旦他覺得自己猜出了函數的功能,我們就調換角色, 由我來指定輸入,他來根據自己的理解產生輸出,看看和我想的對不對。

 

和6歲孩子的函數式編程對話

這個函數機器對他來說出乎意料地難猜(雖然他最終猜對了),他花了很長時間猜測,因為他以為機器會對輸入數字做點兒數學運算, 所以總想找到一個“公式”。

他沒有想到的是,函數機器可以根本就不關心輸入數據。無論你輸入什么, 機器的每次的輸出都是 6 !(有趣的是,在我的函數式編程課上,很多學生在做Lambda演算的時候,也對cosntant function非常困惑。)

經過幾輪對我的函數機器猜測之后,小家伙也想構造出他的函數讓我猜了!有時候他的函數非常棒,有時候確沒什么意義。不管怎樣,這很有趣 !

當他最終理解了 這個函數做的事情:

 

和6歲孩子的函數式編程對話

隨后,他也想出了這樣“復雜的”函數:

 

和6歲孩子的函數式編程對話

我想這是因為他受到了幼兒園課程的啟發,在那里他學到了一對兒加起來等于10的數字。

這絕對是我教育孩子最好的時光之一。

---------------------------------------

我看完后覺得這游戲非常有趣,也拉著閨女玩了起來。

我們玩了幾輪以后,她開始構造函數機器,讓我猜。

可是玩了幾個普通的函數以后,小孩子就不按常理出牌了,比如居然給我整了一個返回隨機數的函數,這可真不好猜。

還有一個非常有代表性的函數機器:

  • 我說:10 , 她說 :1
  • 我說:9, 她說 :2
  • 我說:33, 她說 :3
  • 我說:34 , 她說 :4

我一下子明白了,她這個函數不是“純函數”,是有狀態的 !

或者無意中搞了一個閉包。

 

和6歲孩子的函數式編程對話

這可怎么給她解釋?!

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2020-05-26 21:17:28

函數式編程純函數

2011-10-19 15:47:13

2012-03-21 09:30:11

ibmdw

2023-05-06 07:27:47

2013-09-09 09:41:34

2020-09-23 16:07:52

JavaScript函數柯里化

2023-11-21 07:17:36

Reac函數組件

2012-09-21 09:21:44

函數式編程函數式語言編程

2013-06-27 09:31:37

聲明式編程命令式編程編程

2009-07-08 16:10:24

Scala簡介面向對象函數式

2020-02-06 19:12:36

Java函數式編程編程語言

2016-12-30 11:11:30

兒童編程

2023-10-07 00:01:02

Java函數

2011-08-24 09:13:40

編程

2023-12-14 15:31:43

函數式編程python編程

2022-09-22 08:19:26

WebFlux函數式編程

2016-10-31 20:46:22

函數式編程Javascript

2011-03-08 15:47:32

函數式編程

2020-09-24 10:57:12

編程函數式前端

2025-03-11 10:00:20

Golang編程函數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线观看中文字幕 | 午夜久久久 | 在线免费观看欧美 | 亚洲精品成人网 | 91精品一区二区三区久久久久久 | 91电影| 成人欧美一区二区三区黑人孕妇 | 日韩一区二区在线视频 | 亚洲丝袜天堂 | 欧美视频一区二区三区 | 成人在线视频免费看 | 少妇精品久久久久久久久久 | 国产一区 在线视频 | 亚洲人的av | 一区二区视频在线 | 午夜影院在线视频 | 欧美久久久久久 | 欧日韩在线观看 | 国产成人jvid在线播放 | 久久精品中文字幕 | 久久久精 | 成人亚洲精品久久久久软件 | 日韩毛片免费视频 | 午夜婷婷激情 | 亚洲国产精品成人 | 国产精品99久久免费观看 | 欧美一级大片免费看 | 色999视频 | 黄网站在线播放 | 一级欧美| jvid精品资源在线观看 | 国产日韩欧美另类 | www.男人天堂.com| 欧美日韩在线免费观看 | 国产高清视频在线观看播放 | 91在线精品一区二区 | 欧美精品在线免费 | 日韩欧美成人精品 | 综合激情久久 | 久久av综合| 亚洲精品成人 |