自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

面向?qū)ο蟛皇怯?jì)算機(jī)編程的基本原子

開發(fā) 項(xiàng)目管理
本文并不是說面向?qū)ο蟛缓?,或含有什么缺陷。而是面向?qū)ο蟛皇怯?jì)算機(jī)編程的基本原子,它們不是人們想象的天生就存在的。

[[59961]]

在過去的25年里,編程世界發(fā)生了巨大的變化,如今,我們有大量的有用的、靈活的數(shù)據(jù)類型可以使用,但在25年前,你需要花大量的額外時(shí)間自己去構(gòu)造這些類型。

C和Pascal語言——當(dāng)時(shí)的標(biāo)準(zhǔn)語言——提供了少量的面向機(jī)器的數(shù)據(jù)類型:數(shù)字,指針,數(shù)組,形式上的字符串,以及把多種數(shù)據(jù)組合到一起的結(jié)構(gòu)體或record。重要的是,以這些基本的類型為基石,我們可以構(gòu)造出更多有趣的類型,例如棧,樹,鏈接表,哈希表,可變數(shù)組等。

在Perl或Python,或Erlang語言里,我不需要考慮這些東西。我在使用list、string或array時(shí),根本不關(guān)心它們能容納多少元素,或放在內(nèi)存的什么地方。最常使用的還有字典,同樣,根本不擔(dān)心它的容量或哈希沖突是如何避免的細(xì)節(jié)內(nèi)容。

除此外,我仍然需要一些新的數(shù)據(jù)類型,但它們更多的是現(xiàn)有類型的一種變換,而不是重新構(gòu)造。任意維度的vector實(shí)際就是array。一個(gè)RGB 顏色值實(shí)際上一個(gè)3元tuple。一個(gè)多項(xiàng)式既可以是一個(gè)tuple,也可以說list。我驚奇于這些 array,tuple,list,dictionary等數(shù)據(jù)類型大大的消除了我在大學(xué)課程里學(xué)到的那些基本數(shù)據(jù)類型上的不便。在實(shí)現(xiàn)一個(gè)平衡二叉樹時(shí),你的注意力放在如何讓二叉樹平衡,而不是痛苦的糾結(jié)于亂如麻的指針操作。

將已有的小方塊搭建成一個(gè)新的建筑,這將會(huì)引起比小方塊出現(xiàn)帶來的更大的變化。這些小方塊是如何出現(xiàn)的已經(jīng)不是人們關(guān)心的重點(diǎn)。在很多的編程課程和教材中,本來很好的教學(xué)中突然出現(xiàn)了一批新詞匯:對(duì)象,構(gòu)造器,抽象基礎(chǔ)類,以及私有方法。于是,下一次作業(yè)中,用簡(jiǎn)單的三元tuple來表達(dá)的RGB顏色值變成了由一個(gè)具有g(shù)et、set方法,多高構(gòu)造器的類來代替,更要命的,出現(xiàn)了大量的代碼。

這就是為什么有人會(huì)不停的呼吁、解釋為什么面向?qū)ο蟛皇莻€(gè)好東西、會(huì)使編程失去樂趣的原因。但很少奏效。

并不是面向?qū)ο蟛缓茫蚝惺裁慈毕?。而是面向?qū)ο蟛皇怯?jì)算機(jī)編程的基本原子,它們不是人們想象的天生就存在的。不設(shè)門檻的任意使用面向?qū)ο髞斫鉀Q問題會(huì)讓代碼變得臃腫和過度技術(shù)化,然而,很多人還是堅(jiān)持鍥而不舍的用對(duì)象來解決所有問題。這非常糟糕,因?yàn)檫@樣做讓人們辨不清面向?qū)ο箫L(fēng)格的做法是否真的產(chǎn)生了使問題簡(jiǎn)化并易于理解的效果。

原文鏈接:http://www.aqee.net/oop-isnt-a-fundamental-particle-of-computing/

責(zé)任編輯:林師授 來源: IT外刊評(píng)論
相關(guān)推薦

2021-03-07 00:47:37

開發(fā)編程科學(xué)

2021-01-15 11:37:28

面向?qū)ο缶幊?/a>計(jì)算機(jī)科學(xué)OOP

2022-08-16 07:57:30

架構(gòu)

2023-10-11 18:30:39

Web系統(tǒng)程序

2019-09-18 18:56:34

JavascriptOOP前端

2021-06-16 11:13:49

曙光

2019-09-10 12:58:03

電腦編程語言硬件

2010-07-21 16:10:25

計(jì)算機(jī)

2015-11-05 10:04:41

2020-11-11 11:00:58

計(jì)算機(jī)程序員編程

2011-10-17 09:50:38

編程

2009-05-22 10:43:44

2017-04-21 09:07:39

JavaScript對(duì)象編程

2012-01-17 09:34:52

JavaScript

2010-03-17 13:35:02

2021-03-12 18:26:27

云計(jì)算邊緣計(jì)算硬件

2023-11-06 01:10:47

2010-11-17 11:31:22

Scala基礎(chǔ)面向?qū)ο?/a>Scala

2018-01-15 14:20:57

編程語言學(xué)習(xí)方法

2015-06-17 14:06:50

編程語言計(jì)算機(jī)編程語言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)