快好知 kuaihz订阅观点

 

开发小程序,05 后程序员直呼“太简单”?

在今年 Stack Overflow 的开发者调查报告里,我们发现一项有趣的数据:调查的 9 万名开发者中,70.8% 的开发者早在 18 岁前便写下第一行代码。

结合今年教育部新公布的《 2019 年教育信息化和网络安全工作要点》,推广编程教育,并对 2 万名中小学生信息素养评测。我们可以看到,全民编程时代即将来临,愈来愈多的程序员立志加入到 IT 队伍中来:

“未来我想当个程序员,不怕掉头发~”

“虽然我没有获得很多荣誉,也没有那位小哥哥长得帅,但我的头发更加浓密,具有更多的发展空间!”

“这(代码)也太简单了吧!”

在刚过去的暑假里,100 多位平均年龄只有 13 岁的“小程序员”参加微信主办的 2019 全国青少年微信程序编程创意营,并自信地发出以上的宣言。

在首届微信程序编程创意营中,这些“小程序员”们的创意无限,“编程力”十足:

我 11 岁,4 年编程经验

创意营里年纪最小的是赖宥诚,别看他只有 11 岁,却已是具有 4 年编程经验的“老司机”。

他 7 岁时,接过爸爸丢过来的编程书,开始踏上编程之路。随后他自学 Python、HTML 等语言,并用 Scratch 编写一些小游戏和学习乐高机器人编程。在 2018 年的 WRO 比赛(国际奥林匹克机器人大赛),他所在的团队获得了季军。

但对于微信程序,赖宥诚还是从此次的创意营首次“触电”,他零基础学习微信程序开发,不到一周便写出自己的第一个程序——LYC计算器程序。 

谈到设计初衷,赖宥诚观察到同学们做数学题时经常记不住计算公式,于是他想设计出一款方便计算的程序来代替麻烦的人工计算。

这个计算机程序包含有面积、体积、表面结合勾股定律、二元一次方程组、一元二次方程、求最大公因数和最小公倍数等囊括中小学的数学公式及方程,可谓是公式“百宝箱”。

LYC计算器程序

在开发的过程中,赖宥诚也曾陷入思维惯性:在求最大公因数时,赖宥诚一开始想的算法是:找出两个数的因数全找出来,再一个个比对。但他很快发现这是行不通的,在数据很大的时候这个算法很慢,因数太多了,最后他找到欧几里德算法来解决。

他和其他程序员一样,也有“不小心”删掉一个模块又重写新代码的痛苦经历。

毕竟赖宥诚是单枪匹马开发这程序的,负责逻辑设计、UI、发布整个程序的所有工作。

笔者现场发现,在创意营众多的小程序员中,赖宥诚年纪虽小,可表现沉稳、表达清晰、动手能力强,其他同学很自然地围绕在他身边观看其编程操作。

在大家开始学习开发一款小游戏时,有些同学还在问老师,赖宥诚已打开编辑器,慢悠悠地开始动手设计了。

赖宥诚说自己很喜欢编程,平常学习任务重,他会在周末自发地学习编程。谈及未来,他表示“未来我会继续努力学习,成为一个厉害的程序员,设计很多优秀的软件!”

码二代、“历史迷”,打造学习历史程序!

13 岁的张哲涵是一个“码二代”:父母均从事编程工作,耳濡目染下,他在小学四五年级开始学习编程,有 C++ 编程背景。张哲涵还是个“历史迷”,喜欢看《上下五千年》《明朝那些事》《中国通史》等历史书籍。

从 2021 年开始历史将列入广州中考,历史将成初中生们的“必修课”。传统学习历史的方法是枯燥地死记硬背,如何能帮忙同学们更灵活、有趣地学习历史呢?

对编程和历史均热衷的张哲涵和其他两位同学一同开发了一款学习历史程序——“知史乎”。

这个程序中功能很丰富:设有 “中国古代朝代排序游戏”“教材知识点梳理”、“易错题和难题答题游戏”、“答题方法分析”、“历史笑话”等功能,集知识干货与趣味学习于一体。

知史乎程序

需要开发这么多的功能,他们在开发过程中遇到不少问题,处理方式也很“程序员”:

1、需学习新的编程语言,JavaScript、WXML、WXSS,他们参考微信开发文档,边做边学。

