成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Java很傻,但是IDE很聰明

jeffrey_up / 3044人閱讀

摘要:執(zhí)行效率很重要,但是在很多情況下,程序員的效率更重要的,而且語(yǔ)言的執(zhí)行效率是可以發(fā)展的。,但是很牛逼,可以了解一些上的高級(jí)語(yǔ)言,比如。很聰明最大的好處,就是足夠成熟,市場(chǎng)占有率高。所以說(shuō),很傻,但是很聰明。碼農(nóng)界有很多圣戰(zhàn),。

對(duì)于編程 語(yǔ)言來(lái)說(shuō),什么是生產(chǎn)力?我覺(jué)得,更高的抽象層次就是生產(chǎn)力。 執(zhí)行效率很重要,但是在很多情況下,程序員的效率更重要的,而且語(yǔ)言的執(zhí)行效率是可以發(fā)展的。該優(yōu)化的時(shí)候,我們?cè)賮?lái)考慮優(yōu)化的事情。?對(duì)于語(yǔ)言來(lái)說(shuō),最重要的是把程序員腦子里的東西,用最高效的方法記錄下來(lái)。

C語(yǔ)言比機(jī)器語(yǔ)言有更高的抽象層次,所以我們認(rèn)為C語(yǔ)言比機(jī)器語(yǔ)言有生產(chǎn)力。 Java比C語(yǔ)言更抽象,所以我們認(rèn)為Java比C更有生產(chǎn)力。 逐漸的,我們發(fā)現(xiàn),Java已經(jīng)滿足不了生產(chǎn)力的需求了。

在編程 語(yǔ)言百花齊放的今天,我們發(fā)現(xiàn)各種新出的神奇的語(yǔ)言。幾乎所有了解過(guò)(更)高級(jí)語(yǔ)言的人都會(huì)說(shuō): 我靠!還能這么寫?我吭哧吭哧在這里敲半天,人家一句話搞 定了? 在人家看來(lái),我就是一個(gè)人肉的編譯器,手寫中間語(yǔ)言。。。

Java抽象層次太低,導(dǎo)致表達(dá)能力太弱。別人一句話的事情,在你這里要講半天。 Java本身就有太多的重復(fù)(duplication),而且缺少一些高級(jí)特性。 雖然也在發(fā)展,比如說(shuō)foreach,比如說(shuō)annotation,這都提高了抽象層次。 但是發(fā)展的太慢了,這有很多原因,向下兼容性應(yīng)該是最主要的一方面。

總之,?Java不是一個(gè)生產(chǎn)力語(yǔ)言,表達(dá)能力太弱。?而作為Java程序員,確實(shí)也沒(méi)啥語(yǔ)言上的尊嚴(yán)了。那Java程序員怎么辦?如何保持自信,樹立正確的人生觀價(jià)值觀。 或者說(shuō),Java程序員如何提高自己的抽象層次,少做臟活累活?

學(xué)習(xí)更高層次的抽象

了解一些其他高級(jí)語(yǔ)言,知道什么樣是好的。 別人一句話信息量太大了,我們要先能聽懂,知道人家說(shuō)什么,知己知彼(最重要的是知道自己有多搓)。 Java sucks,但是Jvm很牛逼,可以了解一些Jvm上的高級(jí)語(yǔ)言,比如Scala、Clojure。了解函數(shù)式編程、閉包、并發(fā)等等。?語(yǔ)言只是表達(dá)思想的一種方式,應(yīng)該更關(guān)注你想表達(dá)的東西。?到了一定高度以后,新學(xué)一種語(yǔ)言,只要了解一下基本發(fā)音,就能說(shuō)個(gè)八九不離十,甚至比那種語(yǔ)言的Native Speaker還說(shuō)的好。

IDE很聰明

Java最大的好處,就是足夠成熟,市場(chǎng)占有率高。 Java程序員的需求,就是市場(chǎng)的需求。Java擁有有最成熟的IDE,一群的商業(yè)公司想方設(shè)法取悅Java程序員。

