年代久远,可能未涉及全部内容,后续会慢慢补充。

小时候,我的家庭条件不是很好,当然也不算特别差,中规中矩的水平。

小学四五年级左右,我迷上了Minecraft,我迷恋它近乎无限的地图和极高的创造性。起初,我只是每天放学后和家里隔壁饭店和我年纪差不多大的朋友一起去他家玩电脑版的MC,后来,我了解到了MC也有手机版,因此就开始拿着家里人的手机下载便携版的MC之后沉迷到游戏中。逐渐地,我了解到了优酷的籽岷(当时岷叔还主要活跃在优酷上)、多玩盒子、百度贴吧(当时的百度贴吧比现在的风气好。噢,倒不如说当时的所有社交平台风气都比现在的好。)、各种服务器(神话),在服务器上认识了至今还有联系但素未谋面的网友、蛤蟆吃…

我第一次感到一个游戏原来有如此多的花样,而不单单只是一个游戏本身,我第一次对一个游戏充满了无限的热爱。慢慢地,我开始仿照岷叔,在优酷上发布了第一个MC实况视频,我不在意是否有人看,仅仅因为喜欢。

越发不可收拾,3年过去了,我在优酷上上传了一百多个视频。也就是在这期间,对计算机的热爱在我的心里逐渐燃烧:局域网联机、蛤蟆吃联机、修改MC配置文件…

可以说Minecraft间接地带我走进了编程的世界。

我开始了解到编程这个事物,并对编程感兴趣大概是从2016年的初二上学期开始的。学校公告栏上张贴了一份奥林匹克信息学竞赛培训的通知,当时顿时来了兴趣,对另一个好友说:“要不参加试试看吧!”我不擅长主动邀请别人,因为怕被拒绝。令我些许惊讶的是,他很快就答应了。我们开始投入C语言的怀抱。

很快,我们参加了培训。老师人很好,耐心地教我们什么是include,什么是基本类型。我们了解到了如何用C制作一个helloworld程序,了解到了循环、条件语句;排序、递归、贪心、模拟算法。


Mar 19, 2017

还记得当时老师教我们如何写死循环,然后终端上无限打印出字符串时我们的喜悦,还记得在了解C4droid之后,制作了一个无限创建进程的手机软件,然后骄傲地发到班群里面以为同学会中招然后佩服得五体投地,结果被QQ检测到病毒禁止下载后的沮丧,还记得第一次做noip的递归题,在草稿纸上花了一大张调用栈,最后解出题的轻松…为此,我们还专门成立了一个组织——梦倾天下,专门讨论编程和科技有关的话题。然后经常写一些当时觉得很厉害的代码,往群里发。

初二下学期末,老师给了我们一个任务:给一年后的自己写一段话,我是这样写的:


当时的我,由于接触手机比较多,尤其对手机软件感兴趣。偶然间,认识了iapp这个软件,它是一个能在手机上通过使用“裕语言”来开发手机软件的一个APP。来了兴趣,疯狂折腾,搞出了各种聊天室、工具箱、浏览器等手机应用。

更离谱的是,由于当时法律意识浅薄,我甚至做了一个手机病毒,可以引导别人通过短信的方式发送账密到我的手机号上。也不知怎么传播的,真有人把账密发到了我手机上!将近10个人!(不过纯真的我并没有登录别人的账号,被吓尿了qaq)

慢慢的,我了解到开发手机软件不是这么开发的!是要用一种叫Java的语言。我开始使用AIDE(一个手机的java ide),不过没用多长就被这蹩脚的操作整放弃了(Java,尤其是Android SDK中那长长的方法名、变量名对手机用户很不友好QAQ)。误打误撞,看到了B站上的一个Google开放的Android公开课。

当时正值初二升初三的暑假,于是我有充足的时间去学习。这时,我甚至完全没有学过Java这门语言。好在老师们非常幽默(图中也看得出来hahaha,这也是我对Google产生好感的开始),我非常喜欢这个老师以至于进阶教程换老师之后就有点不想看了。老师从Coffee这个主题来引入,从工具、视图再到逻辑,富有条理且生动地给我们讲了安卓开发。


第一个真正的任务是做一个类似于上图的Just Java软件。我承认,从C的思维跳转到XML+JAVA混合开发的思维花了我不少的时间。刚开始,我甚至连public是啥都不知道。庆幸的是,除了一些所谓的模板代码之外,大体的逻辑都能够明白。之后就是OOP了,我又花了大量的时间去理解OOP,不过当时并没有完全摸透,只是给我留下了对OOP的一些刻板印象——匿名内部类!多文件!盒子封装!

在学完基本的开发之后,我便迫不及待地想做一些自己想做的事,比如说——为自己家的饭店开发一个点餐软件。


待续(三点半了睡了睡了)