首頁 > 新聞 > 智能 > 正文

這位被蘋果點贊的學生開發者,接觸編程還不到一年 天天熱門

2023-06-07 20:06:04來源:ZAKER科技  

世界上有好學的編程語言嗎?

楊昊倫自覺不是一個很有編程天賦的人,他就讀于帕薩迪納藝術中心設計學院,從小受到蘋果的影響,渴望打造創作產應,釋放們與俱來的創造。

然而,編程是一道難以忽視的門檻。他曾經嘗試入門 Python、Javascript 和 C++,打下所有初學者都知道的那句 Hello World,但對于開發這件事,總是不得其門而入。


(資料圖片僅供參考)

▲ 楊昊倫 .

在接觸 Swift 和 SwiftUI 以后,楊昊倫察覺到了機會的降臨:創造個完整的 app 離自己前所未有地近。

Swift 編程語言,是蘋果在 2014 年發布的開源編程語言,直觀的語法對新手十分友好。楊昊倫甚至稱它是「這個星球上最易學的編程語言」。

楊昊倫通過官方渠道和第三方平臺學習 Swift 和 SwiftUI,平時做些簡單的 app 向家朋友分享 Beta 版,并在今年第次參與了 Swift 學生挑戰賽,成為了近四百分之一。

Swift 學生挑戰賽,是蘋果為長期支持學生開發者而推出的賽事,往往在 WWDC 前揭曉結果。今年全球共有 375 名獲獎者,愛范兒采訪到了其中的 5 位中國學生。

他們身上有著閃光的共性。Swift 終究是一門講究程序思維的編程語言,需要毅力、熱愛和創意灌注,才能成為開發者的工具,讓想法生長出美好的果實。

為什么不能成為一名程序員

將興趣變成實踐,往往需要一個按下開關的契機。

魯晟遠的 iOS 開發旅程,正式開始于高二時。在此之前,他學 Photoshop,上手設計 app 用戶界面,但那些始終只是不能用的「原型」。讓它們「活」過來的目標,暫且被封存下來。

這一年,蘋果舉辦了 WWDC 2018。熬夜觀看的魯晟遠,被會上播放的視頻「Source Code」感動到了。里面的蘋果開發者眼神發光,家人談起他們的語氣充滿驕傲,讓人下意識地相信,他們真的想用手中的代碼改變世界。

后來被科學老師邀請參加高中生科學工程競賽時,魯晟遠突然就意識到,機會來了:自己為什么不能成為一名程序員呢?

▲ 魯晟遠 .

他從最基礎的 Swift 語法學起,將之前一款邊玩邊學化學的 app 原型真正做了出來,并且帶著它入圍了美國州級別競賽。

身為開發者的興奮感,轉折了人生的十字路口。本來打算學藝術的魯晟遠,申請大學時改成了計算機,現在就讀于加州學爾灣分校的計算機科學與商業管理。

其他幾位獲獎者編程之路的開頭,也存在著遙遠的相似性。

北京郵電大學絡空間安全專業的何正浩,小學三四年級就跟著視頻教程學習了中文編程語言,尚顯稚嫩的作品被微機課老師展示給全班同學。屏幕共享的瞬間,他被極大地鼓舞到了,不知不覺中在這條道路上越走越遠。

▲ 何正浩 .

高中時,為了參加信息學奧林匹克競賽,何正浩學習了 C++;高考之后,他又開始學習 iOS 開發,希望做出能在 App Store 上架的、人人觸手可及的軟件,甚至成為一名自由的獨立開發者,讓小時候那種與創造有關的成就感重現。

中央財經大學國際經濟與貿易專業的戴藏龍,高中時對開發產生了興趣,并關注到了 Swift 語,閱讀了它的開發者文檔,但礙于學業壓力,大二才選修了 Python,大三又開始自學 Swift,讓心中的熱情不再束之高閣。

▲ 戴藏龍 .

上海商學院日語專業的張祎寧,則是一個相對的非典型案例,從初學者到獲獎者的過程里,她遭遇了各種偶然的小插曲。似乎缺少了任何一個,都無法打出這個完美結局。

▲ 張祎寧 .

去年 9 月,張祎寧在去食堂買飯的路上,碰到了 iOS Club 社團的招新,這是她第一次接觸 Swift。計算機系的男友也鼓勵她學習編程,在她的 Mac 下載了 Swift Playgrounds,打賭她一定可以入門。

Swift Playgrounds 是適用于 iPad 和 Mac 的一款 app,幫助初學者以互動有趣的方式來學習 Swift 編程語言。張祎寧很喜歡其中輕松有趣的關卡設置。

▲ Swift Playgrounds.

