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

IDE 的未來在哪里?

2021-11-29
來源:CSDN
關(guān)鍵詞: 開發(fā)環(huán)境 IDE VSCode

  周末的晚上,百無聊賴,于是我擺弄起 JetBrains 的 Projector。IntelliJ 是一款非常強(qiáng)大的 IDE,而 Projector 就是安裝在遠(yuǎn)程服務(wù)器上、能夠通過瀏覽器訪問的 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í)。

  感覺一切都很神奇。

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

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

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

  這個(gè)想法打開了新的機(jī)遇與大門。

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

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

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

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

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

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

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

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

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

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

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

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

  這是編程的未來嗎?

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

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

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

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

  我有點(diǎn)矛盾。

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

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

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

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

  我很好奇,能否有人打開新局面,并徹底地改變我們與機(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)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。