ITPub博客

首页 > > > 我的编程生涯(10):穿越虚幻和真实的暑假

我的编程生涯(10):穿越虚幻和真实的暑假

作者:u_453e1a12781dea 时间:2016-01-25 16:23:39 0 删除 编辑
我的编程生涯(10)
穿越虚幻和真实的暑假



按:应Ager的要求,我逐渐地贴出了我曾经走过的路,从一开始的朦胧,到启蒙,到学习和自我学习的过程和那些心中的感情。

这会是一个系列,Ager说会催促我将其完成。那么就从最开始的朦胧开始吧。大家可以就当做小说来看,不过里面我也会将自己的学习过程,以及之后的一些想法加进去。

篇幅比较长一点,不好意思~另外这些文字本身也会 因为大家的反馈做出一些修改。说白了,这就是一个大坑儿,所以谢谢观赏啦~~

很
快大一就将过去。虽然曾经坎坷,但是也有了回报。我坚信希望肯定存在,因此在任何情况下,我都不会再放弃。大一末的暑假,宿舍要换,因为我的书太多了,所以干脆就准备在学校附近找个房子。不过那都是开学以后才会发生的事情了。因此草草收拾了以后,我离开了武汉。

这是我在武汉呆的最久的一次。我爸爸是武汉人,因此还记得小时候暑假坐着火车来武汉的时光。那时家里只有奶奶,我顶着武汉夏日的阳光去天桥上面买莲蓬吃。时光一去不复返,在武汉留下的,却还是快乐的记忆偏多。

解决了编程方面这么大的问题,我带着电脑回到家,又开始了网上的生活。我们的卫斯理书友群的名字叫做“观察地带”,在卫斯理小说里,观察地带是指的环绕地球的,由外星人建立的观察人类行为的一个基地。在这里每天都有很有趣的事情发生,我们讨论着卫斯理的故事,当然还有我们自己的故事,其中最热烈的一件事情,当然是去年十一的上饶之行。我们将很多很多照片都放到了群空间。现在我已经不敢再进去看了。那个时候的我,还是那么单纯,洋溢着没心没肺的笑容的我,看上去是那么没有忧虑。

偶尔写写C++,在对算法有了理解之后,我开始更频繁地去用C++而不再是纯C了。我开始仔细地构建每个类,设计它们的接口。当然这种设计并没有现在这么明晰。当时我主要凭着的是一种感觉,一种对美的直觉。总结起来,大概就是正交性,和无冗余这两点吧。我开始对C++的实现感到好奇,于是看了不少关于这方面的书,书名不记得了。同时,飞燕算法群里的人也建议我学习STL,STL啊……听起来就好像很高级的样子……有难度。

 哦,对了,我有介绍飞燕么?飞燕是我真正理解编程艺术的启蒙人。她是一个神秘的女生。对于她,除了她喜欢二次元世界,学习自中山大学(传说中的逸仙魔法学校),现在的头像是御坂美琴(轻小说《某魔法的禁书目录》的女配角,同人篇《某科学的超电磁炮》女主角,超人气角色)以外,我对她毫无了解。对她的印象是很奇怪的,有时候觉得她非常严厉,有时候又会觉得很亲切。反正我对飞燕,一直都是抱着一种很尊敬的态度。

飞燕当过好几个编程论坛的版主,研究过很多东西。却因为自己的个性原因屡次被禁。现在我们已经很久没有见到过飞燕了。虽然曾经的朋友还在一起,但是总觉得缺少了什么。

飞燕自己设计了一整套基于论坛的在线题目评测系统。在论坛发新的主题就是出新的题目,然后注册会员们可以将自己的答案程序以回帖的形式提交。系统会自动编译提交的源代码,并以回帖的形式呈现具体的结果。结果有好几种,最好的就是AC了,这代表着你的源代码顺利的通过了编译,并且编译出的程序在规定的限制下对评测系统给出的所有输入都产生了正确的输出,我们称为评测系统“接受(Accepted)”了该程序,即AC——Accepted的简写。别的可能结果有WA——答案错误,TLE——超时,MLE——超内存等等。

飞燕是个很严格的人,程序如果写的有一点点不对就有可能过不了测试。很久以后,我都很感谢飞燕给予我这样的态度。

说到严格,我举个例子吧。有个关于电话号码簿的题目,里面没有给出电话号码的最大长度。如果你觉得可能最多也就十几位,你就错了……经测试,我们发现例子输入里面的电话号码居然有超过100万位的……我的天哪……程序稍微写的不好就会完蛋。

在飞燕群,我还记得的两个人一个叫做ningyusui,他当时是西安大学的研究生,是我很好很好的朋友,他性子很温和,经常会很耐心的教导新人。另一个叫tianyi,我经常会很亲切地叫他天逸哥哥,他住在南京。在那个暑假,我们经常一起学习编程技巧,一起讨论题目的解法,一起分享AC的快乐。

