你有想过自学程式语言,但不知道如何下手吗?对于门外汉来说,程式语言就像是个来自遥远星际的符号,更别说要自己钻研然后写出一个App了。

与此同时,一位现年18岁,来自砂拉越的中学少年Bernard Lim在疫情全国封城期间在家研发出一款科学教育App ARScience,更是借此赢得了今年度的Swift Student Challenge!然而他并没有IT相关的教育背景,靠着自学自研独立开发一款AR App,对于每一个想要自学程式语言的人来说,Bernard Lim的成就可说是令人向往。
那他是怎么开始,又是怎么办到的呢?透过小编进行的采访,我们或许能更实地的去了解程式语言的编写,以及如何从0开始完成一个App。
一门技艺的自学,自然是起源于热情,Bernard Lim表示,他为现代软件所能够进行复杂且多样化操作所深深吸引,这启发了他想要透过先端科技解决生活问题的念头。在学习程式语言的过程中也让他了解到编程有着无限的可能性。
之所以会选择Apple的Swift语言,那是因为他对开发Apple设备的App情有独钟,同时他也认为Swift相对起其他的程式语言还来得更好阅读理解、同时也足够的安全以及现代化。

虽然这个App是在MCO(2020年)期间完成,但他早在2017年用了3个月的时间在Swift Playgrounds学习了大部分Swift程式语言相关的知识,后来在2020年花了一年的时间来学习Apple frameworks的知识,这包括了UIKit、SwiftUI、ARKit以及SceneKit等用来开发iOS App所需的框架,在当年他就花了一个星期的时间开发一个信息应用。至于ARScience则是在2022年为了参加Swift Student Challenge而开始制作,从研究到设计、测试、debug的过程中耗时2个星期。

至于开发App所需的设备,Bernard使用的是一个2014年款Mac mini以及一个2021年款的iPad Pro,他表示,除了两款设备之间的便携性以外,在编程的过程都很顺畅,其中iPad上的Swift Playgrounds倾向于进行一些比较简单的编程任务,而Mac mini上的Xcode则是用于相对较为复杂的操作,像是UIKit、AppKit等框架的使用。
他也表示即便没有IT相关的教育背景,任何人都可以上手程式语言,只要你对程式语言有着足够的热情,并且持续投入学习,必然会有所回报。

Bernard开发的重大App,便是一个名为ARScience的应用,结合AR技术,用户可以透过这款App学习到分子结构、离子键结、地心引力等有着复杂结构的科学知识。利用AR技术,你可以讲教材与现实场景融合,像是利用现实中的物体来展现地心引力的方向。
他表示,之所以会选择开发这样的App,事因为他发现自己周遭的同学朋友很难记住这些复杂的科学结构,但课本上的讲解又过于无聊,因此他决定开发一个富有互动性、带入感的教学App,让学生们能够有趣且有效的学习。

当然,开发App的旅程并非一帆风顺,对Bernard来说,他发现开发AR应用的时候会出现物体没办法准确定位的问题,而且这事情市场发生,因此他会寻求Apple线上开发者论坛或是stackoverflow.com等网站,这些线上社群往往也会有许多跟自己遇到同样困难的开发者,进而能在这之中找到协助。
在这个过程中,Bernard也参加了Swift Student Challenge,一个位为学生而设的编程挑战活动,透过提交Swift Playground作品来参赛,并在这个过程学习以及获得启发。他指出,当初参加这个活动由让他更加清楚自己在编程方面的知识隔阂,不仅仅是让他学习了知识,也让他在编程方面更有自信,可以说是让他踏入编程世界的重要里程碑。
至于在面对第二次Swift Student Challenge的他,最大的收获便是学习了更多新知识,也让他了解到编程的道路上永远都会有新知识,同时也也能感谢Apple的线上开发者社群,并坚信们在面对挑战时更需要互相扶持,即磨砺自己,也帮助他人。
有了ARScience的经验,Bernard接下来的编程计划也将继续往教育领域迈进,他表示自己讲打造让学生能更有效学习的App,进而协助培养出更多能够帮助世界的人才,像是他现在正在开发“番茄工作法”的App,透过25分钟学习、5分钟快速休息的技巧来提升工作效率并避免精神上的消耗。
最后,Bernard也分享了一些给编程新手的建议:确立好自己想要钻研的方向,比方说App开发又或是网页开发,不同的领域要学习的东西也各有不同,接着是可以在线上搜寻各种教程,又或是参与诸如Apple推出的Swift Playground来学习编程,他也建议不要花大钱去参与线上课程,因为许多免费公开的教材通常也有出色的质量,未必比不上付费的课程。最后也是最重要的,坚持下去,不要轻易放弃并且用于面对路途上遇到的挑战!

Apple Swift Student Challenge是个为学生而设的编程活动,每年的WWDC都会有相关的活动,让学生透过学习并活用Swift程式语言,挖掘下一代的开发者,更多详情可以到这个链接了解更多。