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

編程語(yǔ)言不是工具

開發(fā) 開發(fā)工具 后端
但在編程工作中,人們對(duì)這個(gè)概念有個(gè)誤解,我認(rèn)為需要在這里指出一下。但請(qǐng)記住,對(duì)這個(gè)誤解的詮釋并不是來(lái)否定這個(gè)思想的。

[[70192]]

讓我以一個(gè)免責(zé)聲明來(lái)開始這篇文章:我絕對(duì)的認(rèn)可懂得多種編程語(yǔ)言的價(jià)值,也認(rèn)為“用正確的工具干活兒”是個(gè)好思想。但在編程工作中,人們對(duì)這個(gè)概念有個(gè)誤解,我認(rèn)為需要在這里指出一下。但請(qǐng)記住,對(duì)這個(gè)誤解的詮釋并不是來(lái)否定這個(gè)思想的。

多語(yǔ)言電影

讓我從一個(gè)古怪的類比開始:假設(shè)這有一個(gè)電影,是關(guān)于一個(gè)政治陰謀,涉及到一系列復(fù)雜的國(guó)際冒險(xiǎn),沖突波及到7、8個(gè)國(guó)家。每個(gè)演員都說(shuō)著他們本地的語(yǔ)言,沒有字幕。誰(shuí)能看懂這個(gè)陰謀的情節(jié)?恐怕只有少數(shù)幾個(gè)懂得多語(yǔ)言的制片人能欣賞的了這個(gè)電影。我們大部分人都不會(huì)去看它。

多語(yǔ)言編程

我們的上一個(gè)Web應(yīng)用項(xiàng)目里使用了6、7種的編程語(yǔ)言(Groovy, Java, HTML, CSS, HQL/SQL, Ant)。如果我們感覺需要的話,還可以輕松的再增加更多的語(yǔ)言。再增加Clojure, Scala 或 Ruby/JRuby 并不會(huì)覺得不合適。一個(gè)懂得多種語(yǔ)言并有能力在多種語(yǔ)言間切換到程序員就被稱作“多語(yǔ)言程序員”。

造成多語(yǔ)言項(xiàng)目產(chǎn)生的一個(gè)主要理由通常是“使用正確的工具干活兒”的概念。而這個(gè)“活兒”通常指的是一個(gè)大項(xiàng)目里的一些小任務(wù),比如編譯項(xiàng)目,訪問數(shù)據(jù)庫(kù),實(shí)現(xiàn)永不定型的業(yè)務(wù)邏輯。對(duì)于每個(gè)子任務(wù),都有某個(gè)語(yǔ)言能夠更出色的完成。除了人們對(duì)這種多語(yǔ)言的做法造成的隱藏成本存在爭(zhēng)議外,還有一個(gè)對(duì)于“工具”這個(gè)詞的誤解需要注意。

編程語(yǔ)言不是工具

[[70193]]

如果我們?cè)谝粋€(gè)簡(jiǎn)單或復(fù)雜傳統(tǒng)工程中使用一個(gè)工具,就比如用錘子把木片釘成櫥柜,或用起子拆解計(jì)算機(jī),當(dāng)你完成了這個(gè)“活兒”后,工具會(huì)被你丟在一旁。你的最終產(chǎn)品(一個(gè)新的木櫥柜或一堆電路板)并不包括工具。大多時(shí)候,當(dāng)你的活兒干完后,你的產(chǎn)品上不會(huì)再有“變更請(qǐng)求”。

如果你的工具碰巧是一種編程語(yǔ)言,那你生產(chǎn)的源代碼將和你的工具融合到一起。沒有這個(gè)工具,你的產(chǎn)品完全不能運(yùn)行。如果你認(rèn)為編譯后的二進(jìn)制代碼是“產(chǎn)品”,你將沒有可能針對(duì)它做“需求變更”,這是程序員最初可能會(huì)有的一個(gè)錯(cuò)誤概念。很顯然,程序員的生產(chǎn)的產(chǎn)品是“源代碼”。編程語(yǔ)言并不是扮演工具的角色,從軟件的性質(zhì)上看,它應(yīng)該是材料。工具可以扔掉,材料構(gòu)成主體。

編程語(yǔ)言是產(chǎn)品材料