在飞燕群的影响下,我开始放弃阅读谭浩强的书,而转而去看ISO的C++标准。整份几百页的英文文档让我十分吃力。再加上我一直在写Windows的程序,所以MSDN不得不看。

所以竟然慢慢地习惯阅读纯英文文档了。现在如果问我一些我的知识是从哪儿来的,我居然有时候会记不得到底是从英文文档上看来的还是从中文文档上面阅读到的了。

其实看英文文档是对一个程序员来说至关重要的一步,而且这并不难,只是乍一看到会觉得很恐怖罢了。其实编程哪里不恐怖呢?很多东西,第一次看到都会觉得这完全不是人能够掌握的,但是久了也就习惯了。英文的文档通常会有很严格的逻辑关系,会严肃地定义术语,因此如果理清了整篇文档的逻辑,英文文档实际上是比大学英语的课文还容易阅读的。


MSDN也是很好阅读的。如果刚刚开始学习编程,我个人就建议从MSDN(如果是Windows程序开发)或者die.net(如果是Linux程序开发)或unix.com(如果是BSD或苹果的开发)上面去阅读那些相对短小的资料,然后就会慢慢习惯越来越长的文档,直到最后忽视掉语言的区别。


阅读英文的文档给我带来了极大的视野提高。我开始就着文档和源代码学习WTL——之所以没有学习MFC,一来是因为我是纯C写Windows程序入的门。二来,旧书店那本侯捷的《深入浅出MFC》太有点贵了……最后,很多人都推荐学习WTL,说比MFC轻量高效,比如千千静听就是用WTL书写的。当时一直觉得千千静听写的非常好,我从高中就开始用这款软件了,当时的版本好像还是三点几。因此我就义无反顾地投入WTL的学习过程中了。

WTL的学习让我极大地了解了C++的模板机制。虽然很多术语当时都没有听说过,但是对于模板可能做什么样的事情,却有了很直观的概念。在这个基础上学习STL,竟然发现STL是那么简单。我甚至没有买书,就基本上学会了简单的STL使用。不过学习STL的实现就是很后来的事情了。

于是,这个暑假,就这样悄然地一天天过去。有时候写代码累了,就在群里吹吹水,要么就是去论坛讨论一下算法知识。我买到了《算法导论》,这本书被ACMer亲切地称为clrs,是四个作者的名字首字母。这段时光是那么美好,美好地我都没有留下什么很清晰的印象了。

但是,在这个暑假,还是发生了一件大事。观察地带的群主,朱瑾姐姐(朱瑾,卫斯理小说角色,“东方十二花”之一,这个团队的所有人都是女性,以花命名,但姓氏必须是已存在的)不知道为什么,突然解散了观察地带。具体的原因我到现在都不清楚,因为当我发觉这件事情的时候,我们已经身处“新观察地带”了。这是12建立的一个新群。12居然凭着记忆力,将老群中所有的人都拖到了新的群里。每次想到这点,我都由衷地佩服12。

除了偶尔的几次以外,朱瑾姐姐再也没有在新的群里说过话。观察地带似乎也产生了某些某明奇妙的变化。12为新的观察地带找了一个管家,她自己则用了卫斯理管家的名字“老蔡”——没错,虽然是这样的一个老究的名字,但她的确是个女生,是个很可爱的女孩子,如同我自己的翻版,她也是高三刚刚毕业,即将去大学开始新的生活——正如同去年的我一样。

老蔡是个很古板的人,做事都一板一眼的,虽然我们都能从她的一言一行中看出其实她还是个稚气未脱的小女生,然后亲切地称呼她菜菜。恩,其实她的名字叫亦然。

于是,在这样的一个阳光明媚的暑假,我第一次认识了亦然,那个让我刻骨铭心的女孩子。

在学习的间隙,我去家附近的琴行学了吉他。因为飞燕群里面的高手们好像都会一两门乐器。另外听他们说练乐器对提高打字速度有帮助……然后就这么被骗去学了吉他。每个星期两节课,别的时间就是练习了。 在琴行我认识了于老师。他是我音乐的启蒙人。

我一直对音乐持有一种特殊的感情,不止是我哲学的入门书《苏菲的世界》中那对位法的一章,也在于对音乐渐渐深入的了解。

这样的一个暑假,充满了各种各样新鲜的事情,它们都发生在温暖而明媚的阳光中。

琴行橱窗内打着架子鼓的少年,一起学吉他的电音少女,家中电脑闪烁着的图标。一起构建了我漩涡般大学生活的最后一个宁静暑假。至于编程?那已经融化到我的生活中,和吃饭喝水一样平常,在记忆中如影随形,甚至感觉不出来它的存在。

但,这样的一个暑假,却也在默默地改变着我的一切。也许,人就是这么随着环境一点一点地被改变,直到自己都认不出自己吧。

注:本故事版权属ChinaUnix社区用户 starwing83 所有,转载请注明出处。

    (未完待续)

原文作者:;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2019-07-17

  • 博文量
    1982
  • 访问量
    17873