能力值:
( LV3,RANK:20 )
|
-
-
14 楼
我比LZ还要激进点, 高中没上两个月就退学了, 现在在家自学编程. 一是觉得编程不像其他东西, 最新的资源都在网上, 就算不上大学也能找到充足的学习材料. 二是对高考制度比较抵触, 我所在的市紧邻北京, 奥运之前北京好多重污染企业都搬到我们这边来了, 我们这边的水电也都优先调度北京, 但是高考分数线比北京高出好几十分去, 心里觉得不平衡, 所以不打算跟他们玩了.
退学之后, 因为之前有点编程基础, 就直接开始埋头苦写代码(类似大漠那样的外挂工具库), 这段时间巩固了windows编程的基础. 写出几万行, 基本实现了之前设想的主要功能之后, 发现已经没法维护了. 这时候才觉得需要重构了, 然后开始狂看书, 刚开始因为是以重构为目的的, 所以看了一些软件工程方面的书. 之后又觉得还需要更多的语言方面的知识和更系统的windows编程知识才能更好的完成重构, 又看了一些像effective c++, inside the c++ object model这类的书, 还有windows核心编程.
完成第一次重构之后, 本来想直接发布出去的, 但是觉得就这么放出来不方便推广, 就想搞一个自己的论坛. 然后就开始学一些web方面的东西, nodejs, mongodb, 以及相关的语言和框架比如coffeescript, LESS, express, meteor, backbone, requirejs什么的. 学web知识的这段时间才算是真正接触到了开源世界, 简单学了git, 开了github账号. 也是从这时候开始订阅了一堆老外的博客, 看看他们的技术动向.
再回头看曾经以为已经比较完善的c++代码, 已经变得不堪入目了...开始第二次重构, 用c++11, 以TDD的方式直接从头开始重新写. 这次重构的目的不太一样了, 以前是想着闭源卖钱的, 这次打算开源了. 一是用了不少优秀的开源库之后, 觉得自己这种水平的东西再闭源卖钱基本上就相当于骗钱了. 二是依据国情, 估计卖不出几份去就会被破解了, 还不如直接开源大家一起贡献呢. 三是这方面国内基本上没有开源的项目(外国可是有不少, 我在github上就看见过好几个开源的Wow私服还有Steam下好多游戏的协议的protobuf schema), 但是有很多人是从外挂开始接触编程的, 人家芝加哥都要把编程列为高中主修课了, 我觉得那些像我一样从外挂开始接触编程的人一上来就学习那些除了做外挂没有其他方面学习价值的语言太可惜了, 想要继续学习得花很大力气纠正畸形的编程思想. 所以我用c++实现底层功能, 用户在上层用lua编写逻辑, lua语法够简单, 入门很容易, 也足够灵活, 能面向对象, 也有不少函数式语言的特性, 而且还有内置的coroutine.
跑题了... 我没上过大学, 但是在网上接触了好多大学生, 感觉就算上了大学, 也主要得靠自学. 大学里的课程似乎都太老了, 有一个跟我聊得挺好的南开的妹纸, 她们学校只教16位汇编, c++以vc6为标准, 而且只讲语法, 学完c++之后竟然不知道有标准库...而且就在这种从来没写过上千行的程序的状态下, 学校竟然还要求搞项目, 不是xx管理系统这种东西, 是那种一听就特别厉害, 能拿经费, 能上新闻的项目. 我不知道给经费的人是怎么想的, 反正我不觉得这种状态下能搞出什么完整可用的东西来.
相比起来, 我觉得我现在在家的学习效率比以前在学校高多了. 我上过两个月的高中是个省重点, 但是相对还算是管得比较松的(我们省有一个大奇葩叫衡中, 可以自行google一下), 高二高三我不清楚, 高一的作息是早晨六点左右起床, 跑操, 早餐, 上课, 午餐, 午休, 上课, 晚餐, 晚自习一直到九点五十, 只能寄宿, 不能走读, 每个月有一个星期能休两天的周末, 一个星期能休一天, 剩下两个星期能休半天. 对于我这种特别能睡的, 基本每天都在半睡半醒之间度过, 当时就感觉学习效率很低, 而且就仅有的几次考试来看, 其他同学的学习效率应该也比我高不哪去. 回家之后, 我每天十到十二点左右睡觉, 早晨八点起床, 意识明显清醒了, 而且还不掉头发了(以前用手抓一下就能掉好几根), 最关键的是我学的都是我想学的东西了, 比如前几天刚看完的 Learn You a Haskell for Great Good! , 每天都像追小说一样一章一章追着看, 能瞬间理解的地方一带而过, 不太好理解的部分(比如monad)能停下来多写代码来实验, 一点一点用:t看类型. 感觉这样比挺老师讲更有效率, 记忆也更深, 还是monad这块, 以前还特地在youtube上看了一个一看就是大师那种级别的白胡子爷爷讲了一个多小时的视频, 讲得也挺好的, 各种类比, 语速不快发音也标准, 听起来不费力, 而且听他讲的时候也都明白了, 但是等到写代码就傻眼了, 所以最后还是自己一点一点观察推导着来学的.
总之我还是很满意我目前的状态的. 我不是在劝你退学或者证明大学无用, 我的经历仅供参考.
|