Java程序員的苦逼之處在于,他們做了很多編譯器的活。有個(gè)折衷就是,可以把部分人肉編譯器的活,交給IDE。 讓IDE充當(dāng)編譯器,把你告訴它的話,編譯成中間代碼,也就是Java。 雖然別人一句話的事情,我這邊還是要說(shuō)十句。但是現(xiàn)在我們可以告訴IDE三句話,讓IDE轉(zhuǎn)成十句。 手打一個(gè)基本的循環(huán)花了10多秒,用IDE只需2秒。

如果語(yǔ)言是把人們心里所想的東西表達(dá)出來(lái),那么IDE語(yǔ)言其實(shí)也算一種廣義上的語(yǔ)言了。 而且IDE語(yǔ)言還有個(gè)好處就是,它與Java之間足夠平滑,完全的無(wú)縫。

我們這樣分析一下抽象層次: 人腦 > IDE等輸入設(shè)備 > 編程 語(yǔ)言(Java) > 機(jī)器語(yǔ)言or虛擬機(jī)上的機(jī)器語(yǔ)言(bytecode)。 人腦是最高級(jí)的,想出一個(gè)想法只需要一瞬間, 但是轉(zhuǎn)化成編程語(yǔ)言,則需要很大的精力。人腦和編程語(yǔ)言之間有一個(gè)鴻溝。 而一個(gè)足夠智能的輸入設(shè)備,可以縮小這個(gè)鴻溝。 IDE語(yǔ)言把很多重復(fù)瑣碎的操作,設(shè)計(jì)為原子操作。你僅需要考慮IDE的原子操作便可以了。 不僅僅減少敲擊鍵盤的次數(shù),而且可以減少你考慮的細(xì)節(jié),提高你的抽象層次。

所以說(shuō), Java很傻,但是IDE很聰明。把人肉編譯器的工作交給IDE吧,體驗(yàn)被伺候的感覺(jué)。

用好hot key

能不用鼠標(biāo)盡量別用,前提是有一個(gè)好的IDE(eclipse很難做到)。

用好snippet

不再手寫for int i = 0; i < arr.length; i++,而使用itar + Table。

用好refactor

先寫new Object(); extract variable,自動(dòng)生成Object obj = new Object();而且用好refactor,對(duì)寫好Clean Code作用最大。

用好quick fix

int a = 1, b = 2; 直接寫 int c = add(a, b); 然后quick fix,讓IDE補(bǔ)充參數(shù)和返回值。

我換到IDEA也不久,很多想法都很初級(jí),這沒(méi)關(guān)系,熟練使用IDE需要大量的練習(xí)。 音樂(lè)家每天在家苦練彈鋼琴一樣,我們碼農(nóng)其實(shí)也應(yīng)該花時(shí)間磨練自己最基本的技能。

就像武俠小說(shuō)中的武功招式一樣,招式其實(shí)就是在一些特定場(chǎng)景下的一系列動(dòng)作。 比如說(shuō)對(duì)手在我后面距離兩米,我轉(zhuǎn)身175度,使用80%的內(nèi)力斜踢右腳,就可以一招致勝一樣。 武功招式把這一系列動(dòng)作凝練成一個(gè)名字。高手過(guò)招,過(guò)的是原子操作,細(xì)節(jié)啥的,都不需要考慮。 甚至有的武俠小說(shuō)里面高手可以打嘴炮,最后還輸?shù)男姆诜?。這就是層次。

我經(jīng)常做一些TDD(Test-Driven Development)的kata, 比如說(shuō)一個(gè)StringCalculator。 學(xué)習(xí)這個(gè)做法來(lái)源于《Clean Coder》?(這本書對(duì)我影響非常大,最大的一點(diǎn)估計(jì)是程序員每天工作11小時(shí),8小時(shí)給公司,3小時(shí)給自己)。 在練習(xí)中不斷的精簡(jiǎn)每一個(gè)動(dòng)作,每一個(gè)動(dòng)作都做到無(wú)可挑剔,并和自己的IDE完全融合起來(lái),找到一個(gè)最短路徑。 這樣,我們?cè)趯?shí)際工作中,技由心生,砍瓜切菜,攻城跋扈。

