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

在項目實踐中如何選擇編程語言

開發 項目管理
選擇使用什么樣編程語言對于一個項目來說是一個最關鍵的技術決策。因為這項決策會影響到項目框架結構和你所能夠利用上的資源,以及雇傭員工。既然如此,你是如何去選擇編程語言的呢?事實上,你很有可能采取一些大眾 ...

選擇使用什么樣編程語言對于一個項目來說是一個最關鍵的技術決策。因為這項決策會影響到項目框架結構和你所能夠利用上的資源,以及雇傭員工。既然如此,你是如何去選擇編程語言的呢?

事實上,你很有可能采取一些大眾化的做法,去引用在上個項目里所使用過的一些語言?;蛟S你是一位對新鮮事物比較敏感的潮人,你會選擇一些最新最酷的語言。幾年前,很多很棒的年輕人已經蓄意待發。而現在他們讓我意識到他們創造的節點是多么的棒,以及clojures已經達到了一定的程度。上次我還注意到,他們圖靈完備的語言跟我的已經具有相同的解決問題的能力。實際上,他們還堅持認為他們的語言給了圖靈語言更強的表現力,更快的編寫以及更低成本的維護。

 

合適的工具,合適的工作

古人云:工欲善其事,必先利其器。如果你需要自動運行一些命令執行的維護任務,可使用一些擅長腳本編程的語言:如bash,perl,,hell even ruby;不要用Java. 如果你要解決的問題需要一個在微軟操作系統的環境里能夠無縫整合的桌面客戶端,可以使用C#,不要用Java (Java桌面的粉絲,先冷靜一下)。如果解決的問題需要處理大量的XML,以及你喜歡處理層積追蹤,那當然要使用Java.

通常來說最大的區別歸結為規則系統的復雜性。如果你從事的工作具有很多規則系統算法上的復雜性,使用一些能夠擅長于表達的東西:一種函數式語言,像haskell 或者F#?;蛘呔拖?0%的網頁應用那樣,做的就是數據的輸入和輸出,你需要一種具有較好的面向對象能力的語言去嘗試塑造你的領域:Java 和 C# 都是很好的選擇,以及還有幾乎所有的其它的現代語言。

Scala

或許你非常痛恨自己想要妥協:為什么當你能選擇兩個的時候,而只選擇函數的或程序的其中一個?為什么會遺漏這些語言的特色,要知道在過去的50年里你能擁有它們全部,而現在是煎熬在一團糟的語言上?是的,如果這聽起來像你,你可能認為你是一位對新鮮事物敏感的潮人,但是,事實上你錯失了數年的良機:是時候去了解一些Scalas 了。

我猜測Scala 能夠如此流行的大部分原因是它最終為所有沮喪的Java開發者帶來了它們想要的語言工具。現在Java實在是一種超級反應遲鈍的語言,使用它工作時感覺非常的失望。有些人轉換去使用C#,我也開始喜歡使用新的華而不實的語言工具。它們有讓代碼變得更好嗎?很多的新語言的引進,提升了復雜性和增加了豐富性,但也使得代碼很難被理解和不容易后期的維護。

重點是,Java是一種玩具語言:白癡都可以寫出像樣的合乎規范的Java. 不過麻煩是,Java這類玩具語言,編程的人無論他們有多牛,每個人還是被迫去編寫冗長的愚蠢的Java 代碼。這也使得很多技術牛人不能通過編寫難以破解的廢物來證明他們的水平。我也擔心Lambdas將對Java代碼庫的可維護性帶來沖擊,以致每個人開始尋找新的令人困惑的方式來表達一切。

雇傭

另一個原因影響開發人員去選擇合適的編程語言,就是你可以選擇被雇傭。不過這是真的嗎?我現在在C#辦公點工作,我藐視了Java開發者嗎?當然沒有。一個好的開發者就是一個好的開發者,跟語言沒什么關系。拒絕潛在的新人是因為他們所知道的的語言是反應遲鈍的弱智語言。

麻煩的是:如果你認為僅僅雇傭python 或者 node 開發者可以讓你提升到一個更高的開發人員的標準:你錯了。你選擇的空間會變得更加狹窄。或許那個空間的平均質量會高一些,但誰知道?誰在意呢?我只需要一個開發者,我希望她是在我能雇傭的人中最好的,跟平均值沒什么關系。

語言和能力之間沒有必然的聯系:我遇到了一些非常聰明的Java開發人員和一些十足可怕的自認為消息靈通的開發者。我寧愿盡可能多的雇傭樂于使用我們所使用的技術的優秀的開發人員,而不是去限制我能召集到人才的機會,坦誠的說,目前已經很受限制了。