因?yàn)樵创a依附于它的編程語(yǔ)言,它們是一個(gè)概念上的合體。所以,我建議,當(dāng)我們?cè)谡務(wù)摼幊陶Z(yǔ)言時(shí),應(yīng)該改成“使用正確的材料來(lái)干活兒”的說(shuō)法。相比起選擇是使用飛利浦的螺絲刀還是三菱的改錐這樣的問題,我們修改后的說(shuō)法會(huì)對(duì)編程語(yǔ)言的選擇起到更深遠(yuǎn)的意義。材料需要持久的耐用,而工具大部分時(shí)間是丟在一邊。

但它們也是工具

在上面提到的我們做過的Web應(yīng)用項(xiàng)目中,我們使用了很多工具。Grails是我們的框架,Jetty是我們的Web容器,Spring Framework提供了強(qiáng)大的服務(wù),我們用IDEA把它們結(jié)合到一起。我們可以輕松的用Tomcat替換Jetty,或用Eclipse替換IDEA。工具需要可替換,甚至是一次性的。

總結(jié)

“用正確的工具干活兒”這話并不能簡(jiǎn)單的應(yīng)用到編程語(yǔ)言上,因?yàn)樗鼈儾皇枪ぞ撸遣牧稀_@就是為什么在一個(gè)項(xiàng)目中大量使用多語(yǔ)言是危險(xiǎn)的。它很容易讓項(xiàng)目變成一個(gè)混亂的“復(fù)合板“項(xiàng)目。

英文原文:The fallacy of “the right tool”

譯文連接:http://www.aqee.net/the-fallacy-of-the-right-tool/

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

2023-07-18 18:10:04

2015-04-07 09:10:00

2015-04-16 09:41:01

2013-04-25 13:58:15

編程

2024-07-05 09:00:00

編程語(yǔ)言Rust開發(fā)

2019-07-25 09:15:07

編程語(yǔ)言GoJava

2014-12-08 09:47:48

Go

2022-01-29 00:08:30

程序員編程語(yǔ)言Java

2021-12-23 23:11:37

C語(yǔ)言編程工具

2020-04-26 12:08:10

Python編程語(yǔ)言開發(fā)

2009-12-07 16:12:32

中文Python中文編程

2013-03-12 13:52:56

編程

2022-04-01 14:52:17

華為編程語(yǔ)言

2019-06-28 08:56:35

編程語(yǔ)言框架工具

2022-08-12 08:00:00

編碼語(yǔ)言開發(fā)工具

2010-03-19 09:39:17

Python編程語(yǔ)言

2016-02-26 14:49:24

AJAXWEB應(yīng)用技術(shù)

2018-08-22 10:27:35

編程人工智能機(jī)器人

2012-09-28 13:23:43

編程語(yǔ)言語(yǔ)言進(jìn)化程序員

2019-02-27 08:00:00

機(jī)器學(xué)習(xí)編程語(yǔ)言框架
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 视频一区二区在线观看 | 国产精品1区 | 国产精品亚洲一区二区三区在线 | 91国内产香蕉 | 紧缚调教一区二区三区视频 | 手机看黄av免费网址 | 精品中文字幕一区二区三区 | 久久精品视频亚洲 | 日本精品视频在线观看 | www.99re5.com | 午夜久久久久久久久久一区二区 | 亚洲精品久久久久国产 | 免费a网站 | 美女日批免费视频 | 在线一区二区三区 | 亚洲国产成人精品女人久久久 | 黄色中文字幕 | 国产精品视频一区二区三区 | 日日摸日日添日日躁av | 天天躁人人躁人人躁狂躁 | 人成在线视频 | 羞羞网站免费观看 | 欧美成人黄色小说 | h视频在线观看免费 | 亚洲品质自拍视频 | 日韩在线欧美 | 日韩精品一区二区三区久久 | 国产一区www | 国产伦精品一区二区三区在线 | 91传媒在线观看 | 超碰在线亚洲 | 91麻豆精品国产91久久久久久久久 | 中文欧美日韩 | 丝袜天堂 | 成人欧美一区二区三区 | 国产成人a亚洲精品 | 九色在线视频 | 国产精品视频久久久 | 精品视频一区二区三区在线观看 | 成人在线视频网址 | 二区三区视频 |