誰都能通過 Swift Playgrounds 對編程感興趣!它更像是一個闖關的游戲。不同的是,你在闖關的過程當中,就可以掌握一些編程的基礎知識。

張祎寧之前從沒想過自己會學習編程,但在接觸 Swift 之后,她覺得學習編程和學習語、英語等世界上的所有語言樣,學了日語才能和日本人交流,學了編程才能和計算機交流。

她這次的獲獎作品,靈感同樣來得有些玄學。今年二三月份的一個晚上,還沒有任何想法、焦慮難以描摹的張祎寧,突然夢到了一個場景:在林中湖泊邊上垂釣時,釣上來的各種魚類,自動生成了漂亮的圖鑒。

張祎寧是云南人,從小就很向往海邊,但大學考到上海之后才第一次參觀水族館。她從夢境延伸出去,最終做出了「Who am I?」這個畫風獨特的作品。玩家需要代未知海洋生物的身份,在和 NPC 的對談中,認識海洋物多樣性,并解開身份之謎。

▲ Who am I.

游戲里還埋藏著不少巧思。她設計了左右移動,模仿小魚擺動尾鰭向前游動的樣子;她也按照夢境里的模樣,讓玩家遇到的海洋生物都會自動生成漂亮的圖鑒,還為它們寫好了與種群特點相符的性格與臺詞。

作品完成本身,已經克服了張祎寧的「分母心態」——不是專業相關,又是編程小白,靈感也姍姍來遲,有很大的概率成為陪跑。后來,這一切都不重要了。離截止時間大概 20 分鐘,她成功提交了作品。回首來路,張祎寧只想為自己喝彩。

以上 5 位獲獎者里,有 3 位是非科班出身,其中 1 位接觸編程還不到 1 年。

在每個人的時間線上,契機來得或早或晚,但線與線產生了交纏,讓他們在同一場 Swift 學生挑戰賽頂峰相見。

想法本身并不能夠解決任何問題

想法從來不會憑空出現,哪怕張祎寧調侃自己的 app 是夢到的,那也是日有所思夜有所夢,抓住靈感后努力發散,憑借技術讓它落地生根。

其他幾位獲獎者為 Swift 學生挑戰賽提交的 app,基本也都是從自身需求出發的。

魯晟遠的「大學申請寶」,功能就體現在名字上,解決讓許多美國留學生叫苦不迭的問題。他曾在 B 站發布過一期視頻,記錄的就是自己與 22 所學校相愛相殺的大學申請季。

▲大學申請寶 .

基于機器學習的大學申請寶,可以智能地選出適合申請的大學名單,并將它們分類成沖刺、匹配和保底校,救留學生們于水火,不再依賴于中介。

何正浩的參賽作品「Scheduled」,則是一個教育類 app。他在大學的操作系統課里學到了調度算法,但文字的呈現方式太過抽象,他決定親自動手,將它做得直觀。

▲ Scheduled.

Schedule 的本意是調度,Scheduled 便是一個模擬操作系統調度的互動類工具,通過生動的視覺呈現,以及深入淺出的名詞解釋,讓非專業用戶也能了解一些專業知識,比如操作系統如何在處理器有限的情況下,給各個程序分配計算資源。

類似地,戴藏龍也從專業知識入手,做出了記賬應用「DebitCredit」,它的直譯為「借貸」,指的不是借款與貸款,而是復式記賬法里的借方和貸方。這是種強大、靈活的記賬方法,也是當今世界記賬方法的事實標準,但使用起來需要一定的會計學知識。

▲ DebitCredit.

戴藏龍希望通過「DebitCredit」,簡化復式記賬法,讓每個人都能夠在沒有會計知識的情況下,用它管理自己的財務,看懂公司的財務報表,在投資與工作里受益。

楊昊倫的「Redesigner」,巧妙地結合了交互設計與編程語言,是個幫助開發者學習 UI 設計基礎的交互式指南,以「SixD」的名字,上架了 iPad 的 App Store。

▲ Redesigner.

想法來自楊昊倫的觀察:許多開發者的 app 功能強大,但它們的 UI 設計有待提升。「SixD」能夠幫助這些開發者,創作出兼具好設計的 app。

除了熱愛與堅持之外,他們觀察生活的敏銳和別出心裁的想法,同樣令人印象深刻。

編程語言,其實就是實踐想法的工具,Swift 學生挑戰賽,評比的也是如何把想法用 Swift 變成現實的過程。它考驗的不只是編程能力,還有創意、設計和解決問題的能力。

所以,除了提交 app 之外,參賽者還會被問到一些問題,包括在生活中有沒有通過 Swift 幫別人解決問題、以前有沒有 app 上架 App Store 等等。