2、在开发过程中,遇到“很多很多”Bug,耐心地一个个Debug。

3、在上传历史资料时,需要上传的文字和图片太多了,文件太大会导致上传卡机。最终利用程序后台的分包功能,成功将初中历史知识点、答题方法解析等众多知识点全部上传成功。

目前,“知史乎”程序仅包括七年级的历史,谈及未来,张哲涵表示它“不是昙花一现的产品”,后续将会加入更多的历史课程内容。

看到这,可能很多程序员会有疑问,“这些程序员是如何做到的?”

三小时开发程序,他为何直呼“太简单”?

8 月 29 日,笔者在腾讯滨海大厦观看小程序员的一节编程课:在三个小时内开发一款美食地图程序。 

在辅助代码和辅导员的指导下,小程序员们按照操作步骤完成环境部署、查询、刷新、列表、查看、新增等功能体验,并调试与运行。

有趣的是,有一位小同学边调试程序边直呼:“太简单了!”

可能会有人发出疑问:三个小时可能连服务都还没部署好?为什么他们能这么快能开发出一个程序?

为了让大家专注前端业务功能,这次课程借助程序·云开发来负责后端处理。云开发是由微信团队和腾讯云联合打造的 Serverless 云服务,是一个支持程序、Web 等多端的应用开发平台。提供云数据库、云存储、云函数、日志和监控等开发运维能力。开发者可使用云开发平台,调用程序的开放服务,来提升开发效率,快速试错和落地产品。

云开发还提供一个便捷的技术是“免鉴权”。为了保护用户数据安全,程序开发者每次调用程序开放平台的能力前都需要微信鉴权获取,而原有的鉴权流程较复杂,有些场景下还需要额外部署缓存服务,对开发者来说成本较高。

使用云开发后,只需要调用一个接口,就可以获取用户登录态(OpenID),节省开发者的时间,提高效率。

程序所见即所得,学生快速上手

在去年 11 月第五届世界互联网大会上,程序获选“世界互联网领先科技成果”。马化腾曾表示,程序打破了过去受限的开发环境,构建出一个新的开发环境和开发者生态,为“跨系统开发”这个世界难题给出了中国的解决方案。

程序简单、易上手,这是微信从平均年龄只有 13 岁的初中生开展创意营的前提。

腾讯集团市场与公关部副总经理张军表示, 过去我们的语言体系太复杂,没有一个高层次的数学知识,非常好的逻辑体系,你可能都没有办法真正的编程,即使你学 C++,刚学的时候也只是浅显地知道语言,能够做模拟式的程序运营,但不能跟自己的真实生活联系起来。

程序所见即所得,编完之后马上被身边的人使用,给中小学生的成就感很大。

张军还表示:我希望小学生、初中生能在自己的正常学习之外能有一些兴趣,如果这些兴趣还能反哺到对学习,这是很好的促进模式。

所以我们希望创造这样的环境,这里面有很多新的编程模式、编程体验,都能让他们体验,这对他们来讲是最大的乐趣。

在培养程序员的编程能力时,为什么此次采用创意营的方式来让学生学习程序编程,而不是采用传统方式,大家坐在课堂上,看着教材,听老师讲课?

广大附中教育集团副理事长、广州大学附属中学副校长李卫表示:

因为(计算机)教材已经远远落后时代步伐了。

比如(程序)编程,这样的语言很好,由浅到深,(让学生)先接触,先入门,再慢慢深入,这是很好的(学习方式)。所以我们现在也提出信息课的改革,结合现在的需要开设课程。

从本次微信程序编程创意营中,我们看到这些小程序员对编程的热爱与创意,相信在不久的将来,会为 IT 界注入年轻新力量。

与此同时,作为专业程序员的我们亦有危机感,不断学习。因为时代不断在变化,学习编程的门槛将越来越低,正如 AI 界的大牛吴恩达所说:

“现在人机交流正在变得越来越重要,可以预见,编程能力将会成为未来最深层次的人机交流的基础。所以我不认同那些认为世界上只需要几百万程序员的观点,在我看来,(几乎)每个人都应该学习编程,就像每个人都应该学习阅读和写作一样。”

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:程序员  程序员词条  简单  简单词条  程序  程序词条  开发  开发词条