Intellij IDEA是一款好產(chǎn)品

最后回到主題, 我想說(shuō),作為一門廣義上的語(yǔ)言來(lái)說(shuō),IDEA設(shè)計(jì)的很好。 原子操作的設(shè)計(jì),快捷鍵的控制等等,真的是在用心的做一款(能賺錢的)產(chǎn)品,想碼農(nóng)之所想。

之前發(fā)過(guò)一篇黑Eclipse的文章說(shuō),Eclipse沒(méi)有Preference的快捷鍵。 我指的是沒(méi)有“默認(rèn)快捷鍵”,可配置不是一個(gè)好的擋箭牌。 設(shè)計(jì)快捷鍵需要非常強(qiáng)的規(guī)劃能力和一致性,而大部分程序員都沒(méi)有這個(gè)能力和精力(折騰vim自定義快捷鍵超過(guò)10小時(shí),而且不滿意的同學(xué)請(qǐng)舉一下手)。 一般程序員需要的是一套優(yōu)良的解決方案+可配置。

還有一個(gè)很重要的原因,我喜歡暗色背景。 就像在烈日下搬了一上午磚的民工期待一片云彩那樣,我希望能有一個(gè)完美的暗色主題來(lái)對(duì)得起我四百度的眼鏡。 曾經(jīng)折騰Eclipse的Editor暗色背景插件(只有Editor區(qū)域,其他區(qū)域不行),發(fā)現(xiàn)與各種Diff工具不匹配(Diff工具沒(méi)有暗色背景,直接用深色作為高亮,瞎了),各種不爽,最后又換回來(lái)。 一下午過(guò)去了,你說(shuō)啥,生產(chǎn)力?幾乎為零。

碼農(nóng)界有很多圣戰(zhàn),Linux or Windows、Vim or Emacs、Eclipse or IDEA。 碼農(nóng)一般都是最懶的人,當(dāng)他知道有另外的工具可以以一種更懶的方式完成自己現(xiàn)在的工作。 他會(huì)心向往之。這些圣戰(zhàn)其實(shí)不僅僅是口水戰(zhàn)、打嘴炮,往往代表了碼農(nóng)們對(duì)生產(chǎn)力的思考。

我覺(jué)得評(píng)價(jià)兩個(gè)IDE哪個(gè)好用,這個(gè)一般沒(méi)有定論,很主觀。不過(guò)我覺(jué)得有一個(gè)方法,讓某一個(gè)人練熟在兩個(gè)IDE環(huán)境下的kata,看他如何做到路徑最短,自己寫的最爽。從這個(gè)標(biāo)準(zhǔn)來(lái)看,我站在IDEA這邊。

碼農(nóng)真是容易滿足,不得不說(shuō),最近換了個(gè)IDE,感覺(jué)自己幸福指數(shù)都提升了不少。 我僅用了一周的IDEA,就已經(jīng)變成一個(gè)Eclipse黑。當(dāng)然了,鼓勵(lì)競(jìng)爭(zhēng),誰(shuí)家產(chǎn)品好咱用誰(shuí)家,后面E家好用咱再換回來(lái)。

關(guān)于作者

李先Loki,網(wǎng)易惠惠網(wǎng)工程師。

via 伯樂(lè)在線

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/69773.html