其實在參加 Swift 學生挑戰賽之前,不少獲獎者確實已經有了成型的 app,同樣是從真實存在的需求獲取靈感,或者說日常生活里,本就埋藏著形形色色等待被解決的需求。

今年 5 月 2 日,趕著勞動節出游的熱潮,何正浩的 app「Numpkin」上架了 App Store,它的功能是管理團體活動賬單。

▲ Numpkin.

靈感緣起于高考后第二天的一場同學聚會。當時,何正浩代付了各項支出,他來回切換備忘錄和計算器,計算向每位同學收取多少錢,但因為大家參與的項目不同,復雜的計算過程讓他很是頭疼,驅使著他開發出一個管理多人支出的 app。

愛好游戲的戴藏龍,則在 2022 年開發出名為「披薩小助手」的 app。這是一款專為《原神》設計的工具,幫助玩家追蹤體力等游戲數據,同年 6 月在 App Store 上架。目前,它下載超過了 30 萬次,日活用戶超過 3 萬人。

▲ 披薩小助手 .

不過,程序員圈經常流行一句話:「不要重復造輪子。」說的是自己覺得沒有被解決的需求,可能前人已經解決過了,明知道自己不可能比前輩做得更好,卻仍然堅持要做。

這些學生開發者,都不害怕造輪子的情況。在他們看來,當不斷追問自己要做什么,其實很難和他人發生完全的碰撞,在產品邏輯、受眾群體、細分需求等方面,總會有所差異。

所以,他們既不天真地覺得有完全的原創,充分做好市場調研,又能從自身的需求出發,保持創作的獨立性。他們相信,其實并沒有那么多輪子,就算有也能造出更好的輪子。

只有一個點子,并不能夠解決任何問題,也并不意味著任何事情。

楊昊倫所說的這句話,也是其他同學的共識。更重要的事情是,親自動手將點子實現。

理解代碼的最好方式是動手去做

Swift 是相對簡單的編程語言,但要把它學到真正上手,并非不費吹灰之力。沒有絕對好學的編程語言,也不存在和自然語言很接近的編程語言,哪怕是 Swift。

幾位獲獎者都十分擅長自學,以及利用身邊的一切資源,視頻、文檔、書籍、博客、官方教程、開發者社區、社團俱樂部 ...... 哪里能夠解決問題,就往哪里而去。

紙上得來終覺淺,絕知此事要躬行。什么是學習編程的最好方式?他們有著一個共同的答案:實踐。

在楊昊倫看來,Swift 是「這個星球上最易學的編程語言」,因為它的語法十分易懂,同時有非常豐富的學習素材,能夠給到足夠的正反饋。

▲ Swift 的基礎知識 .

正是因為這樣,才更應該去做。哪怕你只學會了循環、函數等基礎概念,也能夠直接進入 SwiftUI,開始寫一個真正的 app,甚至看到它在 iPad 上真正運行起來。

很多時候,我們并不需要精通 Swift 才能完成個 app 的開發,先去試著開發個簡單的 app,不僅能帶來更多成就感,很多概念也在開發和查漏補缺中不知不覺地熟悉了。

戴藏龍最開始沒有 Mac,就用 iPad 完成了斯坦福 SwiftUI 慕課課程的學習,因為 iPad 也能運行 Swift Playgrounds。

當時,他配了一塊鍵盤,左邊擺著 windows 筆記本,右邊放著 iPad 擼代碼。

iPad 完全可以勝任學習編程,你并不需要擁有臺 Mac 才能開始。

iPad 也是魯晟遠的重要工具,他剛開始在 Swift Playgrounds 學習時,每天放學回家就打開它完成個章程。

等到掌握了一定基礎,他迫不及待地想寫「真的」app,于是查找 YouTube 上的教程照葫蘆畫瓢。

魯晟遠的第個 app 只有個按鈕,按一下屏幕變黑,再按下變白。雖然它十分簡單,但看著 app 被裝在手機上,魯晟遠依然清晰地感覺到,一種難以言表的興奮涌上心頭。

我做夢都想成為開發者,現在我突然就成了。

編程沒有那么遙遠,但也沒有那么容易,不必被想象嚇到,也不要沉迷案頭知識而放棄前進。

蘋果在開發者教育上有著這樣的理念:Everyone can code。一旦真的開始實踐,我們會慢慢感覺到編程的美妙。所以動手去做吧,就像魯晟遠對新手的建議那樣:

踏出第步是令恐懼的,但勵自己試試是非常重要的。也許找個悠閑的下午,打開蘋果的教程,試著寫幾行。我相信任何都可以理解些簡單的代碼。

關鍵詞:

責任編輯:hnmd003

相關閱讀

相關閱讀

推薦閱讀