小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

為什么我喜歡Java

 星辰010 2019-09-13

代發(fā)帖子

  英文原文:Why I like Java

  我現(xiàn)在的老板使用一個(gè)在線測(cè)試系統(tǒng)來(lái)篩選在線申請(qǐng)職位的求職者。測(cè)試的第一個(gè)問(wèn)題很淺顯,僅僅是為了讓求職者熟悉一下這個(gè)系統(tǒng)的提交和測(cè)試代碼的流程。問(wèn)題是這樣的,寫一個(gè)將標(biāo)準(zhǔn)輸入拷貝到標(biāo)準(zhǔn)輸出的流程。求職者可以使用任何他們喜歡的編程語(yǔ)言來(lái)實(shí)現(xiàn)這個(gè)程序。

  有時(shí)候我們也會(huì)遇到在這個(gè)測(cè)試中得零分的求職者。當(dāng)我看到他們連最簡(jiǎn)單的問(wèn)題都答不出的成績(jī)時(shí),我的第一感覺(jué)是,這并不反映出求職者有多差勁。很顯然,這個(gè)測(cè)試系統(tǒng)本身太難使用,才導(dǎo)致求職者不能提交最簡(jiǎn)單的問(wèn)題,所以失敗歸結(jié)于測(cè)試系統(tǒng)而不是求職者。

  但是當(dāng)我看求職者未能成功提交代碼的時(shí)候,不止一次的(至少這一次)發(fā)現(xiàn)——不是測(cè)試系統(tǒng)的錯(cuò)。而是另一個(gè)甚至不會(huì)發(fā)生在我身上的問(wèn)題:求職者提交失敗是因?yàn)樗麄冊(cè)噲D使用 Java 語(yǔ)言來(lái)實(shí)現(xiàn)這個(gè)程序。

  我記起了 Dijkstra 的說(shuō)法——“教授 BASIC 語(yǔ)言簡(jiǎn)直是在犯罪?!碑?dāng)看到求職者被 Java 搞的焦頭爛額的時(shí)候,我在想是不是這個(gè)言論換成 Java 的話同樣適用。

  我不太確定,有可能還是這個(gè)測(cè)試系統(tǒng)的錯(cuò);有可能 Java 程序員具備我們用的上的有價(jià)值的技能(拋開(kāi)他們不能在很短的時(shí)間內(nèi)解決一個(gè)簡(jiǎn)單問(wèn)題)。我可能改變主意,就在這時(shí),我感到擔(dān)憂。

  當(dāng)你學(xué)習(xí) Perl, Python, Ruby, 或者 Javascript 的時(shí)候,你學(xué)到的只是用哈希表解決問(wèn)題的一些技術(shù),這些僅僅稱得上是語(yǔ)言的一部分。當(dāng)你學(xué) Haskell 時(shí),就像是在學(xué)習(xí)一種用懶惰的清單和單元來(lái)解決問(wèn)題的技術(shù)。這些強(qiáng)大的多功能的工具是編程語(yǔ)言最重要的地方。

  但是當(dāng)你學(xué)習(xí) Java 的時(shí)候,對(duì)于很多問(wèn)題解決起來(lái)都沒(méi)有強(qiáng)大的語(yǔ)言特點(diǎn)來(lái)供你使用。相反,你將會(huì)把時(shí)間花在用編程語(yǔ)言解決問(wèn)題的技術(shù)上。Java 也有哈希表,但是從總體上來(lái)看,它們只不過(guò)是巨大的 Collections 庫(kù)中的一種,和其他的種類淹沒(méi)在 Collections 的庫(kù)中。而且也沒(méi)有什么理由去了解并學(xué)習(xí)那些東西。優(yōu)秀的 Java 課程可能傾向于分析 Collections 中有用的部分,但是,由于哈希表只是庫(kù)的一部分,所以很難看出跟 AbstractAction 或者 zipOutputStream 這種類比起來(lái)有什么重要的。

  我是一個(gè)在不同的組織工作了 3 年的職業(yè) Java 程序員。我有時(shí)候便想寫寫關(guān)于 Java 的文章。是的我很尖酸刻薄,而且我也不得不承認(rèn),我的脾氣很暴躁,殘酷,消極,所以對(duì)我來(lái)說(shuō),狂熱的喜歡一件東西是很困難的。我曾經(jīng)試圖寫一篇關(guān)于 Blosxom 的好文章,在 2006 年發(fā)布在我的博客上,最后失敗了;人們以為我是在進(jìn)行批評(píng),我不得不又寫了個(gè)續(xù)篇來(lái)澄清,但是人們?nèi)匀徽J(rèn)為我在批評(píng) Blosxom。因?yàn)檫@篇文章對(duì) Java 刻薄的批評(píng)讓人困惑。我必須聲明:這篇文章中關(guān)于 Java 的一切內(nèi)容都是持肯定態(tài)度的,并且也應(yīng)該被接受。包括:

  我真的喜歡 Java。

  我很高興能有有用 Java 編程的經(jīng)歷。我喜歡用 Java 來(lái)編程主要是因?yàn)槲野l(fā)現(xiàn)這個(gè)過(guò)程很輕松。如果使用一門不好的語(yǔ)言,像是 Fortran 或者 csh 這種編程語(yǔ)言的話,你會(huì)在每一件事上面苦苦掙扎,開(kāi)發(fā)過(guò)程中還要不斷同這門語(yǔ)言做斗爭(zhēng)。使用好的編程語(yǔ)言卻是完全不同的體驗(yàn):利用語(yǔ)言的強(qiáng)大之處,使函數(shù)的功能最大化,用最簡(jiǎn)潔的表達(dá)方式來(lái)實(shí)現(xiàn)代碼。

  Java 既不是一門好的語(yǔ)言,也不算是很差的語(yǔ)言。它算得上一門中規(guī)中矩的語(yǔ)言,使用 Java 不需要有太多掙扎。使用 Haskell 或 Perl 時(shí)你時(shí)常擔(dān)心是不是應(yīng)該用最簡(jiǎn)潔、最高效的方式。在 Java 中就不必考慮這些,因?yàn)樽詈?jiǎn)潔、最高效是不可能的。無(wú)論你做什么,怎樣去努力,代碼都會(huì)變得普通、繁瑣、冗長(zhǎng)、臃腫,你要做的就是把握住方向,將這些重要的大篇代碼從鍵盤中打出來(lái)。如果最后的代碼比用 Haskell 寫的長(zhǎng)十倍,也沒(méi)有關(guān)系,因?yàn)?IDE 將會(huì)幫你生成其中的一半代碼,而你仍要為另一半付出努力。

  所以你改變了心態(tài),不管薪水如何了,也不再擔(dān)心寫出的代碼是預(yù)先設(shè)計(jì)好的兩倍之長(zhǎng)有多么糟糕。你也許不能解決大型的問(wèn)題,但是你可以參考一本書(shū)來(lái)解決中等問(wèn)題,這一行為又導(dǎo)致了更長(zhǎng)的 java 代碼,但是你仍能領(lǐng)到薪水。你是一個(gè)碼農(nóng),你的工作就是寫代碼。你寫了很多代碼,所以你做好了自己的工作,每個(gè)人都皆大歡喜。

  你將不會(huì)做出任何絕妙的東西,但是同樣,你也不會(huì)做出很糟糕的東西來(lái)。項(xiàng)目可能失敗了,但你可以將失敗歸結(jié)于別的地方。畢竟,你用 10000 行代碼寫了 576 個(gè)類,表面看來(lái)這些都是必不可少的,所以你做好了自己的本職工作。誰(shuí)都不會(huì)責(zé)備你為什么要用 576 個(gè)類而不是 50 個(gè),因?yàn)樵?Java 里面僅僅用 50 個(gè)類是不可能的。

 ?。ú煌恼Z(yǔ)言有不同的失敗模式。比如 Perl,項(xiàng)目失敗可能是因?yàn)槟阍O(shè)計(jì)并實(shí)現(xiàn)了一堆廢話,但是有一個(gè)萬(wàn)能的變通方案:你可以將項(xiàng)目繼續(xù)下去,等它變得足夠大時(shí)交給別人,然后出錯(cuò)的話責(zé)任就會(huì)歸咎于別人而不是你。在 Haskell 這么做的話,有可能在第一個(gè)月就被炒魷魚(yú)。)

  所以是的,我喜歡用 Java 編程。這樣可以從寫高質(zhì)量代碼的責(zé)任中解脫出來(lái)。我很高興不必?fù)?dān)心我所做的是否優(yōu)秀,或者我寫的代碼是否易讀、易維護(hù)。代碼變得臃腫,當(dāng)然,這不是我的錯(cuò)。雖然一切都出于我手。

  所以我喜歡 Java。但是我不會(huì)選擇這門語(yǔ)言來(lái)應(yīng)對(duì)在線測(cè)試,除非分?jǐn)?shù)靠代碼的行數(shù)來(lái)評(píng)定。在測(cè)試中,你需要完成的快速,所以你需要優(yōu)化代碼來(lái)使它們簡(jiǎn)潔并且表達(dá)清楚。Java 意味著很多東西,但從來(lái)和簡(jiǎn)潔、表達(dá)清楚無(wú)關(guān)。

  當(dāng)我看到可憐的求職者苦苦掙扎了 15 分鐘 14 秒,試圖用 Java 程序?qū)?biāo)準(zhǔn)輸入拷貝到標(biāo)準(zhǔn)輸出,最終放棄的時(shí)候,我為他們昂貴的教育感到悲哀,他們沒(méi)有學(xué)會(huì)更好用的工具,或者只是掙扎的寫出 Java 代碼而別無(wú)他法。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多