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

在項(xiàng)目實(shí)踐中如何選擇編程語(yǔ)言

開(kāi)發(fā) 項(xiàng)目管理
選擇使用什么樣編程語(yǔ)言對(duì)于一個(gè)項(xiàng)目來(lái)說(shuō)是一個(gè)最關(guān)鍵的技術(shù)決策。因?yàn)檫@項(xiàng)決策會(huì)影響到項(xiàng)目框架結(jié)構(gòu)和你所能夠利用上的資源,以及雇傭員工。既然如此,你是如何去選擇編程語(yǔ)言的呢?事實(shí)上,你很有可能采取一些大眾 ...

選擇使用什么樣編程語(yǔ)言對(duì)于一個(gè)項(xiàng)目來(lái)說(shuō)是一個(gè)最關(guān)鍵的技術(shù)決策。因?yàn)檫@項(xiàng)決策會(huì)影響到項(xiàng)目框架結(jié)構(gòu)和你所能夠利用上的資源,以及雇傭員工。既然如此,你是如何去選擇編程語(yǔ)言的呢?

事實(shí)上,你很有可能采取一些大眾化的做法,去引用在上個(gè)項(xiàng)目里所使用過(guò)的一些語(yǔ)言。或許你是一位對(duì)新鮮事物比較敏感的潮人,你會(huì)選擇一些最新最酷的語(yǔ)言。幾年前,很多很棒的年輕人已經(jīng)蓄意待發(fā)。而現(xiàn)在他們讓我意識(shí)到他們創(chuàng)造的節(jié)點(diǎn)是多么的棒,以及clojures已經(jīng)達(dá)到了一定的程度。上次我還注意到,他們圖靈完備的語(yǔ)言跟我的已經(jīng)具有相同的解決問(wèn)題的能力。實(shí)際上,他們還堅(jiān)持認(rèn)為他們的語(yǔ)言給了圖靈語(yǔ)言更強(qiáng)的表現(xiàn)力,更快的編寫(xiě)以及更低成本的維護(hù)。

 

合適的工具,合適的工作

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

通常來(lái)說(shuō)最大的區(qū)別歸結(jié)為規(guī)則系統(tǒng)的復(fù)雜性。如果你從事的工作具有很多規(guī)則系統(tǒng)算法上的復(fù)雜性,使用一些能夠擅長(zhǎng)于表達(dá)的東西:一種函數(shù)式語(yǔ)言,像haskell 或者F#。或者就像90%的網(wǎng)頁(yè)應(yīng)用那樣,做的就是數(shù)據(jù)的輸入和輸出,你需要一種具有較好的面向?qū)ο竽芰Φ恼Z(yǔ)言去嘗試塑造你的領(lǐng)域:Java 和 C# 都是很好的選擇,以及還有幾乎所有的其它的現(xiàn)代語(yǔ)言。

Scala

或許你非常痛恨自己想要妥協(xié):為什么當(dāng)你能選擇兩個(gè)的時(shí)候,而只選擇函數(shù)的或程序的其中一個(gè)?為什么會(huì)遺漏這些語(yǔ)言的特色,要知道在過(guò)去的50年里你能擁有它們?nèi)浚F(xiàn)在是煎熬在一團(tuán)糟的語(yǔ)言上?是的,如果這聽(tīng)起來(lái)像你,你可能認(rèn)為你是一位對(duì)新鮮事物敏感的潮人,但是,事實(shí)上你錯(cuò)失了數(shù)年的良機(jī):是時(shí)候去了解一些Scalas 了。

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

重點(diǎn)是,Java是一種玩具語(yǔ)言:白癡都可以寫(xiě)出像樣的合乎規(guī)范的Java. 不過(guò)麻煩是,Java這類(lèi)玩具語(yǔ)言,編程的人無(wú)論他們有多牛,每個(gè)人還是被迫去編寫(xiě)冗長(zhǎng)的愚蠢的Java 代碼。這也使得很多技術(shù)牛人不能通過(guò)編寫(xiě)難以破解的廢物來(lái)證明他們的水平。我也擔(dān)心Lambdas將對(duì)Java代碼庫(kù)的可維護(hù)性帶來(lái)沖擊,以致每個(gè)人開(kāi)始尋找新的令人困惑的方式來(lái)表達(dá)一切。

