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

編程語言不是工具

開發 開發工具 后端
但在編程工作中,人們對這個概念有個誤解,我認為需要在這里指出一下。但請記住,對這個誤解的詮釋并不是來否定這個思想的。

[[70192]]

讓我以一個免責聲明來開始這篇文章:我絕對的認可懂得多種編程語言的價值,也認為“用正確的工具干活兒”是個好思想。但在編程工作中,人們對這個概念有個誤解,我認為需要在這里指出一下。但請記住,對這個誤解的詮釋并不是來否定這個思想的。

多語言電影

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

多語言編程

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

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

編程語言不是工具

[[70193]]

如果我們在一個簡單或復雜傳統工程中使用一個工具,就比如用錘子把木片釘成櫥柜,或用起子拆解計算機,當你完成了這個“活兒”后,工具會被你丟在一旁。你的最終產品(一個新的木櫥柜或一堆電路板)并不包括工具。大多時候,當你的活兒干完后,你的產品上不會再有“變更請求”。

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

編程語言是產品材料

因為源代碼依附于它的編程語言,它們是一個概念上的合體。所以,我建議,當我們在談論編程語言時,應該改成“使用正確的材料來干活兒”的說法。相比起選擇是使用飛利浦的螺絲刀還是三菱的改錐這樣的問題,我們修改后的說法會對編程語言的選擇起到更深遠的意義。材料需要持久的耐用,而工具大部分時間是丟在一邊。

但它們也是工具

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

總結

“用正確的工具干活兒”這話并不能簡單的應用到編程語言上,因為它們不是工具,而是材料。這就是為什么在一個項目中大量使用多語言是危險的。它很容易讓項目變成一個混亂的“復合板“項目。

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

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

責任編輯:林師授 來源: 外刊IT評論
相關推薦

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

編程語言Rust開發

2019-07-25 09:15:07

編程語言GoJava

2014-12-08 09:47:48

Go

2022-01-29 00:08:30

程序員編程語言Java

2020-04-26 12:08:10

Python編程語言開發

2021-12-23 23:11:37

C語言編程工具

2009-12-07 16:12:32

中文Python中文編程

2013-03-12 13:52:56

編程

2022-04-01 14:52:17

華為編程語言

2022-08-12 08:00:00

編碼語言開發工具

2019-06-28 08:56:35

編程語言框架工具

2010-03-19 09:39:17

Python編程語言

2018-08-22 10:27:35

編程人工智能機器人

2016-02-26 14:49:24

AJAXWEB應用技術

2018-12-05 15:15:37

編程語言編碼資源工具

2019-02-27 08:00:00

機器學習編程語言框架
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美国产精品久久 | 亚洲一二三区精品 | 亚洲天堂中文字幕 | 曰韩一二三区 | 欧美精品一区在线 | 欧美一区二区三区视频在线播放 | 人人九九精 | 日本不卡一区 | 免费视频一区 | 日韩伦理一区二区三区 | 孰女乱色一区二区三区 | 色网站在线免费观看 | 黄色成人在线观看 | 日韩欧美在线播放 | 亚洲精品一二区 | 毛片一区二区三区 | 久热国产精品 | 人人玩人人添人人澡欧美 | 日本成人免费观看 | 五月婷婷 六月丁香 | 国产91精品久久久久久久网曝门 | 日韩精品一区在线 | 国产精品久久久久久吹潮日韩动画 | 日韩在线视频免费观看 | 欧美日韩综合 | 一级片网址 | 国产伦精品一区二区三区高清 | 国产成人高清视频 | 国产精品亚洲欧美日韩一区在线 | 亚洲精品第一 | 国产欧美一区二区三区日本久久久 | 日韩在线一区二区三区 | 久久精品国产亚洲 | www.蜜桃av | 91精品国产综合久久婷婷香蕉 | 狠狠综合久久av一区二区小说 | 狠狠综合网 | 国产美女网站 | 精品一区二区三区在线观看国产 | 在线国产欧美 | 在线一区观看 |