更新於 2024/01/10閱讀時間約 6 分鐘

無軟體工程師底子,英文底子卻意外讓我做出簡易App

欲望是很神奇的東西,很久以前我一直想要一個App可以網羅所有英日文字典,手指一點就能在同一個畫面跳查好幾家字典。我心想英文和程式語言都是語言,乾脆自己下海寫一個App看看。過程歷經千辛萬苦,還是讓我寫出來了。想知道我怎麼做到的嗎?

零底子的素人,有很特別的動機

語言出身的我,從沒想過竟有一天要跨領域到程式語言。這兩個世界的語言邏輯天差地遠,對我來說很吃力。雖知不可能在市面上找到我想要的終極字典App,但我實在受夠了為了查一個字、一句話,竟然要分別下載至少超過五家字典App。有的字典甚至只有網路版,你得另外開瀏覽器來查。如果你剛好也是學外語的人,你手機裝了多少字典App?你真的覺得很好用來查到你要的資訊嗎?
查嘸啦
每家字典的特色不同。有的很貼心附上了雙語對照的字義解釋和例句,但收錄的單字量和解釋都很少,也查不到很口語很潮的字;有的字典專門解釋使用的情境;甚至還有專門的例句字典,專門的俚語字典,專門的發音字典。問題是這些字典分屬不同的網站或App,我光是在這些之間跳查,要浪費很多青春。我終於受不了,心想如果有一個專為中文母語者的整合式英日文字典App,可以省下一半的跳查時間的話,該有多好啊。
這種慾望和動機竟然讓我湧起熊熊的怒火,對自己誓言要學程式語言寫出自己想用的App,就算只學一點皮毛也好!

第一道難關:怎麼找資料?

我的第一個疑問是:要從哪裡開始?所以我先用Youtube搜尋「新手寫App」,網路上很多前輩會告訴你菜鳥要先有哪些心理建設,需要知道哪些基本知識。我後來決定從Java語言開始學(還有什麼Kotlin之類的語法,我看得頭昏)。順帶一提,我看到Google有個願景說希望以後有一套介面,能讓人類用一般在講的英文(而非看不懂的程式碼),就能指示電腦幫你寫一套App出來。我當時心想拜託快開發出來吧。
接著我的第二個疑問是:要怎麼學Java?其實我的作法也很單純,就直接用Google搜尋「Java」,跳出了其中一個叫做優達學城(Udacity)網頁,讓我有了靈感。我想乾脆先上課程再來動手寫App,其中有一套Google官方上架的免費基礎課程,教你怎麼在幾周內寫出第一個App。貼心的是影片都有多國語言字幕可選擇,包括中英文,雖然我本身用不到字幕,但如果你也想學基礎Java且可以馬上寫App的話,可參考這裡

第二道難關:拿到釣竿後怎麼自己學釣魚?

外文至少要學十年才能爐火純青,程式語言何嘗不是這樣?只學了一個速成的基礎課程,照著課程內容寫出一個小小計算機、計分器和菜單等等app,不代表就能寫出自己想要的App。重點還是要先抓住課程的精隨,再融會貫通到自己的設計構想中。
創造自己的App之前,必須要很清楚了解要設計出哪些具體功能,必須大概知道自己的App是什麼輪廓。我想像的終極字典,會區分成幾個類別,包括英文字典、日文字典、例句字典,和其他無法分類的雜項字典。每個類別都有一個下拉式選單,各自收錄多家字典。軟體介面的上方會有搜尋框,我只要輸入單字,再直接從下拉式選單中點選其中一家字典,就能顯示出查字的結果畫面。甚至還會有一個「三連搜」的功能,一次顯示出單字解釋、例句、發音這三個分割畫面。
到了這一步才是真正的難關,我要怎麼把這些功能全部視覺化出來?基礎課程除了讓我學到基本知識之外,也讓我學到下拉式選單的英文叫做spinner,還有其他有的沒的英文專有名詞(感謝老天我看得懂英文)。我用spinner去搜尋Google和知名的程式語言論壇StackOverflow,拜讀老手們的教學,甚至直接寫英文向他們提問。
寫程式語言的過程中,我不知卡關了幾百次,不是功能跑不出來,就是實際做出來的介面歪掉,好幾次想撞電腦。但前述的怨念和慾望一直支撐自己不恥下問國外網友和Google大神,自己慢慢邏輯推敲和試行錯誤,一點一滴修改和測試,才終於做出了雛型。
對了,我也試過用中文關鍵字搜尋,也試過透過中文的程式語言社群來尋找我要的答案。但與海外的超大資料量相比,中文的教學資源真的很不夠。不知是不是中英文有隔閡,中文教學的解釋常讓我看不懂(出現很多翻譯很奇怪或根本翻譯錯的美式中文),我還不如直接看英文資源比較快。

第三道難關:了解自己的侷限,與它和平共處

能寫出現階段的App,已足足花費我一年的時間。其實我構想的終極字典不僅如此,我還希望它更好用,幻想(應該是妄想吧)或許哪天還能讓很多人愛用,但深刻了解目前的能力真的只能寫出陽春的App。雖然陽春,但完全適配我個人使用習慣,確實為我省下超過一半的查字時間。
或許你有所不知,今天如果沒有這個App,我根本也不會在這個寫作平台上出沒。為了寫一篇有深度的英日文教學文章,每一篇要花費一到兩小時做背景調查,其中包括跳查5~10家字典(包括日文和英文字典),確保沒漏掉每家字典的解釋,我才能濃縮融合出一套好消化吸收的概念,分享給讀者。字典講得很艱澀,我就要轉換成中文可以理解且又簡單好懂的說法,讓讀者一看就秒懂。另外,我還要大量搜尋外國人的使用案例,大看要看個十頁的搜尋結果,看他們是在什麼情境下使用單字,確保我要解釋的單字語感夠精準。你可以想像,如果沒有我理想的終極字典App,我要多花費多少青春來查出這麼大量的資料作為查證?
這個App誕生後,我突然發現自己有能力可以寫出有自我品質要求的教學文章,我有方便省時的查證工具、外文底子,再加上寫作的工作經驗,這才讓我找到此寫作平台來創作到現在。
我還是強調,目前這個App是個陽春的雛型。如果你好奇,下面是畫面截圖,先說看完了可別婊我寫得太爛嘿,我才學一年餒(厚臉皮燦笑)。

有「愛」能使鬼推磨

最後我想呼籲一件事,也是我寫這篇的用意。如果英日文讓你感到害怕,可以參考我的例子。我曾經非常厭惡和排斥程式碼,曾想人類為何要發明這種折磨大腦的火星文來摧殘自己的心靈,壓根不曾想過自己會寫一個App。但我對另一個事物的「愛」和執著,卻意外促成了一個App的誕生,難怪網路上的工程師老鳥們說,你要先知道自己想要什麼,要深愛著,才能創造出屬於自己的第一個App。其實這正好呼應了我在「說一口道地外文的不二準則:透過媒體穩扎穩打的自學攻略」文中點出的核心概念:用你對其他事物的真愛來學外文,你會學得很開心很爽又自在。
希望我的例子,可以為你帶來一點新啟發!
編寫外語教學文章耗時費力,如果有幫助你拓展外文視野,如果你喜歡我作品,懇請訂閱並追蹤我的「擊破你的怪怪英日文」專題!所有生活好用的英日文都完整收錄在此專題中喔! 🙏🙏🙏
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.