纪录我的编程之路

今天恰好是我编程一年的纪念日,回想起去年这个时候对编程懵懂的我安装VS2012时的兴奋,到今日还算是入了编程的门(仅仅是自我感觉:P),心中还是有不小的成就感的。此刻闲来无事,就纪录下我这一年来编程的一点经过和感悟吧。

确切地说我第一次接触programming并不是在去年,相反我很小的时候就接触了Logo语言。单单是说名字的话可能很多人并没听过,但提到一只带着画笔的小海龟可以在你输入特定指令的情况下做出相应的回应,例如画个图形,可能很多我的同龄人都会恍然一悟的感觉吧。但是由于当时年龄太小,所以并没有从中学到什么,也没有感受到编程带来的快乐。

真正让我开始学习编程的应归功于我在学校选修的一门html的课程(但html实际上并不算是编程语言,因为没有图灵完备,可以归类于标记语言)。就像人类的极致乐趣在于毁灭和创造一样,从html我感受到了仅仅用头脑就可以创造一个我独有的世界的快感。但是当时学校教的内容太浅,无法满足我刚被撩起的强烈兴趣,因此我决定认真的选择一门语言开始编程的学习。

由于刚开始什么也不懂,粗略的在网上浏览了一下相关资料,我决定选择c++,这个在国内大学被普遍用于入门的语言。其实后来我才知道,在国外的话用java和python入门更加普遍。但是如果让我重新选择的话,我相信我是不会更改的。因为c++的难度系数比较高,虽然学习曲线更加陡峭,但后来学习其他语言的话是较为轻松的。例如java语法层面的掌握我仅仅用了3天左右。

对我来说迈出编程的第一步通常是最难的,找到开发工具,安装并设置工作环境,选择合适自己的教程,以及强迫自己适应c++的编程思想,都是需要努力克服的障碍。但是一旦第一步迈出之后,后面的学习就相对于比较轻松了。兴许是我对编程有一点talent :P,像对刚入门的初学者来说比较难理解的概率,例如指针,函数等,我都较快的上手了。在这里我冒昧的介绍一下我的学习方法:学完某一个概念后,一定要积极的实践,最好是能够创造条件给自己设计一个小项目。例如学完赋值和运算符后,可以做一个简易的四则计算器,学完函数后,可以做一个解二元一次方程组的program.

我做的第一个比较大的练手是控制台下的贪吃蛇。虽然当时并没有学到链表,但很神奇的,我解决蛇身一起移动的思路和链表非常相似,可以说就是链表。后来当我学到链表时,我才惊讶的发现这不就是当初我写的那个吗(笑)。解决了蛇身移动(包括控制等)后,我就没什么兴趣了。因为判断碰撞墙壁什么的对我来说很繁琐也并不能提高我什么,因此这个小项目就搁下了。但是很久以后我又用Qt做了一个带画面的完整版:P

大概2个月左右的话我就基本把c++的语法层面学完了(仅仅是语法和概念,毕竟life is too short to learn c++)。期间用控制台用完成了例如学生管理档案和俄罗斯方块等项目,包括我自己设计的控制台小游戏的半成品。这时也许自己已经厌烦了console的单调和枯燥,于是想寻找一个能绘制漂亮画面的开发框架。在众多c++GUI框架中我先选的是mfc,然而不知为何系统老是提醒我缺少这个那个dll.一怒之下我愤而选择了Qt,这个好安装多了,一路确定点到底,一个漂漂亮亮的IDE就出现在我眼前了。

也许人都有惰性,对新东西都有些抗拒。一开始我用Qt是很不习惯的,一是因为这是第一次接触正规的文档(没错,学好Qt的精髓就是阅读文档)而无从下手,二是我还不理解Qt的signals-slots机制,因此开始是非常吃力的。好在在我自我逼迫下,总算是渐渐上手了。Qt的文档写的是非常赞的,近乎完全的OOP机制也让我有时候都会有种写java的错觉。

学Qt的时候我写了一些项目。包括带有界面的学生档案管理系统和贪吃蛇。另外还有表达式计算器,这个的算法也是我自己琢磨出来的,比如就是先寻找"(" 和 ")" 然后寻找/和*最后寻找"+"和"-"等。后来我才知道还有好几种比这个优秀很多的算法,现在在看当时写的真是惨不忍睹 XD. 

后来就想找一些大型的Qt开源项目练手,于是就琢磨起了太阳神三国杀。当然太阳神三国杀是c++实现底层,上层逻辑是用的lua.没办法我只能先学起了lua。好在lua非常简单,几天就基本掌握了,在参照神杀的文档写了几个武将的lua后(想玩的可以找我要源码,感觉技能设计的还是很棒的),我就没什么兴趣了。刚巧这时候county的tennis season开始了,我又是学校网球队的成员,因此每天放学后都要训练几个小时,回到家里基本就躺床上了。因此有几乎3个月都没碰编程了。

比赛完之后我又花了几个星期捡起落下的c++,然后想到自己数据结构和算法的基本功都很差,于是开始学习算法导论这本书。然而断断续续的看了一段时间后由于自己毅力太差又放下了。这时候暑假已经开始了,我又参加了当地的community service,每天都要在图书馆帮忙做shelving。再然后就是回国一个月,这段时间也是没怎么碰c++的。哦,值得一提的是暑假我报了flvs的APCS,学的是java。然而感觉老师并不很好,学的进度也很慢,对我吸引力并不大。但是经过c++的打磨自我感觉对java的掌握是非常快的。

从国内回来我就开始接触CoCo2d-x引擎了,因为我从很早开始就有想要做出一款好游戏的梦想。最好是像limbo那样棒的独立游戏。现在虽然开学了,我的senior year也有很多AP课程导致比较忙,但是希望我能尽快学完c2x,从而能离自己的游戏梦更近一步。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267

推荐阅读更多精彩内容

  • TITLE: 编程语言乱炖 码农最大的烦恼——编程语言太多。不是我不学习,这世界变化快! 有时候还是蛮怀念十几、二...
    码园老农阅读 5,183评论 2 35
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,199评论 0 17
  • 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及...
    dle_oxio阅读 10,981评论 6 244
  • 作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。转载请注明出处。原文:https://www.ji...
    程序员联盟阅读 4,667评论 17 85
  • 吸收 红尘中休息是换一种方式存在,三弦中是发呆。 体验 释放什么,回流什么。试分享股权智慧,更加回流更多股权智慧。...
    雄安区阅读 153评论 0 0