精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

為什么說面向對象編程和函數式編程都有問題

開發 項目管理 前端
我不理解為什么人們會對面向對象編程和函數式編程做無休無止的爭論。就好象這類問題已經超越了人類智力極限,所以你可以幾個世紀的這樣討論下去。經過這些年對編程語言的研究,我已經清楚的看到了問題的答案,所以,我經常的發現,人們對這些問題做的都是一些抓不住要領、無意義的爭論。

我不理解為什么人們會對面向對象編程和函數式編程做無休無止的爭論。就好象這類問題已經超越了人類智力極限,所以你可以幾個世紀的這樣討論下去。經 過這些年對編程語言的研究,我已經清楚的看到了問題的答案,所以,我經常的發現,人們對這些問題做的都是一些抓不住要領、無意義的爭論。

簡言之,不論是面向對象編程還是函數式編程,如果你走了極端,那都是錯誤的。面向對象編程的極端是一切都是對象(純面向對象)。函數式編程的極端是純函數式編程語言

面向對象編程的問題

面向對象的問題在于它對“對象”的定義,它試圖將所有事情就納入到這個概念里。這種做法極端化后,你就得出來一個一切皆為對象思想。但這種思想是錯誤的,因為

  有些東西不是對象。函數就不是對象。

也許你會反駁,在Python和Scala語言里,函數也是對象。在Python中,所有的含有一個叫做__call__的方法的對象其實都是函數。類似的,在Scala語言里,函數是擁有一個叫做apply方法的對象。但是,經過認真的思考后,你會發現,它混淆了源祖和衍生物的概念。函數是源祖,包含函數的對象實際是衍生物。__call__apply它們自身首 先就是要定義的所謂“函數對象”。Python和Scala實際上是綁架了函數,把它們監禁在“對象”里,然后打上“__call__” 和 “apply” 標簽,把它們稱作“方法”。當然,如果你把一個函數封裝到對象里,你可以像使用一個函數那樣使用對象,但這并不意味著你可以說”函數也是對象“

大 多數的面向對象語言里都缺乏正確的實現一等(first-class)函數的機制。Java語言是一個極致,它完全不允許將函數當作數據來傳遞。你可以將 全部的函數都封裝進對象,然后稱它們為“方法”,但就像我說的,這是綁架。缺乏一等函數是為什么Java里需要這么多“設計模式”的主要原因。一旦有了一 等函數,你將不再需要大部分的這些設計模式。

函數式編程的問題

相似的,函數式編程走向極端、成為一種純函數式編程語言后,也是有問題的。為了討論這個問題,我們最好先理解一下什么是純函數式編程語言。出于這個目的,你可能需要閱讀一下Amr Sabry先生(他是我的博士導師)的What is a Purely Functional Language。概述一下就是,純函數式編程語言是錯誤的,因為

  有些東西不是純的。副作用是真實存在的。

所謂純函數,基本上就是忽略了物質基礎(硅片、晶體等)表現的特性。純函數式的編程語言試圖通過函數——在函數中傳入傳出整個宇宙——來重新實現整個宇宙。但物理的模擬的是 有區別的。“副作用”是物理的。它們真實的存在于自然界中,對計算機的效用的實現起著不可或缺的作用。利用純函數來模擬它們是注定低效的、復雜的、甚至是 丑陋的。你是否發現,在C語言里實現一個環形數據結構或隨機數發生器是多么的簡單?但使用Haskell語言就不是這樣了。

還有,純函數編程語言會帶來巨大的認知成本。如果你深入觀察它們,你會看到monads使程序變得復雜,難于編寫,而且monad的變體都是拙劣的修改。monads跟Java的“設計模式”具有相同的精神本質。使用monad來 表現副作用就像是visitor模式來寫解釋器。你是否發現,在很多其它語言里很簡單的事情,放到Haskell語言就變成了一個課題來研究如何實現?你 是否經常會看到一些有著諸如“用Monadic的方式解決一個已經解決的問題”這樣標題的論文?有趣的是,Amr Sabry先生一起合著了這樣一篇論文。他試圖用Haskell語言重新實現Dan Friedman的miniKanren,但他不知道如何構造這些monads。 他向Oleg Kiselyov——公認的世界上對Haskell類型系統知識最淵博的人——求教。而且你可能不知道,Amr Sabry先生應該是世界上對純函數編程語言知識最淵博的人了。他們在 Oleg 的幫助下解決了疑難后一起合著了這篇論文。諷刺的是,Dan Friedman——這個程序的原作者——在使用Scheme語言開發時卻沒有遇到任何問題。我在Dan的代碼基礎上重新實現了miniKanren,增 加了一個復雜的負操作。為了實現這個,我需要使用約束式邏輯編程和其它一些高級的技巧。鑒于用Haskell語言重寫基本的miniKanren將兩位世界級程序員都難倒了的事實,我不敢想象如果用Haskell的monads如何能實現這些。

