這位被蘋果點(diǎn)贊的學(xué)生開發(fā)者,接觸編程還不到一年 天天熱門

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

        世界上有好學(xué)的編程語(yǔ)言嗎?

        楊昊倫自覺不是一個(gè)很有編程天賦的人,他就讀于帕薩迪納藝術(shù)中心設(shè)計(jì)學(xué)院,從小受到蘋果的影響,渴望打造創(chuàng)作產(chǎn)應(yīng),釋放們與俱來的創(chuàng)造。

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


        (資料圖片僅供參考)

        ▲ 楊昊倫 .

        在接觸 Swift 和 SwiftUI 以后,楊昊倫察覺到了機(jī)會(huì)的降臨:創(chuàng)造個(gè)完整的 app 離自己前所未有地近。

        Swift 編程語(yǔ)言,是蘋果在 2014 年發(fā)布的開源編程語(yǔ)言,直觀的語(yǔ)法對(duì)新手十分友好。楊昊倫甚至稱它是「這個(gè)星球上最易學(xué)的編程語(yǔ)言」。

        楊昊倫通過官方渠道和第三方平臺(tái)學(xué)習(xí) Swift 和 SwiftUI,平時(shí)做些簡(jiǎn)單的 app 向家朋友分享 Beta 版,并在今年第次參與了 Swift 學(xué)生挑戰(zhàn)賽,成為了近四百分之一。

        Swift 學(xué)生挑戰(zhàn)賽,是蘋果為長(zhǎng)期支持學(xué)生開發(fā)者而推出的賽事,往往在 WWDC 前揭曉結(jié)果。今年全球共有 375 名獲獎(jiǎng)?wù)撸瑦鄯秲翰稍L到了其中的 5 位中國(guó)學(xué)生。

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

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

        將興趣變成實(shí)踐,往往需要一個(gè)按下開關(guān)的契機(jī)。

        魯晟遠(yuǎn)的 iOS 開發(fā)旅程,正式開始于高二時(shí)。在此之前,他學(xué) Photoshop,上手設(shè)計(jì) app 用戶界面,但那些始終只是不能用的「原型」。讓它們「活」過來的目標(biāo),暫且被封存下來。

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

        后來被科學(xué)老師邀請(qǐng)參加高中生科學(xué)工程競(jìng)賽時(shí),魯晟遠(yuǎn)突然就意識(shí)到,機(jī)會(huì)來了:自己為什么不能成為一名程序員呢?

        ▲ 魯晟遠(yuǎn) .

        他從最基礎(chǔ)的 Swift 語(yǔ)法學(xué)起,將之前一款邊玩邊學(xué)化學(xué)的 app 原型真正做了出來,并且?guī)е雵嗣绹?guó)州級(jí)別競(jìng)賽。

        身為開發(fā)者的興奮感,轉(zhuǎn)折了人生的十字路口。本來打算學(xué)藝術(shù)的魯晟遠(yuǎn),申請(qǐng)大學(xué)時(shí)改成了計(jì)算機(jī),現(xiàn)在就讀于加州學(xué)爾灣分校的計(jì)算機(jī)科學(xué)與商業(yè)管理。

        其他幾位獲獎(jiǎng)?wù)呔幊讨返拈_頭,也存在著遙遠(yuǎn)的相似性。

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

        ▲ 何正浩 .

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

        中央財(cái)經(jīng)大學(xué)國(guó)際經(jīng)濟(jì)與貿(mào)易專業(yè)的戴藏龍,高中時(shí)對(duì)開發(fā)產(chǎn)生了興趣,并關(guān)注到了 Swift 語(yǔ),閱讀了它的開發(fā)者文檔,但礙于學(xué)業(yè)壓力,大二才選修了 Python,大三又開始自學(xué) Swift,讓心中的熱情不再束之高閣。

        ▲ 戴藏龍 .

        上海商學(xué)院日語(yǔ)專業(yè)的張祎寧,則是一個(gè)相對(duì)的非典型案例,從初學(xué)者到獲獎(jiǎng)?wù)叩倪^程里,她遭遇了各種偶然的小插曲。似乎缺少了任何一個(gè),都無法打出這個(gè)完美結(jié)局。

        ▲ 張祎寧 .

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

        Swift Playgrounds 是適用于 iPad 和 Mac 的一款 app,幫助初學(xué)者以互動(dòng)有趣的方式來學(xué)習(xí) Swift 編程語(yǔ)言。張祎寧很喜歡其中輕松有趣的關(guān)卡設(shè)置。

        ▲ Swift Playgrounds.

        誰(shuí)都能通過 Swift Playgrounds 對(duì)編程感興趣!它更像是一個(gè)闖關(guān)的游戲。不同的是,你在闖關(guān)的過程當(dāng)中,就可以掌握一些編程的基礎(chǔ)知識(shí)。

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

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

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

        ▲ Who am I.

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

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

        以上 5 位獲獎(jiǎng)?wù)呃铮?3 位是非科班出身,其中 1 位接觸編程還不到 1 年。

        在每個(gè)人的時(shí)間線上,契機(jī)來得或早或晚,但線與線產(chǎn)生了交纏,讓他們?cè)谕粓?chǎng) Swift 學(xué)生挑戰(zhàn)賽頂峰相見。

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

        想法從來不會(huì)憑空出現(xiàn),哪怕張祎寧調(diào)侃自己的 app 是夢(mèng)到的,那也是日有所思夜有所夢(mèng),抓住靈感后努力發(fā)散,憑借技術(shù)讓它落地生根。

        其他幾位獲獎(jiǎng)?wù)邽?Swift 學(xué)生挑戰(zhàn)賽提交的 app,基本也都是從自身需求出發(fā)的。

        魯晟遠(yuǎn)的「大學(xué)申請(qǐng)寶」,功能就體現(xiàn)在名字上,解決讓許多美國(guó)留學(xué)生叫苦不迭的問題。他曾在 B 站發(fā)布過一期視頻,記錄的就是自己與 22 所學(xué)校相愛相殺的大學(xué)申請(qǐng)季。

        ▲大學(xué)申請(qǐng)寶 .

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

        何正浩的參賽作品「Scheduled」,則是一個(gè)教育類 app。他在大學(xué)的操作系統(tǒng)課里學(xué)到了調(diào)度算法,但文字的呈現(xiàn)方式太過抽象,他決定親自動(dòng)手,將它做得直觀。

        ▲ Scheduled.

        Schedule 的本意是調(diào)度,Scheduled 便是一個(gè)模擬操作系統(tǒng)調(diào)度的互動(dòng)類工具,通過生動(dòng)的視覺呈現(xiàn),以及深入淺出的名詞解釋,讓非專業(yè)用戶也能了解一些專業(yè)知識(shí),比如操作系統(tǒng)如何在處理器有限的情況下,給各個(gè)程序分配計(jì)算資源。

        類似地,戴藏龍也從專業(yè)知識(shí)入手,做出了記賬應(yīng)用「DebitCredit」,它的直譯為「借貸」,指的不是借款與貸款,而是復(fù)式記賬法里的借方和貸方。這是種強(qiáng)大、靈活的記賬方法,也是當(dāng)今世界記賬方法的事實(shí)標(biāo)準(zhǔn),但使用起來需要一定的會(huì)計(jì)學(xué)知識(shí)。

        ▲ DebitCredit.

        戴藏龍希望通過「DebitCredit」,簡(jiǎn)化復(fù)式記賬法,讓每個(gè)人都能夠在沒有會(huì)計(jì)知識(shí)的情況下,用它管理自己的財(cái)務(wù),看懂公司的財(cái)務(wù)報(bào)表,在投資與工作里受益。

        楊昊倫的「Redesigner」,巧妙地結(jié)合了交互設(shè)計(jì)與編程語(yǔ)言,是個(gè)幫助開發(fā)者學(xué)習(xí) UI 設(shè)計(jì)基礎(chǔ)的交互式指南,以「SixD」的名字,上架了 iPad 的 App Store。

        ▲ Redesigner.

        想法來自楊昊倫的觀察:許多開發(fā)者的 app 功能強(qiáng)大,但它們的 UI 設(shè)計(jì)有待提升。「SixD」能夠幫助這些開發(fā)者,創(chuàng)作出兼具好設(shè)計(jì)的 app。

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

        編程語(yǔ)言,其實(shí)就是實(shí)踐想法的工具,Swift 學(xué)生挑戰(zhàn)賽,評(píng)比的也是如何把想法用 Swift 變成現(xiàn)實(shí)的過程。它考驗(yàn)的不只是編程能力,還有創(chuàng)意、設(shè)計(jì)和解決問題的能力。

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

        其實(shí)在參加 Swift 學(xué)生挑戰(zhàn)賽之前,不少獲獎(jiǎng)?wù)叽_實(shí)已經(jīng)有了成型的 app,同樣是從真實(shí)存在的需求獲取靈感,或者說日常生活里,本就埋藏著形形色色等待被解決的需求。

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

        ▲ Numpkin.

        靈感緣起于高考后第二天的一場(chǎng)同學(xué)聚會(huì)。當(dāng)時(shí),何正浩代付了各項(xiàng)支出,他來回切換備忘錄和計(jì)算器,計(jì)算向每位同學(xué)收取多少錢,但因?yàn)榇蠹覅⑴c的項(xiàng)目不同,復(fù)雜的計(jì)算過程讓他很是頭疼,驅(qū)使著他開發(fā)出一個(gè)管理多人支出的 app。

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

        ▲ 披薩小助手 .

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

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

        所以,他們既不天真地覺得有完全的原創(chuàng),充分做好市場(chǎng)調(diào)研,又能從自身的需求出發(fā),保持創(chuàng)作的獨(dú)立性。他們相信,其實(shí)并沒有那么多輪子,就算有也能造出更好的輪子。

        只有一個(gè)點(diǎn)子,并不能夠解決任何問題,也并不意味著任何事情。

        楊昊倫所說的這句話,也是其他同學(xué)的共識(shí)。更重要的事情是,親自動(dòng)手將點(diǎn)子實(shí)現(xiàn)。

        理解代碼的最好方式是動(dòng)手去做

        Swift 是相對(duì)簡(jiǎn)單的編程語(yǔ)言,但要把它學(xué)到真正上手,并非不費(fèi)吹灰之力。沒有絕對(duì)好學(xué)的編程語(yǔ)言,也不存在和自然語(yǔ)言很接近的編程語(yǔ)言,哪怕是 Swift。

        幾位獲獎(jiǎng)?wù)叨际稚瞄L(zhǎng)自學(xué),以及利用身邊的一切資源,視頻、文檔、書籍、博客、官方教程、開發(fā)者社區(qū)、社團(tuán)俱樂部 ...... 哪里能夠解決問題,就往哪里而去。

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

        在楊昊倫看來,Swift 是「這個(gè)星球上最易學(xué)的編程語(yǔ)言」,因?yàn)樗恼Z(yǔ)法十分易懂,同時(shí)有非常豐富的學(xué)習(xí)素材,能夠給到足夠的正反饋。

        ▲ Swift 的基礎(chǔ)知識(shí) .

        正是因?yàn)檫@樣,才更應(yīng)該去做。哪怕你只學(xué)會(huì)了循環(huán)、函數(shù)等基礎(chǔ)概念,也能夠直接進(jìn)入 SwiftUI,開始寫一個(gè)真正的 app,甚至看到它在 iPad 上真正運(yùn)行起來。

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

        戴藏龍最開始沒有 Mac,就用 iPad 完成了斯坦福 SwiftUI 慕課課程的學(xué)習(xí),因?yàn)?iPad 也能運(yùn)行 Swift Playgrounds。

        當(dāng)時(shí),他配了一塊鍵盤,左邊擺著 windows 筆記本,右邊放著 iPad 擼代碼。

        iPad 完全可以勝任學(xué)習(xí)編程,你并不需要擁有臺(tái) Mac 才能開始。

        iPad 也是魯晟遠(yuǎn)的重要工具,他剛開始在 Swift Playgrounds 學(xué)習(xí)時(shí),每天放學(xué)回家就打開它完成個(gè)章程。

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

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

        我做夢(mèng)都想成為開發(fā)者,現(xiàn)在我突然就成了。

        編程沒有那么遙遠(yuǎn),但也沒有那么容易,不必被想象嚇到,也不要沉迷案頭知識(shí)而放棄前進(jìn)。

        蘋果在開發(fā)者教育上有著這樣的理念:Everyone can code。一旦真的開始實(shí)踐,我們會(huì)慢慢感覺到編程的美妙。所以動(dòng)手去做吧,就像魯晟遠(yuǎn)對(duì)新手的建議那樣:

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

        關(guān)鍵詞:

        責(zé)任編輯:hnmd003

        相關(guān)閱讀

        相關(guān)閱讀

        精彩推送

        推薦閱讀

        亚洲色成人网一二三区| 久久久久亚洲精品无码网址色欲| 亚洲av无码一区二区三区人妖| 亚洲午夜电影一区二区三区| 亚洲视频手机在线| 亚洲国产精品无码一线岛国| 亚洲成人影院在线观看| 亚洲日韩精品无码专区| 亚洲午夜成人精品无码色欲| 亚洲综合在线一区二区三区| 亚洲中文无码亚洲人成影院| 国产精品高清视亚洲一区二区| 久久亚洲最大成人网4438 | 亚洲综合无码一区二区三区| 日韩精品一区二区亚洲AV观看 | 精品国产_亚洲人成在线高清| 亚洲啪啪AV无码片| 国产精品亚洲成在人线| 国产亚洲综合一区柠檬导航| 亚洲av中文无码乱人伦在线咪咕 | 在线aⅴ亚洲中文字幕| 亚洲综合一区二区三区四区五区| 亚洲一区二区三区高清在线观看| 亚洲乱亚洲乱妇24p| 自拍偷自拍亚洲精品偷一| 无码天堂亚洲国产AV| 亚洲精品无码激情AV| 亚洲色欲久久久综合网| 久久久影院亚洲精品| 亚洲视频一区二区三区| www.亚洲成在线| 亚洲AV无码一区二区三区性色 | 亚洲成AV人网址| 亚洲色欲久久久综合网东京热| 亚洲成色在线综合网站| 久久精品国产亚洲精品2020| 亚洲国产成AV人天堂无码| 亚洲午夜精品久久久久久app | 久久亚洲免费视频| 亚洲成A∨人片在线观看无码| 亚洲中文字幕日本无线码|