相關(guān)文章

  • 1. 認(rèn)識(shí) Java 程序【連載 1】

    摘要:是什么是一種計(jì)算機(jī)編程語(yǔ)言,年詹姆斯高斯林等大神發(fā)明的一種編程語(yǔ)言,至今發(fā)展多年,應(yīng)用非常廣泛,使用者超級(jí)多。能干什么既然是一種計(jì)算機(jī)編程語(yǔ)言,自然它就是用來(lái)開發(fā)程序的。比較官方的簡(jiǎn)單定義程序是數(shù)據(jù)結(jié)構(gòu)加算法。 showImg(https://segmentfault.com/img/remote/1460000012599260?w=900&h=500); 序: 從此開始,計(jì)劃出一個(gè)...

    xiaowugui666 評(píng)論0 收藏0
  • 3. 第一個(gè) Java 程序 - Hello World 【連載 3】

    摘要:需要注意的地方輸入法狀態(tài)調(diào)整為英文狀態(tài)代碼的縮進(jìn)不要忘記分號(hào)下面圖片標(biāo)注內(nèi)容。語(yǔ)句語(yǔ)句是程序最小的一個(gè)執(zhí)行單位,像一個(gè)指令,程序中,必須使用一個(gè)英文分號(hào)結(jié)束一條語(yǔ)句。建議,第一個(gè)簡(jiǎn)單的程序,我已經(jīng)詳細(xì)的為你做了演練與解釋。 在上一篇文章 【[準(zhǔn)備編譯環(huán)境】]()中我們完成了 Java 編譯環(huán)境的搭建,這篇文章內(nèi)容主要是來(lái)教你怎么開始編寫第一個(gè) Java 程序,并運(yùn)行它。 分為兩個(gè)步驟,...

    shevy 評(píng)論0 收藏0
  • 【Copy攻城獅日志】借助Taro暴改Nideshop實(shí)現(xiàn)電商支付寶小程序雛形

    摘要:接下來(lái),在支付寶小程序開發(fā)者工具中打,不出意外能跑起來(lái)一個(gè)電商支付寶小程序雛形。地址以上是我這個(gè)攻城獅對(duì)使用轉(zhuǎn)換原生微信小程序?yàn)橹Ц秾毿〕绦虻囊淮挝⒉蛔愕赖膶?shí)踐。 showImg(https://segmentfault.com/img/bVbnCCN?w=1818&h=931);↑開局一張圖,故事全靠編↑ 從一個(gè)需求說(shuō)起 作為底層的程序猿,哦不,我連猿都算不上,混的好的叫碼神,混得一...

    gnehc 評(píng)論0 收藏0
  • 如何正確學(xué)習(xí)JavaScript

    摘要:然而,雖然先生對(duì)無(wú)所不知,被譽(yù)為世界的愛(ài)因斯坦,但他的語(yǔ)言精粹并不適合初學(xué)者學(xué)習(xí)。即便如此,在后面我還是會(huì)建議把當(dāng)做補(bǔ)充的學(xué)習(xí)資源。但目前為止,依然是學(xué)習(xí)編程的好幫手。周正則表達(dá)式,對(duì)象,事件,閱讀權(quán)威指南第,,,章。 既然你找到這篇文章來(lái),說(shuō)明你是真心想學(xué)好JavaScript的。你沒(méi)有想錯(cuò),當(dāng)今如果要開發(fā)現(xiàn)代網(wǎng)站或web應(yīng)用(包括互聯(lián)網(wǎng)創(chuàng)業(yè)),都要學(xué)會(huì)JavaScript。而面對(duì)泛...

    canger 評(píng)論0 收藏0
  • 一行代碼蒸發(fā)了¥6,447,277,680 人民幣!

    一行代碼蒸發(fā)了¥6,447,277,680 人民幣! 現(xiàn)在進(jìn)入你還是先行者,最后觀望者進(jìn)場(chǎng)才是韭菜。 美圖董事長(zhǎng)蔡文勝曾在三點(diǎn)鐘群,高調(diào)的說(shuō)出了這句話,隨即被大眾瘋傳。 在他發(fā)表完言論沒(méi)多久,2月美鏈(BEC)上交易所會(huì)暴漲4000%,后又暴跌。盡管他多次否認(rèn),聰明的網(wǎng)友早已扒出,他與BEC千絲萬(wàn)縷的關(guān)系。 showImg(https://segmentfault.com/img/remote/1...

    booster 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<