雇傭

另一個(gè)原因影響開(kāi)發(fā)人員去選擇合適的編程語(yǔ)言,就是你可以選擇被雇傭。不過(guò)這是真的嗎?我現(xiàn)在在C#辦公點(diǎn)工作,我藐視了Java開(kāi)發(fā)者嗎?當(dāng)然沒(méi)有。一個(gè)好的開(kāi)發(fā)者就是一個(gè)好的開(kāi)發(fā)者,跟語(yǔ)言沒(méi)什么關(guān)系。拒絕潛在的新人是因?yàn)樗麄兯赖牡恼Z(yǔ)言是反應(yīng)遲鈍的弱智語(yǔ)言。

麻煩的是:如果你認(rèn)為僅僅雇傭python 或者 node 開(kāi)發(fā)者可以讓你提升到一個(gè)更高的開(kāi)發(fā)人員的標(biāo)準(zhǔn):你錯(cuò)了。你選擇的空間會(huì)變得更加狹窄。或許那個(gè)空間的平均質(zhì)量會(huì)高一些,但誰(shuí)知道?誰(shuí)在意呢?我只需要一個(gè)開(kāi)發(fā)者,我希望她是在我能雇傭的人中最好的,跟平均值沒(méi)什么關(guān)系。

語(yǔ)言和能力之間沒(méi)有必然的聯(lián)系:我遇到了一些非常聰明的Java開(kāi)發(fā)人員和一些十足可怕的自認(rèn)為消息靈通的開(kāi)發(fā)者。我寧愿盡可能多的雇傭樂(lè)于使用我們所使用的技術(shù)的優(yōu)秀的開(kāi)發(fā)人員,而不是去限制我能召集到人才的機(jī)會(huì),坦誠(chéng)的說(shuō),目前已經(jīng)很受限制了。

我聽(tīng)說(shuō)到的另一個(gè)爭(zhēng)論是,你所使用的技術(shù)會(huì)限制應(yīng)聘者為你工作的意愿 --- 一些開(kāi)發(fā)者就想在指定的平臺(tái)工作,比如clojure. 其實(shí),他們阻礙了自己成長(zhǎng)。我寧愿要那些主動(dòng)想去解決有趣問(wèn)題的人員,不用去考慮語(yǔ)言,而不是那些只解決垃圾問(wèn)題的自以為是的潮人。如果你是在銀行工作,碰到的都是很胡扯的問(wèn)題嗎?當(dāng)然,可以直接用一種自以為是潮人的語(yǔ)言如果它能夠幫助你雇傭到足夠的傻子。它會(huì)使很多人才遠(yuǎn)離我。

通用語(yǔ)言

將所有使用潮人語(yǔ)言的程序員集中在一起,讓他們組成一個(gè)團(tuán)隊(duì)。會(huì)發(fā)生什么呢?意外的是,你看到了一堆C#和Java的開(kāi)發(fā)人員。因?yàn)閹缀趺恳粋€(gè)開(kāi)發(fā)人員都知道這兩種語(yǔ)言中的一種----它們是通用語(yǔ)言。反之如果沒(méi)有組成一個(gè)團(tuán)隊(duì),他們只不過(guò)是一群水平參差不齊潮人語(yǔ)言開(kāi)發(fā)人員。

事實(shí)上最重要的事情是當(dāng)你選擇一種語(yǔ)言時(shí),取決于你的團(tuán)隊(duì)中會(huì)有多少開(kāi)發(fā)人員熟悉這種語(yǔ)言,以及你打算雇傭的人有多少人了解這種語(yǔ)言。如果團(tuán)隊(duì)中的每個(gè)人需要重新培訓(xùn),像smalltalk;以及你雇傭的每個(gè)人需要手把手指導(dǎo)學(xué)習(xí)新語(yǔ)言---這是你必須考慮的成本因素,什么樣的利益和你會(huì)從中獲得什么好處?

