你好,歡迎進(jìn)入江蘇優(yōu)軟數(shù)字科技有限公司官網(wǎng)!
發(fā)布時(shí)間:2023-09-18
瀏覽次數(shù):0
使用 Java 15 年之后,大約 5 年前,我編寫了第一行代碼。 我們的團(tuán)隊(duì)使用替換和函數(shù)式編程。 我們是 Java 的忠實(shí)粉絲,并嘗試充分利用它提供的 Java 工具。
那時(shí),我們不僅僅使用Java。 有一些團(tuán)隊(duì)對 Scala 感興趣并使用它開發(fā)一些服務(wù)。 而且,由于 Scala 使用 Java 代碼庫的復(fù)雜性和平坦的設(shè)置時(shí)間,它對我們大多數(shù)人來說沒有太大吸引力。
2017年,微軟宣布它成為微軟的官方開發(fā)語言,另一個(gè)與我們關(guān)系密切的團(tuán)隊(duì)開始評估他們是否可以在他們的服務(wù)器端開發(fā)中使用它。 最終,我們大多數(shù)人都嘗試了。
它對代碼庫的影響令我震驚。 感覺更高效、更安全。 雖然開發(fā)工具沒有Java那么成熟,但也已經(jīng)足夠好了。
將自己從古老而繁瑣的編程語言中解放出來,探索什么樣的編碼風(fēng)格更適合的特點(diǎn)是很有趣的。 與 Java 的卓越互操作性意味著我們可以逐步依賴現(xiàn)有的生態(tài)系統(tǒng)和過渡系統(tǒng),而不會嚴(yán)重干擾我們的工作。
很快,出于興趣,我們一起開發(fā)了一個(gè)用于開發(fā) HTTP 應(yīng)用程序的工具包,并組織了開發(fā)研討會來幫助其他團(tuán)隊(duì)進(jìn)行嘗試。
最后,我們看到其他各種項(xiàng)目在服務(wù)器端使用它,并且我們還看到一些團(tuán)隊(duì)不愿意采用它的強(qiáng)烈動機(jī)。
有趣的是,這些阻力并不總是由編程語言本身造成的。 那么,為什么 Java 服務(wù)器端開發(fā)社區(qū)沒有更多地采用呢?
以下是我和我的同學(xué)聽到的一些原因。
“我們沒有時(shí)間學(xué)習(xí)新語言”
這就是我們在軟件開發(fā)項(xiàng)目中經(jīng)常看到的現(xiàn)象:“忙著砍柴,無暇磨斧子”。 這通常表明更深層次的問題,例如技術(shù)債務(wù)下降和開發(fā)效率問題。
健康的軟件項(xiàng)目需要開發(fā)人員花費(fèi)大量時(shí)間學(xué)習(xí)。 一個(gè)有能力的Java開發(fā)人員可以在幾個(gè)小時(shí)內(nèi)掌握基礎(chǔ)知識,并在幾天內(nèi)提高開發(fā)效率。
如果使用新語言可以讓他們編寫更簡單的代碼并遇到更少的問題,那么投資是值得的。
“Java 的每個(gè)版本都在變得更好”
確實(shí),Java 正在變得越來越好,發(fā)布的速度也越來越快。 而且,對于像處理空值這樣簡單的事情,它仍然遠(yuǎn)遠(yuǎn)落后。
事實(shí)上,Java 社區(qū)早已習(xí)慣了這種發(fā)展速度。 即便如此,它仍然提供了一種在項(xiàng)目中使用許多功能的方法。
“作為 Java 開發(fā)者,我們非常自豪”
這些觀點(diǎn)是最具破壞性的。 如果程序員將自己的職業(yè)身份與編程語言聯(lián)系在一起,那么他們就無能為力。
如果 Java 開發(fā)人員不想拿自己的職業(yè)生涯冒險(xiǎn),進(jìn)入新語言的未知領(lǐng)域,我可以理解。 或者他們可能想成為某個(gè)領(lǐng)域的專家,這也是合理的。
然而,我并沒有聽說 Java 開發(fā)人員因使用而“落后”。 相反,這表明他們?nèi)栽趯ふ疫m合自己的東西,這是一個(gè)積極的特質(zhì)。
“這是一種被炒作的語言,其未來是未??知的”
這是我們在 2017 年看到的很多反對采用的爭論。當(dāng)年,微軟宣布它將成為微軟的官方開發(fā)語言,這讓我們確信科技巨頭對這種語言感興趣。
如今,雖然 、 等流行框架已經(jīng)接受了這種新語言,但之前的反對并不那么普遍。
希望這能讓更多的服務(wù)器端開發(fā)人員充分了解該語言并嘗試一下。
“我正在使用,不想切換到”
在IDEA中使用的體驗(yàn)和IDEA不太一樣。
這是可以理解的,因?yàn)殇N售開發(fā)工具是商業(yè)模式的一部分,但這些情況不太可能很快改變。
對于這些人來說,他們所希望的是一個(gè)高質(zhì)量的轉(zhuǎn)折點(diǎn),以證明進(jìn)一步的支持是合理的。 但在此之前,開發(fā)人員的最佳開發(fā)體驗(yàn)一直是使用該產(chǎn)品。
在我看來,它已經(jīng)是一個(gè)更好的Java IDE了,因此值得一試。
“開發(fā)商太貴,但難找”
很難說。 從急招網(wǎng)站的數(shù)據(jù)來看,開發(fā)者的薪資普遍略高。
如果我們只考慮服務(wù)器端開發(fā)人員,很難進(jìn)行比較。 一般來說,Java 開發(fā)人員的薪水最高,但沒有足夠的數(shù)據(jù)進(jìn)行比較。
有趣的是,在實(shí)踐中,我們可以看到中級Java開發(fā)人員往往是最先采用它的,這可能會給人一種開發(fā)人員非常“昂貴”的印象。
在緊急招聘方面,我們認(rèn)為尋找開發(fā)人員并不困難。 我們很清楚intellij idea產(chǎn)品學(xué)習(xí)手冊,有些工作需要使用這種新語言,并允許開發(fā)人員在工作中學(xué)習(xí)和使用它。
這顯然讓 Java 開發(fā)人員感到輕松,并吸引了那些熱衷于學(xué)習(xí)新事物的人。
“太復(fù)雜”
它成為Scala等語言的替代語言的原因之一是它在易用性和中級特性之間有很好的平衡,并且與Java有更好的互操作性,因此更有可能被流行的框架采用。
在實(shí)踐中,這些反對意見與團(tuán)隊(duì)的技能、風(fēng)格和習(xí)慣有關(guān)。
初學(xué)者通常會像使用 Java 一樣使用它,但隨著他們對這門語言越來越熟悉,他們可能會更深入地使用使代碼庫顯得越來越難以理解的功能(例如擴(kuò)展和內(nèi)聯(lián)函數(shù))。
我們建議盡可能長時(shí)間地使用通用功能,直到團(tuán)隊(duì)完全掌握新語言。 最終,團(tuán)隊(duì)中的大多數(shù)人都會在選擇很酷的語言功能和保持代碼庫易于理解之間找到平衡。
“在一個(gè)代碼庫中擁有兩種語言是令人沮喪的”
這是從未在實(shí)際項(xiàng)目中嘗試過的人普遍存在的疑問。
在實(shí)踐中,當(dāng)團(tuán)隊(duì)意識到新代碼需要與 Java 共存時(shí),在一個(gè)項(xiàng)目中使用兩種語言并不會給他們帶來很大的痛苦。
這是一個(gè)有用的規(guī)則:“如果更改涉及兩種語言,請先轉(zhuǎn)換舊代碼?!?/p>
這樣,團(tuán)隊(duì)就可以避免大規(guī)模重繪,并逐漸遷移到需要添加新功能的地方。
如果您需要保留一些 Java 代碼,那也沒關(guān)系。 這很可能是因?yàn)榇a仍然有用并且沒有迫切需要構(gòu)建它。
“我們更喜歡 Java”
在實(shí)踐中,有一些場景不一定非要使用,這樣一切仍然可以順利進(jìn)行,團(tuán)隊(duì)可以以可接受的速度完成工作。
然而,根據(jù)我們的經(jīng)驗(yàn),這是例外而不是規(guī)則。 通常,這些對語言的抵制源于缺乏時(shí)間和興趣,而不是缺乏改進(jìn)的空間。
如果沒有在實(shí)際項(xiàng)目中使用,很難感受到它的用處。 雖然是一個(gè)實(shí)驗(yàn),但還是有很多恐懼。
對于這些情況,我們建議“在工作中學(xué)習(xí)”(以編碼道場、培訓(xùn)等形式),以創(chuàng)建一個(gè)可以進(jìn)行此類實(shí)驗(yàn)的安全環(huán)境。
這可以幫助團(tuán)隊(duì)評估他們對 Java 的使用以及是否值得對其進(jìn)行投資。
“我不知道它有什么用”
有時(shí),Java 開發(fā)人員沒有意識到語言限制,或者因?yàn)樗麄円呀?jīng)習(xí)慣了這些限制。 有時(shí),他們抵制新語言,因?yàn)檫@會讓他們批評他們正在使用的語言。
無需贅述,我們可以說簡單和安全是它的主要優(yōu)點(diǎn)。 然而,有些人聲稱他們沒有看到Java的繁瑣有任何問題intellij idea產(chǎn)品學(xué)習(xí)手冊,并且他們編寫的代碼是安全的。
在你真正嘗試之前,很容易忽視它。 而當(dāng)他們真正面對它時(shí),有些人會不斷地尋找理由不去嘗試使用它。
一些看法
采用新的編程語言,尤其是在正在進(jìn)行的項(xiàng)目中,對大多數(shù)團(tuán)隊(duì)來說都是一個(gè)挑戰(zhàn)。 對變革的抵制與具體情況、項(xiàng)目需求和個(gè)人原因以及語言本身有關(guān)。
話雖如此,我還是鼓勵(lì)更多從事Java服務(wù)器端的開發(fā)者如果有機(jī)會就去嘗試一下。
熱門內(nèi)容:
為什么不推薦使用BeanUtils屬性轉(zhuǎn)換工具 Redis分布式鎖使用不當(dāng),釀成一個(gè)重大事故,超賣了100瓶飛天茅臺!??! 常用正則表達(dá)式最強(qiáng)整理(速查手冊)
最近面試BAT,整理一份面試資料《Java面試BAT通關(guān)手冊》,覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)等等。
獲取方式:點(diǎn)“在看”,關(guān)注公眾號并回復(fù)?666?領(lǐng)取,更多內(nèi)容陸續(xù)奉上。
明天見(??ω??)??
如有侵權(quán)請聯(lián)系刪除!
Copyright ? 2023 江蘇優(yōu)軟數(shù)字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服務(wù)提供商
13262879759
微信二維碼