高中生手機(jī)寫出2.5萬(wàn)行代碼的熱門項(xiàng)目,GitHub 1900星,網(wǎng)友:給孩子捐個(gè)電腦
最近,有一個(gè) GitHub 開(kāi)源項(xiàng)目引發(fā)了眾人的關(guān)注。
這是一個(gè)名叫 markview.nvim 的插件,作為高度定制化的 Neovim markdown 預(yù)覽器,Star 量已有 1900 個(gè)。
乍看起來(lái)似乎有點(diǎn)平平無(wú)奇,炸裂的是它的研發(fā)背景:全部 2.5 萬(wàn)行代碼竟然都是作者用手機(jī)敲出來(lái)的。
手機(jī)敲代碼?兄弟你太猛了,能出來(lái)讓大家認(rèn)識(shí)認(rèn)識(shí)嗎?
圖中對(duì)話出現(xiàn)在一個(gè) issue 里面(已解決了),項(xiàng)目作者 OXY2DEV 說(shuō)自己沒(méi)法在手機(jī)上正確的測(cè)試,Reddit 帖子的樓主說(shuō)那我來(lái)吧。樓主轉(zhuǎn)念一想,問(wèn)道:不是哥們,這是臨時(shí)不方便,還是你在告訴我,你已經(jīng)在一部手機(jī)上完整開(kāi)發(fā)了這個(gè)插件,我怎么感覺(jué)是后者?
如果是這樣,我也必須加把勁了,這是一種什么層次的奉獻(xiàn)精神??!
OXY2DEV 答道:不好意思,全部 24461 行(如果只算代碼的話大約 18K 行)都是手機(jī)打字完成的。他還謙虛了一下,說(shuō)其中約 6000 行僅用于存儲(chǔ)數(shù)學(xué)符號(hào)、數(shù)學(xué)字體、HTML 實(shí)體等。
做項(xiàng)目這么大的決心,不禁讓人感嘆。
現(xiàn)在,OXY2DEV 開(kāi)發(fā)的「markview.nvim」項(xiàng)目星標(biāo)量已經(jīng)達(dá)到 1.9K:
- 項(xiàng)目地址:https://github.com/OXY2DEV/markview.nvim
這是一個(gè)基于熱門編輯器 neovim 的插件,包含 Markdown 渲染器、HTML 渲染器、LaTeX 渲染器。
回到那個(gè) Reddit 帖子,消息一出,網(wǎng)友們紛紛表示震驚,直呼想要給他送個(gè)電腦。
網(wǎng)友:繃不住了,誰(shuí)來(lái)送他個(gè)筆記本電腦吧?要不我們發(fā)動(dòng)一場(chǎng)募捐?
發(fā)帖人在 Reddit 上 cue 了 OXY2DEV:「希望你不會(huì)對(duì)這個(gè)提議感到不快,這是你感興趣的事情嗎?」
對(duì)方(在 Reddit 上的網(wǎng)名是 Exciting_Majesty2005)回復(fù)道:那可太謝謝了,然而在沒(méi)有銀行卡的情況下,我沒(méi)法把你們捐的美元轉(zhuǎn)換成本國(guó)貨幣。我還沒(méi)有身份證,所以我不能開(kāi)設(shè)自己的賬戶。數(shù)字支付這里也是沒(méi)有的。
除了這些問(wèn)題之外,我所在的地方硬件價(jià)格過(guò)高(畢竟第三世界國(guó)家)。所以,你們最終會(huì)為普通硬件花費(fèi)過(guò)高價(jià)格。
此外,如果我設(shè)法進(jìn)入了一所好大學(xué),那么我顯然會(huì)買一臺(tái)筆記本電腦。只是現(xiàn)在還沒(méi)有而已。
所以,真的沒(méi)有必要為此籌集資金。
網(wǎng)友們驚掉了下巴:什么你說(shuō)你還沒(méi)上大學(xué)?
有人問(wèn):那你什么時(shí)候申請(qǐng)大學(xué)?如果你已經(jīng)在開(kāi)發(fā)流行的插件,我想北美、歐洲的大多數(shù)計(jì)算機(jī)科學(xué)系都會(huì)很高興給 offer。也許,用戶社區(qū)可以寫一封推薦信?
OXY2DE 回復(fù)道,大學(xué)申請(qǐng)應(yīng)該是在明年 3 月。我將首先參加醫(yī)學(xué)院考試,如果我沒(méi)有通過(guò),那么我就會(huì)上大學(xué)。在這里,嘗試獲得計(jì)算機(jī)科學(xué)專業(yè)的 offer 是一種賭博,分?jǐn)?shù)太高或是太低都沒(méi)戲??傊虑楹軓?fù)雜。
看起來(lái)想要幫助這位新星開(kāi)發(fā)者,網(wǎng)友們還面臨著一些挑戰(zhàn),不過(guò)在后續(xù)的討論中漸漸有了眉目。
另外對(duì)于用手機(jī)編程這一做法,有很多人感到好奇。不過(guò),OXY2DE 并不是唯一一個(gè)選擇這樣做的。有網(wǎng)友分享了自己在手機(jī)上的編程經(jīng)驗(yàn),這位網(wǎng)友表示自己曾經(jīng)在 Termux ( 一款基于 Android 平臺(tái)的開(kāi)源 Linux 終端模擬器)上使用 ACode 或 NeoVim 來(lái)編寫程序,并且使用 Termux 和 NeoVim 可以獲得 PyDroid 提供的所有功能,而無(wú)需每月訂閱。
還有網(wǎng)友好奇在手機(jī)上敲代碼會(huì)不會(huì)經(jīng)常出現(xiàn)拼寫錯(cuò)誤。OXY2DE 表示「他的準(zhǔn)確率大約為 60-70%,但由于使用了具有補(bǔ)全能力的 nvim-cmp,所以也可以使用它來(lái)修復(fù)拼寫錯(cuò)誤。此外,編程語(yǔ)言的所有關(guān)鍵字都是非常通用的詞,因此隨著時(shí)間的推移,拼寫錯(cuò)誤會(huì)越來(lái)越少?!?/span>
還有網(wǎng)友建議將藍(lán)牙鍵盤連接到 Android 設(shè)備上進(jìn)行編程,這樣效果也不錯(cuò),該網(wǎng)友還推薦了一款名為 iClever BK-05 的藍(lán)牙鍵盤,不用時(shí)可以折疊起來(lái),非常方便。
對(duì)此,OXY2DE 表示有些文件非常龐大,很容易讓 Neovim 變得緩慢。因此他不得不禁用 LSP、自動(dòng)補(bǔ)全、Tree-sitter 和語(yǔ)法高亮,只是為了讓它不卡頓。在某種程度上,無(wú)法繞過(guò)硬件的限制。
還有人感慨道:如今 99.99% 的人都依賴先進(jìn)的工具來(lái)完成工作,而這位學(xué)生卻在用手機(jī)做著這些事情。難以置信,簡(jiǎn)直太瘋狂了。
「不知那些需要機(jī)械鍵盤才能敲代碼的人感想如何?」
markview.nvim 項(xiàng)目作者 OXY2DEV 的真名是 Mouinul Hossain,是一名來(lái)自孟加拉國(guó)的高中生,自稱喜歡編程和電子設(shè)備。他在空閑時(shí)間制作 Neovim 插件,有時(shí)還會(huì)制作一些基本的網(wǎng)站。
OXY2DEV 小小年紀(jì)就有了使用 Lua、C、Javascript 和 Sass 語(yǔ)言的經(jīng)驗(yàn)。此外,他還有一些使用 Bash 的經(jīng)驗(yàn)。不過(guò)可能是因?yàn)樯顥l件有限,或是其他什么原因:他表示自己現(xiàn)在只有智能手機(jī)、沒(méi)有電腦,所以是在 neovim 跟 Termux 中完成這所有工作的。
看起來(lái),OXY2DEV 在努力為開(kāi)源社區(qū)做出貢獻(xiàn)的同時(shí),開(kāi)源社區(qū)也在回報(bào)他。在 Reddit 帖子里甚至有人推薦他來(lái)申請(qǐng)新加坡國(guó)立大學(xué),這讓一直以來(lái)想要學(xué)醫(yī)的他有了更多的思考。
幾天前,OXY2DEV 終于決定開(kāi)啟一個(gè)募捐項(xiàng)目?!父鶕?jù)其他人的建議,我決定捐款買一臺(tái)筆記本電腦?!?/span>
據(jù)說(shuō)他在 10 個(gè)小時(shí)內(nèi)就籌集到了 2300 美元。
這就是開(kāi)源社區(qū)的力量。