首页 > 新闻 > 智能 > 正文

这位被苹果点赞的学生开发者,接触编程还不到一年 天天热门

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

相关阅读

相关阅读

推荐阅读