精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产免费成人在线| 蜜桃传媒视频麻豆一区 | www.五月婷婷.com| 91亚洲一区| 亚洲精品久久久久久久久久久久久 | 欧美日韩国产欧| 国产视频一区在线| 三级黄色片免费看| 欧美7777| 亚洲一区二区三区在线看| 欧美一区少妇| 黑人操亚洲女人| 免费不卡在线视频| 91国在线精品国内播放| 视频这里只有精品| 精品久久成人| 日韩国产欧美精品在线| 婷婷激情综合五月天| 成人性生活av| 亚洲不卡在线观看| 蜜臀av.com| 成年人视频在线免费观看| 国产aⅴ综合色| 成人美女av在线直播| 中文字幕在线欧美| 亚洲看片一区| 久久成人精品电影| 欧美波霸videosex极品| 欧美自拍一区| 亚洲国产精品va在看黑人| 999热精品视频| 久久日本片精品aaaaa国产| 五月天一区二区三区| 欧美 日韩 国产精品| 黄色成人影院| 国产精品久久久久久久久图文区| 久久久久久久久久久久久9999| 亚洲AV无码国产精品午夜字幕| 久久99精品久久久久婷婷| 国产精品 欧美在线| 在线观看国产亚洲| 最新国产拍偷乱拍精品| 欧美极品少妇xxxxⅹ免费视频| 欧美另类videoxo高潮| 欧美mv日韩| 中文字幕v亚洲ⅴv天堂| 免费福利视频网站| 波多野结衣在线播放一区| 亚洲欧洲午夜一线一品| 黄瓜视频污在线观看| 国产一区二区视频在线看| 欧美精品一二三| 手机在线国产视频| gogo大尺度成人免费视频| 欧美精品久久99| caoporm在线视频| 日本99精品| 欧美成人欧美edvon| 91人人澡人人爽| 国产精品17p| 日韩精品中文字幕有码专区| 香蕉视频黄色在线观看| 欧美美乳视频| 日韩在线中文字| 麻豆天美蜜桃91| 欧美午夜一区| 欧美一级黄色网| 中文字幕天堂在线| 国产一区二区久久| 国产精品日韩欧美一区二区三区| 天堂在线观看视频| 国产欧美综合色| 中国成人在线视频| 黑人另类精品××××性爽| 亚洲成人av一区二区三区| 黄在线观看网站| 91国内外精品自在线播放| 3d动漫精品啪啪一区二区竹菊| 男人女人拔萝卜视频| 国产精品对白久久久久粗| 亚洲欧美在线一区| 色哟哟一一国产精品| 国产一区欧美| 国产精品福利无圣光在线一区| 亚洲自拍第二页| 成人丝袜视频网| 欧美国产一区二区在线| 麻豆91在线| 午夜精品久久久久久久蜜桃app| 不卡av免费在线| 日本一区影院| 亚洲视频在线观看免费| 清纯粉嫩极品夜夜嗨av| 日韩高清一级片| 国产精品二区三区| 午夜伦理在线| 婷婷成人激情在线网| gogogo高清免费观看在线视频| 成人看片黄a免费看视频| 永久555www成人免费| 国产性70yerg老太| 久久精品国产亚洲a| 国内精品久久久久久久果冻传媒| 性开放的欧美大片| 欧美性高潮在线| 善良的小姨在线| 欧洲杯什么时候开赛| 久久久亚洲天堂| 国产精品国产三级国产普通话对白| www.亚洲人| www.99riav| 国产三级一区| 亚洲精品视频免费| 在线观看成人毛片| 麻豆国产精品视频| 欧美日韩在线高清| 成人观看网址| 欧美xfplay| 91n在线视频| 成人免费毛片播放| 高清一区二区| 亚洲一级一级97网| 精品在线播放视频| 国产成人一区在线| 久久av秘一区二区三区| 精品国模一区二区三区| 亚洲精品98久久久久久中文字幕| 91在线播放观看| 六月婷婷色综合| 亚洲va韩国va欧美va精四季| 国产高清中文字幕在线| 日韩亚洲欧美一区| 99久久婷婷国产综合| 奇米色一区二区| 日本一区二区不卡高清更新| 香蕉伊大人中文在线观看| 精品日韩一区二区三区| 激情小说中文字幕| 国产一区二区精品在线观看| 99热一区二区三区| 日日夜夜亚洲精品| www.久久久久久.com| 中文字幕在线观看1| 日本一区二区在线不卡| 五月婷婷狠狠操| 欧美美女视频| 国产精品午夜一区二区欲梦| 成人免费在线电影| 欧美日韩一区三区四区| 中文字幕第69页| 另类人妖一区二区av| 亚洲成年人专区| 国内不卡的一区二区三区中文字幕| 日韩中文娱乐网| 国产乱码久久久| 亚洲精品亚洲人成人网| 精品国产一二区| 亚洲毛片网站| 欧美13一14另类| 成人高清一区| 永久免费毛片在线播放不卡| 亚洲天堂aaa| 亚洲美女免费在线| 99精品视频国产| 国户精品久久久久久久久久久不卡| www.成人av.com| 日韩伦理精品| 中文字幕亚洲欧美日韩在线不卡 | 欧美色图12p| 少妇被躁爽到高潮无码文| 成人网男人的天堂| 欧美日韩一区二区在线免费观看| re久久精品视频| 97netav| 日本在线啊啊| 日韩一区二区三区xxxx| jizz中国女人| 色综合久久久网| 日本高清不卡免费| www.亚洲色图.com| 91亚洲免费视频| 亚洲婷婷在线| 色综合久久av| 成人线上播放| 国产精品丝袜白浆摸在线| 免费不卡av| 中文字幕亚洲无线码a| 亚洲黄色小说网址| 在线视频欧美区| 久久精品www| 国产日韩av一区二区| 香蕉视频1024| 蜜桃精品在线观看| 日本福利视频一区| 91亚洲国产成人久久精品| 国产伦精品一区二区三区免| 天然素人一区二区视频| 欧美高清视频在线| 2017亚洲天堂1024| 日韩电影中文字幕一区| 国产精品综合在线| 色噜噜夜夜夜综合网| 久久久久久福利| 国产欧美日韩精品a在线观看| 日本少妇xxxx软件| 麻豆精品一区二区| 欧美日韩在线不卡视频| 欧美精品导航| 亚洲最新在线| 欧美日韩在线观看视频小说| 国产精品夜夜夜一区二区三区尤| 国产精品无码久久久久| 日本一区二区在线免费播放| 欧美性爽视频| 久久久精品国产一区二区| 精品欧美不卡一区二区在线观看| 精品国产伦一区二区三区观看方式 | 九九热只有精品| 国产精品欧美一区二区三区| 亚洲天堂网一区二区| 国产成a人无v码亚洲福利| 最新天堂中文在线| 日本亚洲最大的色成网站www| www.av中文字幕| 精品99视频| www.99riav| 欧美一区网站| 午夜久久久久久久久久久| 日本欧美视频| 亚洲.欧美.日本.国产综合在线| 国产亚洲一区二区三区啪| 久久另类ts人妖一区二区| 国产精品网址| 久久66热这里只有精品| 红杏成人性视频免费看| 国产精品对白刺激久久久| 日韩一区二区三区高清在线观看| 亚洲综合色av| 日韩一二三区| 成人免费视频视频在| julia中文字幕一区二区99在线| 97人人模人人爽人人喊38tv| 精品国产一区二区三区2021| 亚洲一区二区中文| 亚洲国产欧美在线观看| 亚洲影院色无极综合| 欧美激情三级| 高清av免费一区中文字幕| 99a精品视频在线观看| 国产精品播放| 牲欧美videos精品| 欧洲久久久久久| 欧美国产美女| 成年人视频大全| 1024成人| 国产激情在线观看视频| 秋霞国产午夜精品免费视频| 亚洲午夜激情影院| 国产精品一区免费在线观看| 国产乱淫av麻豆国产免费| 91在线免费视频观看| 国产精品高清无码在线观看| 国产精品久久夜| 成年人av电影| 欧美日韩亚洲成人| 久久这里只有精品9| 666欧美在线视频| 成人午夜视频一区二区播放| 国产丝袜高跟一区| 欧美一区二区三区| 欧美高清视频一区二区| 亚洲一区资源| 亚洲www视频| 牛牛视频精品一区二区不卡| 日韩在线导航| 午夜激情一区| 国产91对白刺激露脸在线观看| 日韩精品福利网| 亚洲三级在线视频| 久久亚洲私人国产精品va媚药| 久久久精品成人| 亚洲一区电影777| 精品久久久久久久久久久国产字幕 | 久久99亚洲热视| 亚洲女同志freevdieo| 91久久在线播放| 免费看成人哺乳视频网站| 天堂av免费看| 日欧美一区二区| 亚洲美女精品视频| 国产亚洲视频系列| 精品少妇久久久| 欧美色大人视频| 天天色综合久久| 超碰97人人做人人爱少妇| 日韩性xxx| 国产精品视频入口| 999国产精品永久免费视频app| 免费看一级大黄情大片| 国产综合成人久久大片91| av网站免费在线播放| 亚洲欧美一区二区三区极速播放| 国产第一页在线观看| 精品国产乱码久久久久久牛牛| h网站视频在线观看| 97国产精品视频人人做人人爱| 99久久99九九99九九九| 日韩精品久久一区二区三区| 影音先锋在线一区| 福利视频999| 中文字幕欧美国产| 久久夜色精品国产噜噜亚洲av| 日韩三级.com| 久草中文在线观看| 国产精品久久久久久超碰| 久久久久久毛片免费看 | 情侣偷拍对白清晰饥渴难耐| 欧美性xxxx极品高清hd直播| 少妇人妻精品一区二区三区| 欧美精品在线免费观看| 日韩久久99| 亚洲春色在线视频| 日韩国产欧美在线播放| 成年人网站免费在线观看| 亚洲h动漫在线| 亚洲第一免费视频| 欧美日本黄视频| 久久久久久亚洲精品美女 | 在线国产日韩| 国内精品国产三级国产aⅴ久| 亚洲三级理论片| 一级黄色片免费| 日韩中文在线中文网三级| www.一区| 中文字幕人成一区| 国内成人免费视频| 日本中文在线视频| 7799精品视频| 在线视频观看国产| 91丨九色丨国产| 欧美xxx在线观看| 日本一区二区免费视频| 性感美女久久精品| 欧美一区二区三区黄片| 97精品欧美一区二区三区| 日本天堂一区| 成人精品小视频| 国产精品视频线看| 国产伦精品一区二区三区视频痴汉| 俺去亚洲欧洲欧美日韩| 亚洲人体在线| 韩国无码av片在线观看网站| 国产宾馆实践打屁股91| 国产无码精品久久久| 亚洲精品一区二区三区不| 欧美日韩精品免费观看视完整| 日韩电影免费观看高清完整| 美女一区二区三区在线观看| 人人澡人人澡人人看| 欧美tk丨vk视频| 中文字幕 在线观看| 午夜免费电影一区在线观看| 国内久久婷婷综合| 国产性一乱一性一伧一色| 亚洲欧美一区二区精品久久久| 国产精品高清乱码在线观看| 免费成人深夜夜行网站视频| 国产99久久久国产精品| 国产高潮久久久| 中文字幕视频在线免费欧美日韩综合在线看 | 51精品视频| 亚洲成色www久久网站| 国产激情精品久久久第一区二区 | 欧美精品aⅴ在线视频| 蜜臀av在线| 日本一区二区高清视频| 国产尤物一区二区在线| 国产污视频在线看| 日韩在线视频中文字幕| 97视频一区| 日本xxxx黄色| 亚洲.国产.中文慕字在线| 国产大片在线免费观看| 51国偷自产一区二区三区的来源| 亚洲欧洲另类| 任你操精品视频| 亚洲激情在线视频| 国产成人免费av一区二区午夜 | 久久99精品波多结衣一区| 怡红院精品视频| 精品日产乱码久久久久久仙踪林| 9久久婷婷国产综合精品性色 | 中文字幕在线观看国产| 久久久久久香蕉网| 久久人体视频| 久久久精品人妻无码专区| 日韩一级片在线观看| 成人看片网站| 日韩免费视频播放| 亚洲欧美日韩国产成人精品影院|