我聽說到的另一個爭論是,你所使用的技術會限制應聘者為你工作的意愿 --- 一些開發者就想在指定的平臺工作,比如clojure. 其實,他們阻礙了自己成長。我寧愿要那些主動想去解決有趣問題的人員,不用去考慮語言,而不是那些只解決垃圾問題的自以為是的潮人。如果你是在銀行工作,碰到的都是很胡扯的問題嗎?當然,可以直接用一種自以為是潮人的語言如果它能夠幫助你雇傭到足夠的傻子。它會使很多人才遠離我。

通用語言

將所有使用潮人語言的程序員集中在一起,讓他們組成一個團隊。會發生什么呢?意外的是,你看到了一堆C#和Java的開發人員。因為幾乎每一個開發人員都知道這兩種語言中的一種----它們是通用語言。反之如果沒有組成一個團隊,他們只不過是一群水平參差不齊潮人語言開發人員。

事實上最重要的事情是當你選擇一種語言時,取決于你的團隊中會有多少開發人員熟悉這種語言,以及你打算雇傭的人有多少人了解這種語言。如果團隊中的每個人需要重新培訓,像smalltalk;以及你雇傭的每個人需要手把手指導學習新語言---這是你必須考慮的成本因素,什么樣的利益和你會從中獲得什么好處?

其次,你是否可以在遇到問題時比較容易的獲得支持幫助?Java的開源社區非常棒---當你遇到一個問題,他們已經至少有15個不同的解決方案,其中有一些甚至可行。如果你使用C#,那么你的選擇會非常有限---但是將會有選擇,有些不是來自微軟的支持。如果你使用最新的潮人語言,猜猜會發生什么? 你就只能靠自己。不過對于有些人來說,這正是潮人語言所吸引他們的地方。但對于我們這些想要把工作做好的人來說,這是一種痛苦。

最后,最好的建議還是傾向使用上一個項目相同的語言:因為每個人都已經熟悉它,以及所需的工具也已經安裝部署完成。這就是為什么Java迅速成為新一代cobol(譯者注:第一個廣泛使用的高級編程語言)的原因。

英文原文:Choosing a Programming Language 

譯文連接:http://www.apkbus.com/android-1326-1.html

責任編輯:林師授 來源: apkbus
相關推薦

2011-06-16 16:39:14

CSS

2022-09-19 08:35:28

Kafka節點故障

2021-06-03 08:32:52

KubernetesRBACRole

2020-04-15 10:50:19

編程語言工具技術

2018-11-11 15:29:13

大數據語言Java

2024-04-07 00:06:00

Rust編程技巧

2010-03-09 17:32:45

Python數組

2012-08-30 16:24:04

HTML5歐朋W3C

2017-06-21 14:16:56

編程程序員開發

2012-02-23 10:13:08

數據中心虛擬機管理負載均衡

2012-02-24 09:49:21

虛擬化數據中心Citrix

2010-03-15 15:45:15

Python編程語言

2009-07-28 08:28:15

2023-01-14 22:59:34

2016-12-21 16:40:22

TensorFlow深度學習算法大數據

2021-08-10 19:15:17

語言編程應用

2020-12-18 07:41:01

碼農編程語言

2009-02-27 09:25:28

編程語言程序員C#

2022-02-21 11:15:59

編程語言后端開發

2010-03-17 16:06:08

Java線程同步
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人免费视频 | 久久久一区二区三区四区 | 黄色亚洲 | 国产精品亚洲成在人线 | 国产精品黄色 | 亚洲成人a v | 一级a性色生活片久久毛片波多野 | 亚洲日产精品 | 91视频a| 亚洲精品一区中文字幕 | 综合久久久 | 国产精品久久国产精品 | 天天欧美 | 成人精品在线视频 | 国产精品黄视频 | 日韩中文字幕在线观看视频 | 日韩高清中文字幕 | 中文字幕乱码亚洲精品一区 | 日韩一级黄色片 | 日本xx视频免费观看 | 人人人人人爽 | www.黄网 | 国产成人精品av | 久久免费观看一级毛片 | 精品国产乱码久久久久久中文 | 日韩欧美视频免费在线观看 | 天天干天天爱天天 | 日本高清视频网站 | 精品一区二区视频 | 国产一二区在线 | 91日b| 日韩精品在线观看一区二区三区 | 亚洲一区 | 一区二区在线看 | 精品国产欧美日韩不卡在线观看 | 久久久91精品国产一区二区三区 | 午夜视频网站 | 国产成人精品一区二区三区 | 日韩欧美在线一区 | 欧美一级免费片 | 激情国产在线 |