其次,你是否可以在遇到問(wèn)題時(shí)比較容易的獲得支持幫助?Java的開(kāi)源社區(qū)非常棒---當(dāng)你遇到一個(gè)問(wèn)題,他們已經(jīng)至少有15個(gè)不同的解決方案,其中有一些甚至可行。如果你使用C#,那么你的選擇會(huì)非常有限---但是將會(huì)有選擇,有些不是來(lái)自微軟的支持。如果你使用最新的潮人語(yǔ)言,猜猜會(huì)發(fā)生什么? 你就只能靠自己。不過(guò)對(duì)于有些人來(lái)說(shuō),這正是潮人語(yǔ)言所吸引他們的地方。但對(duì)于我們這些想要把工作做好的人來(lái)說(shuō),這是一種痛苦。

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

英文原文:Choosing a Programming Language 

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

責(zé)任編輯:林師授 來(lái)源: apkbus
相關(guān)推薦

2011-06-16 16:39:14

CSS

2022-09-19 08:35:28

Kafka節(jié)點(diǎn)故障

2021-06-03 08:32:52

KubernetesRBACRole

2020-04-15 10:50:19

編程語(yǔ)言工具技術(shù)

2018-11-11 15:29:13

大數(shù)據(jù)語(yǔ)言Java

2024-04-07 00:06:00

Rust編程技巧

2012-08-30 16:24:04

HTML5歐朋W3C

2010-03-09 17:32:45

Python數(shù)組

2017-06-21 14:16:56

編程程序員開(kāi)發(fā)

2012-02-23 10:13:08

數(shù)據(jù)中心虛擬機(jī)管理負(fù)載均衡

2012-02-24 09:49:21

虛擬化數(shù)據(jù)中心Citrix

2010-03-15 15:45:15

Python編程語(yǔ)言

2009-07-28 08:28:15

2023-01-14 22:59:34

2016-12-21 16:40:22

TensorFlow深度學(xué)習(xí)算法大數(shù)據(jù)

2021-08-10 19:15:17

語(yǔ)言編程應(yīng)用

2020-12-18 07:41:01

碼農(nóng)編程語(yǔ)言

2009-02-27 09:25:28

編程語(yǔ)言程序員C#

2022-02-21 11:15:59

編程語(yǔ)言后端開(kāi)發(fā)

2010-03-17 16:06:08

Java線程同步
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 一区二区国产精品 | 超碰高清| 国产91精品久久久久久久网曝门 | 9999在线视频 | 免费永久av| 黄色在线免费看 | 日韩视频一区二区在线 | 日本三级网址 | 亚洲一区二区三区免费 | 亚洲国产精品一区二区三区 | 神马久久av | 51ⅴ精品国产91久久久久久 | 婷婷开心激情综合五月天 | 久久大全 | 天天躁日日躁狠狠躁2018小说 | 一区 | 成人av一区二区三区 | 狠狠色综合久久婷婷 | 久久精品久久综合 | 欧美激情a∨在线视频播放 成人免费共享视频 | 成人性生交大免费 | 一区二区三区在线观看视频 | 美女在线观看国产 | 亚洲成人国产综合 | 粉嫩av在线 | 久久一区二区三区免费 | 蜜桃视频一区二区三区 | 国产精品一区二区三区在线播放 | 一级二级三级黄色 | 在线观看中文字幕 | 国产成人a亚洲精品 | 午夜三区 | 国产精品 欧美精品 | 国产乱码精品一区二区三区五月婷 | 在线观看h视频 | 中文字幕1区2区 | 一区二区免费在线观看 | 手机看片在线播放 | 91精品久久久久久久久 | 国产精品永久免费视频 | 亚卅毛片 |