有些人認為monads的價值在于,它們“圈定”了副作用的范圍。但如果monads不能真正的使程序變得易于分析或更安全,這種“圈定”有什么用呢?事實上就是沒用處。本身就跟副作用一樣難于分析理解。沒有一種東西可以說monads能使其簡單而靜態分析辦不到的。所有的靜態分析研究者都知道這點。靜態分析利用了monads的本質,但卻去除了程序員編寫monads代碼的負擔——而不是增加負擔。當然,過度的副作用會使程序很難分析,但你也可以使用C語言寫出純函數,例如:

  1. int f(int x) { 
  2.     int y = 0
  3.     int z = 0
  4.     y = 2 * x; 
  5.     z = y + 1; 
  6.     return z / 3; 
  7. }   

你用匯編語言也能做到這些。純函數并不專屬于純函數式編程語言。你可以用任何語言寫出純函數,但重要的是,你必須也應該允許副作用的存在。

回 首歷史,你會發現,數學上的理想主義是純函數編程語言的背后推動力。數學函數簡單漂亮,但不幸的是,它們只是在你構建原始純粹的模型時才好用。否者它們會 變得很丑陋。不要被“范疇論”等標語嚇倒。我對范疇論了解很多。即使是范疇理論學家自己也稱其為“抽象無意義”,因為它們基本上就是用一種怪誕的方式告訴 你一些你已經知道的事情!如果你讀過Gottlob Frege的文章Function and concept,你會吃驚的發現,在他的這篇論文前的大多數數學家都錯誤的理解了函數,而這僅僅是剛剛100多年前的事。事實上,數學語言上的很多事情都是有問題的。特別是微積分方面。編程語言的設計者們沒有理由要盲目的學習數學界。

不要盲目的愛上你的模型

無 論任何事情,當走向極端時都是有害的。極端化時,面向對象編程和函數式編程都試圖把整個世界裝入它們的特有模型中,但這個世界是在完全不依賴我們的大腦思 考的情況下運轉的。如果以為你有一個錘子,就把所有東西都當成釘子,這明顯是不對的。只有通過認清我們的真實世界,才能擺脫信仰對我們的束縛。

  不要讓世界適應你的模型。讓你的模型適應世界。

原文鏈接:https://yinwang0.wordpress.com/2013/11/09/oop-fp/

譯文鏈接:http://www.aqee.net/whats-wrong-with-oop-and-fp/

責任編輯:陳四芳 來源: 外刊IT評論
相關推薦

2009-07-08 16:10:24

Scala簡介面向對象函數式

2020-10-26 12:27:18

對象編程函數式

2010-11-17 11:31:22

Scala基礎面向對象Scala

2010-03-11 10:34:22

Scala

2017-04-21 09:07:39

JavaScript對象編程

2012-01-17 09:34:52

JavaScript

2013-07-09 09:43:04

函數式思維函數式編程編程

2012-05-24 10:29:54

編程程序員

2009-11-06 10:48:14

函數式編程Scala

2023-09-27 23:28:28

Python編程

2011-05-25 11:15:02

Javascript繼承

2012-12-13 11:01:42

IBMdW

2012-02-27 09:30:22

JavaScript

2022-09-02 14:46:45

區塊鏈編程語言開發

2009-06-16 17:09:17

Scala面向對象函數編程

2024-10-29 09:53:08

2022-07-30 23:41:53

面向過程面向對象面向協議編程

2023-05-04 07:44:13

編程界小語言Java

2013-09-09 09:41:34

