《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 人工智能 > 業(yè)界動(dòng)態(tài) > IDE 的未來(lái)在哪里,?

IDE 的未來(lái)在哪里?

2021-11-29
來(lái)源:CSDN

  周末的晚上,,百無(wú)聊賴(lài),,于是我擺弄起 JetBrains 的 Projector,。IntelliJ 是一款非常強(qiáng)大的 IDE,而 Projector 就是安裝在遠(yuǎn)程服務(wù)器上,、能夠通過(guò)瀏覽器訪問(wèn)的 IntelliJ,。

  我想試試看,,如果將一些繁重的計(jì)算任務(wù)(比如訓(xùn)練和評(píng)估大型機(jī)器學(xué)習(xí)模型)從本地轉(zhuǎn)移到遠(yuǎn)程服務(wù)器上,會(huì)不會(huì)影響編程用戶的體驗(yàn),。

  項(xiàng)目的設(shè)置非常容易,,從點(diǎn)擊 AWS 上的“創(chuàng)建實(shí)例”,到我的 iPad Pro 上運(yùn)行一個(gè)成熟的 AI 項(xiàng)目,,前后花了不到一個(gè)小時(shí),。

  感覺(jué)一切都很神奇。

  將開(kāi)發(fā)環(huán)境從本地機(jī)器上移動(dòng)到遠(yuǎn)程服務(wù)器,,這個(gè)概念大膽而新穎,。這種方式可以有效地將工作流集中到大型服務(wù)器上。那么,,此時(shí)的 localhost 是什么呢,?

  當(dāng)然,這個(gè)想法并不是 JetBrains 獨(dú)有的,。微軟的 Visual Studio Code 也在朝著相同的方向發(fā)展,,不僅已有了在線服務(wù),而且所有 GitHub 代碼庫(kù)現(xiàn)在都支持在線的 VSCode,。Replit 之類(lèi)的小公司也在嘗試將 IDE 轉(zhuǎn)變?yōu)槎嗳梭w驗(yàn),。

  在自己的服務(wù)器上編程也不再意味著必須依賴(lài)本地設(shè)備了,因?yàn)檫@種方式本質(zhì)上是將編寫(xiě)代碼的機(jī)器與實(shí)際運(yùn)行代碼的機(jī)器相分離,。

  這個(gè)想法打開(kāi)了新的機(jī)遇與大門(mén),。

  軟件與硬件的獨(dú)立

  從軟件方面來(lái)說(shuō),完全遠(yuǎn)程的環(huán)境可以讓開(kāi)發(fā)人員不再受雙啟動(dòng),、驅(qū)動(dòng)不兼容等問(wèn)題的煩擾,,開(kāi)發(fā)環(huán)境就在 Ubuntu 服務(wù)器上,所有工具的使用都會(huì)變得更加容易,。同時(shí),,我還可以本地 macOS機(jī)器上保留 Lightroom、Cinema 4D 和 Photoshop,。理論上你甚至可以將部分 Adobe CreativeCloud 打包成 Docker,,但是否合法就未可知了(畢竟聽(tīng)上去這種想法不太正常)。

  更有趣的是硬件的獨(dú)立,。將計(jì)算全權(quán)委托給專(zhuān)業(yè)的供應(yīng)商,,我們就可以獲得巨大的靈活性,同時(shí)也不必再糾結(jié)一些權(quán)衡利弊,,例如 CPU 與電池,、硬盤(pán)與價(jià)格、電池與重量等,。

  我可以在小巧的 iPad 上寫(xiě)代碼,,配備 XHDR 顯示器,,電池壽命更長(zhǎng),內(nèi)部驅(qū)動(dòng)器相對(duì)較小,,同時(shí)我仍然在 Linux 環(huán)境中工作,不僅有 CUDA 驅(qū)動(dòng)程序,,而且還可以訪問(wèn) Nvidia GPU 或 Google TPU,。如果臨時(shí)需要更多 RAM 來(lái)訓(xùn)練大型模型,則可以擴(kuò)展我所消費(fèi)的服務(wù),,完成之后再收縮,。

  因此,非常經(jīng)濟(jì)實(shí)惠,。

  如果我的遠(yuǎn)程實(shí)例24小時(shí)全年無(wú)休地運(yùn)行,,則每月大約需要支付 35 美元。但是,,我可以在周末(甚至晚上)關(guān)閉實(shí)例,。這樣就可以節(jié)省35%~50%的成本。另一方面,,成熟的MacBook Pro 以每月 50 美元的速度貶值,,因此算下來(lái)成本反而增加了 40%~50%。這些節(jié)省下來(lái)的成本可以投資購(gòu)買(mǎi)屏幕更大,、重量更輕,、電池壽命更長(zhǎng)的客戶端設(shè)備。

  此外,,遠(yuǎn)程開(kāi)發(fā)環(huán)境的擴(kuò)展性也很好,,團(tuán)隊(duì)越大,遠(yuǎn)程開(kāi)發(fā)服務(wù)器的效率就越高,。數(shù)據(jù)科學(xué)等大型團(tuán)隊(duì)已經(jīng)采用了這種方式:在遠(yuǎn)程實(shí)例上運(yùn)行 Jupyter notebook 是很常見(jiàn)的做法,,團(tuán)隊(duì)可以遠(yuǎn)程連接到服務(wù)器,然后迭代AI 模型,。隨著支持多人協(xié)作的成熟云 IDE(比如JetBrains 的 Code With Me,、VisualStudio 的 Live Share)的發(fā)展,從理論上說(shuō),,這一概念可應(yīng)用于不同的開(kāi)發(fā)團(tuán)隊(duì),,從而大幅削減成本。

  我并不是第一個(gè)有這種想法的人,。

  例如,,MightyApp 將 Chrome 虛擬化,他們的目標(biāo)是用戶無(wú)需購(gòu)買(mǎi)昂貴的硬件,,將運(yùn)行現(xiàn)代網(wǎng)絡(luò)應(yīng)用所需的計(jì)算能力外包給他們,,這樣既能享受高性能,,同時(shí)也能節(jié)省維護(hù)的成本。

  然而,,隱私方面的影響也是深遠(yuǎn)的,。這就是為什么雖然 Replit 和微軟希望我們朝著這個(gè)方向邁進(jìn),但我不認(rèn)為專(zhuān)有云 IDE 將成為現(xiàn)代軟件開(kāi)發(fā)的未來(lái)的原因之一,。如果開(kāi)發(fā)人員輸入的每一個(gè)字符都會(huì)被記錄或匯總成報(bào)告,,那么他們就不太可能會(huì)冒險(xiǎn),不論這種方式有多么合適,,他們也不會(huì)調(diào)整自己的工作安排,。如此一來(lái),開(kāi)發(fā)人員學(xué)習(xí)和工作的速度都會(huì)受阻,,他們的表現(xiàn)可能會(huì)回歸到團(tuán)隊(duì)的平均水平,。而這絕不是我們希望看到的局面。

  但隱私只是一個(gè)方面,。大多數(shù)遠(yuǎn)程開(kāi)發(fā)服務(wù)器的優(yōu)勢(shì)都在于擁有對(duì)整個(gè)技術(shù)棧的控制,,尤其是服務(wù)器本身。

  你不需要再關(guān)心底層的機(jī)器,,也不再需要旁門(mén)左道,,而且還能獲得更多的微觀管理機(jī)會(huì)。云 IDE 最吸引用戶的地方莫過(guò)于外包原始的計(jì)算能力,,同時(shí)保持對(duì)底層硬件的控制,。

  這是編程的未來(lái)嗎?

  說(shuō)實(shí)話,,我也不確定,。

  盡管我非常喜歡在 iPad 上運(yùn)行 Tensorflow,但我也有兩個(gè)疑慮,。

  首先,,蘋(píng)果 M1 芯片的成本效益帶來(lái)的沖擊很大。有些人報(bào)告說(shuō)他們的開(kāi)發(fā)速度有了數(shù)量級(jí)的提升,。如果能夠擁有如此強(qiáng)大且廉價(jià)的本地機(jī)器,,又何必使用開(kāi)發(fā)服務(wù)器呢?隨著計(jì)算能力需求的不斷增長(zhǎng),,PC 的性能也在持續(xù)提升,。這種趨勢(shì)與需要在瀏覽器中運(yùn)行的 IDE 截然相反,而且這種趨勢(shì)不會(huì)輕易消亡,。

  其次,,事實(shí)證明,跨平臺(tái)移動(dòng)開(kāi)發(fā)只是一個(gè)破碎的美夢(mèng)(蘋(píng)果和 Google 為此付出了太多努力)。原生客戶端的表現(xiàn)更佳,,它們的速度更快,,延遲更低,并且可以更好地與本地機(jī)器交互(比如快捷鍵就是個(gè)很大的問(wèn)題),。移動(dòng)應(yīng)用的問(wèn)題不僅限于計(jì)算能力,,現(xiàn)代手機(jī)芯片很強(qiáng)大,但與原生應(yīng)用相比,,React Native 簡(jiǎn)直不堪一擊,。在瀏覽器中運(yùn)行的 IDE 能夠提供與原生本地實(shí)例相同的用戶體驗(yàn)嗎?

  我有點(diǎn)矛盾,。

  我希望能夠?qū)㈤_(kāi)發(fā)環(huán)境轉(zhuǎn)移到遠(yuǎn)程服務(wù)器,同時(shí)研發(fā)更好的本地設(shè)備,,與客戶端更好的交互,,而不是更快的機(jī)器來(lái)運(yùn)行代碼。

  但目前我們還沒(méi)有發(fā)展到這個(gè)水平,。

  Chromebook在朝著正確的方向發(fā)展,,這絕非偶然。Google 試圖實(shí)現(xiàn)“一切皆云”的宏偉愿景,。但是,,我覺(jué)得 Chromebook 不適合編程:糟糕的鍵盤(pán)、糟糕的屏幕,、糟糕的 shell 體驗(yàn),。

  我們需要將這個(gè)概念提升到一個(gè)新的水平:讓遠(yuǎn)程服務(wù)器完成所有繁重的工作,同時(shí)投資硬件和軟件工具,,改善開(kāi)發(fā)人員的體驗(yàn),。

  我很好奇,能否有人打開(kāi)新局面,,并徹底地改變我們與機(jī)器的交互方式,。




1.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]