2012-03-21 09:30:11

ibmdw
點贊
收藏

51CTO技術棧公眾號

男人天堂手机在线视频| 91精品久久久久久久久不口人| 人妻激情偷乱频一区二区三区| 涩涩涩在线视频| 中文字幕免费不卡| 国产91aaa| 中文永久免费观看| 黄色日韩精品| 最近2019中文免费高清视频观看www99 | 国产欧美日韩在线播放| 婷婷激情五月综合| 极品日韩av| 在线精品国产欧美| 黄色免费看视频| av日韩久久| 懂色av影视一区二区三区| 一区二区三区免费看| 天堂中文字幕av| 精品伊人久久久久7777人| 性色av一区二区三区红粉影视| 亚欧精品视频一区二区三区| 美国一区二区| 日韩片之四级片| 中文字幕网av| 性爽视频在线| 亚洲国产精品一区二区尤物区| 亚洲欧美久久234| 亚洲日本国产精品| 国产成a人亚洲| 国产日韩av在线播放| 国产三级av片| 欧美三区视频| 欧美xxxx18国产| 潮喷失禁大喷水aⅴ无码| 国产99久久| 亚洲国产精品小视频| 性xxxxxxxxx| 国产精品亚洲一区二区在线观看 | 男人的天堂a在线| 国产一区二区在线观看视频| 国产精品免费久久久久影院| 在线视频一区二区三区四区| 日韩一区二区久久| 欧美大片在线看免费观看| 91香蕉视频在线播放| 水蜜桃精品av一区二区| 在线精品高清中文字幕| 黄色av免费播放| 不卡日本视频| 中文字幕视频在线免费欧美日韩综合在线看 | 国产免费一区二区三区在线观看| 亚洲国产精品无码久久久| 麻豆成人在线| 国产成人小视频在线观看| 亚洲自拍一区在线观看| 日日骚欧美日韩| 国产精品激情自拍| 中文字幕久久熟女蜜桃| 久久99精品国产麻豆婷婷洗澡| 国产精品视频男人的天堂| 中文字幕人妻一区二区在线视频| 麻豆精品一二三| 成人免费视频网址| 国产成人精品亚洲精品色欲| 国产传媒日韩欧美成人| 国产精品区一区二区三含羞草| 日韩一级片免费在线观看| 91网址在线看| 日韩福利影院| 国产激情在线观看| 玉米视频成人免费看| 国产免费黄色一级片| 中文一区一区三区高中清不卡免费| 高潮白浆女日韩av免费看| 国产视频一区二区三区在线播放| 久久天天久久| 精品久久国产字幕高潮| 波多野结衣av在线免费观看| 欧洲美女日日| 色综合老司机第九色激情 | 国产亚洲一级| 国产精品吊钟奶在线| 国产男女猛烈无遮挡| 成人综合在线观看| 日韩欧美一区二区三区久久婷婷| 日本高清中文字幕在线| 亚洲一级二级在线| 91淫黄看大片| 97久久综合区小说区图片区| 国产婷婷97碰碰久久人人蜜臀 | 91日本在线视频| 色婷婷在线视频| 国产精品午夜久久| 青青在线免费观看| 国精品产品一区| 亚洲福利视频在线| 91导航在线观看| 亚洲精品系列| 国产精品午夜视频| 无码精品一区二区三区在线| 中文字幕在线视频一区| 丰满的少妇愉情hd高清果冻传媒| 亚洲综合av一区二区三区| 日韩亚洲欧美综合| 亚洲午夜久久久久久久国产| 红桃视频国产一区| 国产精品永久在线| 天堂а√在线8种子蜜桃视频| 18涩涩午夜精品.www| 97超碰青青草| 中文字幕日韩在线| 色偷偷91综合久久噜噜| 91在线视频在线观看| 国产高清精品久久久久| 五月天亚洲综合情| 在线视频cao| 精品国产髙清在线看国产毛片| 女人黄色一级片| 久久av最新网址| 豆国产97在线| 1区2区在线观看| 欧美日高清视频| 黄色片在线观看免费| 亚洲欧美清纯在线制服| 99精品国产高清一区二区| 在线播放麻豆| 一本大道av一区二区在线播放| 99热超碰在线| 欧美日韩亚洲一区三区| 91视频国产精品| 丝袜美腿美女被狂躁在线观看| 日本黄色一区二区| 成年人网站免费看| 一本久道久久久| 国产精品夜夜夜一区二区三区尤| 97超碰在线公开在线看免费| 欧美丰满高潮xxxx喷水动漫| 丁香六月激情综合| 美女网站视频久久| 亚洲免费视频一区| 日韩久久一区| 精品国产欧美一区二区五十路| 中文字幕久久网| 国产精品福利av| 亚洲精品永久视频| 希岛爱理av一区二区三区| 成人国产在线激情| 91亚洲天堂| 精品区一区二区| 日韩人妻无码一区二区三区99| youjizz久久| 日韩精品视频一区二区在线观看| 日韩有码中文字幕在线| 日本精品视频在线播放| 成人欧美亚洲| 欧美精品99久久久**| 永久看片925tv| 国产成人精品网址| 浮妇高潮喷白浆视频| 欧美欧美黄在线二区| 国产精品欧美日韩久久| 欧美jizzhd欧美| 欧美一区二区三区日韩视频| 精品爆乳一区二区三区无码av| 成人久久18免费网站麻豆| 2018国产在线| 国产亚洲一区| 国产综合色香蕉精品| 免费污视频在线| 亚洲毛片一区二区| 亚洲视频久久久| 一区二区三区在线看| 在线观看av中文字幕| 日韩高清不卡一区| 黄黄视频在线观看| 蜜臀av一区| 国产日韩在线播放| av中文在线资源库| 日韩精品中文在线观看| 国产精品久久久久毛片| 精品日本高清在线播放| 久久久国产一级片| 成人激情av网| 欧美伦理片在线观看| 亚洲国产高清一区二区三区| 日本成人三级| 在线精品视频一区| 国产精品成人一区二区| 香蕉成人app免费看片| 亚洲男人天堂古典| 国产极品久久久| 色综合欧美在线视频区| 伊人在线视频观看| 久久精品视频在线免费观看 | 99精品国产99久久久久久白柏| 中文久久久久久| 亚洲第一毛片| 黄色www在线观看| 亚洲素人在线| 成人h视频在线观看| 日韩av首页| 午夜精品一区二区三区视频免费看| 2021av在线| 日韩av网址在线观看| 国产欧美一级片| 欧美专区日韩专区| 日韩av一区二区在线播放| 亚洲欧洲精品一区二区精品久久久| 制服丝袜av在线| 国产一区三区三区| 中文字幕视频在线免费观看| 精品三区视频| 久久精品中文字幕免费mv| 天堂v视频永久在线播放| 日韩一二三区视频| 伊人久久一区二区| 日韩欧美国产黄色| 18精品爽视频在线观看| 中文字幕一区二区三区不卡| 久久精品国产亚洲av麻豆| 粉嫩一区二区三区在线看| 岛国av在线免费| 丝瓜av网站精品一区二区| 九色自拍视频在线观看| 欧美日韩一区二区国产| 国产精品99久久久久久大便| 欧美精品一区二区三区精品| 国内精品二区| 99久久免费精品国产72精品九九| 91最新在线免费观看| 青青在线精品| 国产免费一区二区三区在线观看| 婷婷六月国产精品久久不卡| 57pao国产精品一区| 黄色影院在线看| 欧美激情亚洲激情| 欧美草逼视频| 欧美激情中文网| 金瓶狂野欧美性猛交xxxx| 欧美成人全部免费| 香蕉久久aⅴ一区二区三区| 欧美另类99xxxxx| 制服丝袜中文字幕在线| 欧美精品手机在线| 日本在线观看高清完整版| 欧美高清不卡在线| 牛牛精品视频在线| 97在线免费视频| 英国三级经典在线观看| 欧美在线性爱视频 | www.av导航| 欧美成人福利视频| 欧美一级性视频| 日韩av在线最新| 邻居大乳一区二区三区| 一区二区三区亚洲| 在线国产情侣| 久热99视频在线观看| 色噜噜狠狠狠综合欧洲色8| 欧美激情乱人伦一区| 爱草tv视频在线观看992| 欧美与欧洲交xxxx免费观看| 桃色一区二区| 成人av在线天堂| www.国产精品一区| 欧美二区在线| 日韩专区精品| 神马午夜伦理影院| av成人激情| 国产精品人人爽人人爽| 久久99精品国产.久久久久| 美女流白浆视频| 久久综合给合久久狠狠狠97色69| 五月天精品在线| 一区二区三区在线播放| 特一级黄色大片| 欧美日韩精品一区二区天天拍小说 | 欧美日本一区二区| www国产一区| 亚洲毛片一区二区| 成人免费在线| 欧美一级免费看| 91成人app| 精品一区二区三区日本| 日韩在线不卡| 热99这里只有精品| 青青草原综合久久大伊人精品优势| 国产精欧美一区二区三区白种人| 成人免费va视频| 欧美xxxx精品| 欧美日韩国产专区| 国产裸体永久免费无遮挡| 亚洲精品www久久久| 麻豆视频在线观看免费网站| 97视频色精品| 亚洲精品tv| 欧美视频1区| 黄色亚洲免费| 日本精品一区在线| 久久精品亚洲精品国产欧美kt∨| 中文字幕在线观看成人| 欧美在线观看视频一区二区三区| 精品国产av一区二区三区| 亚洲视频在线免费观看| 国产蜜臀av在线播放| 国产在线视频91| 久久av超碰| 无码人妻少妇伦在线电影| 极品尤物av久久免费看| xxx在线播放| 午夜激情一区二区三区| 国产乱人乱偷精品视频a人人澡| 亚洲女人天堂色在线7777| 后进极品白嫩翘臀在线播放| 国产日本欧美一区| 精品久久一区| 国产av无码专区亚洲精品| 国产91丝袜在线18| 国产午夜手机精彩视频| 欧美私模裸体表演在线观看| 男女av在线| 欧美一级bbbbb性bbbb喷潮片| 91综合久久爱com| 国产免费xxx| 紧缚捆绑精品一区二区| 黄色一级片一级片| 欧美色涩在线第一页| 免费一级在线观看播放网址| 91av在线免费观看| 精品人人人人| 青青青国产在线观看| a美女胸又www黄视频久久| 久久久精品99| 精品免费日韩av| hd国产人妖ts另类视频| 懂色中文一区二区三区在线视频| 欧美特黄一区| 免费看黄色片的网站| 亚洲无人区一区| 蜜臀久久99精品久久久| 97精品免费视频| 精品久久对白| www.com毛片| 久久久久国产成人精品亚洲午夜| 国产伦精品一区二区三区视频我| 亚洲男人天堂网站| www成人在线视频| 先锋影音网一区| 精品中文字幕一区二区小辣椒| 天堂а√在线中文在线鲁大师| 欧美日韩久久一区二区| www在线观看播放免费视频日本| 亚洲在线免费视频| 极品av少妇一区二区| 欧美bbbbb性bbbbb视频| 在线观看视频91| 日本在线观看www| 999视频在线观看| 精品成人在线| 精品成人av一区二区三区| 欧美在线免费播放| 好操啊在线观看免费视频| 99三级在线| 亚洲一区欧美二区| 国产三级短视频| 日韩欧美国产一区二区在线播放| 丁香高清在线观看完整电影视频| 久久天堂国产精品| 麻豆成人在线观看| 免费视频网站www| 亚洲女人初尝黑人巨大| 日韩福利影视| 亚洲熟妇无码一区二区三区| 久久久久久**毛片大全| 国产精品久久久久久久久毛片 | 亚洲午夜三级在线| 日本国产在线| 成人做爽爽免费视频| 在线日韩视频| 国产极品视频在线观看| 欧美成人性福生活免费看| 不卡av播放| 欧美少妇在线观看| 久久久影院官网| av av片在线看| 欧洲亚洲免费视频| 女人天堂亚洲aⅴ在线观看| 中文字幕av网址| 欧美一区二区精品在线| 亚洲精品88| 黄色特一级视频| 国产日韩一级二级三级| 亚洲精品久久久久久久久久| 国产精品色婷婷视频| 亚洲精品欧洲| www欧美com| 一区二区三区久久精品| 在线日韩成人| 一级黄色片国产| 色哟哟精品一区|