2011年云南大学软件学院新生学习指南——中秋大礼包
2011年9月11日 17:20
中秋了。小师弟小师妹也快军训完了吧。记得之前每次毕业的时候bbs肯定都有师兄来写点人生指南阿,实习感慨阿。结果我进来以后bbs没落了,今年我们都毕业2个月了,没见一篇。虽然我对学习了四年的软件学院颇有意见。但是,什么叫母校呢。就是你可以一天操她百遍,却不许他人说她一句的地方。所以,我来写一篇云南大学软件学院入学全指南。(此处略停顿,等待掌声^_^)
选择
除了软件学院,你可以选择的更多。
我知道,在经历了天朝12年的应试教育以后。来大学第一天的感觉就是”我自由了“。这是一个最好的感觉,也是一个最坏的感觉。好是,你确实可以自己决定很多事情了,坏是,你确定你做出一些比较有利的决定么。上大学以后你确实知道你想要什么么。如果我这样问你,你能回答么。天朝的具体制度不去评论。我们以生物最基本的要求来要求自己,就是生存下去。^_^,是不是你说你都活了二十左右年了。难道不是生存么。我想说的是依靠自己的生存,有爸是双江,也蛮好的阿。是官二代,富二代。那我觉得,你的生存问题也不大。做一个好人就好了。大多数师弟师妹,你们应该好好考虑一下4年以后,你能怎么活下去。
过于明确的功利性选择向为有识之士所不齿,但是,如果当一个刚刚走出校门,面对残酷的商业竞争而举足失措的少年,或者是对于一个几乎耗尽了他的家庭生存成本终于读完了大本,却在就业市场上徒劳往返,不断奔波碰壁,甚至连最基本的生存都已难以保证的失败者,我们再义正辞严的宣讲什么 “君子谋道不谋食”,再讲什么“君子喻于义”,再讲什么“一箪食,一瓢饮,在陋巷。人不堪其忧,回也不改其乐”,这虽然省心省力,而且占据了道德的制高点,却未免有点不厚道。(抄的,我写不出这么好,但是表达了我想表达的东西。)
做IT很辛苦。加班就是必备技能。所以,我说除了软件学院,你可以有很多的选择。也许你听说IT高工资,但是我说,高工资全部在一线大公司,一线大公司,全部在一线城市。一线城市的幸福感真的很低。你那高工资跟那房价一比,跟工作压力一比。觉得真的一般。而如果你回家,考了公务员或者银行或者垄断国企,我觉得你生活质量和幸福感会很好。所以,人各有志,最好自己客观的评价一下自己,适合做什么事情。想过什么样的生活。好有一个全局的打算。将来是可以公务员可以事业单位可以国企可以垄断行业。所以,除了IT有很多选择。
软件学院后面两年的学费是1w2。不去说,值不值得的问题,如果家里条件有困难的同学。先思考,自己是不是真的喜欢做软件这个行当,有没有大毅力学这个行当。如果答案是否的话。我建议换专业。(过多不评价)
最后说一说,女生读软件的问题。我到目前为止,只听说过一个云南大学软件学院的大神是女的。而且是05级的。也就是说,我读了4年,向前认识2界向后认识2界,一共5界中。只听说过一个女生写程序很猛。所以,女生学软件,请慎重考虑。(完全没有歧视的意思)好了,说了不好的。来说说好的。女生么,大学一般学习比较乖,成绩一般比较好。我们院长关系还是很硬。每年都有去北大和复旦,其他也有。比例是5%。就是说。100个人里面保研5个。如果你能保持第一名三年。恭喜你,你可以去北大了。所以,对于女生的建议,要不就转专业,要不就好好学习。
综上所述,我只想说,除了搞IT,你还有很多的选择,让自己的人生更加的美好。
好了,说了怎么多。你最后还是决定留下来读这个该死的软件学院的话。你可以继续接着看了。
做为一个软件开发人员,或者说做为一个计算机专业的学生。我在下面三个选择中不断徘徊,不断挣扎。就为了这三个问题,耽误了很多学习的时间。所以,我有必要将我在这三个问题获得的经验分享一下。(PS:就算你不是电脑专业的也可以有些收获)
第一个选择和第二个选择密切相关:你需要一台什么样的电脑和你需要用什么样的操作系统。
你如果对这个问题觉得很奇怪了,或者说你要说你觉得电脑只有价钱的区分,操作系统只有windows xp 到 windows vista 到 windows 7。那我建议你多了解一下外面的世界。这情况是微软的成功,中国软件的悲哀。
扯远了,拉回来。我们为什么要选择电脑(品牌)。作为一个开发人员,我首先推荐ThinkPad。理由只有一个,专业。
作为一个企业或者一个开发人员来说,稳定是最重要的。根据我的观察和使用情况。即使Thinkpad已经被联想收购了,但是依然是最好的laptop没有之一。这个不解释。
另外一个选择,Mac。具体详细见
http://tiny4.org/blog/2010/02/why-programmers-should-use-mac-os-x/
再次不解释。
PS:不解释是因为有共鸣者不用解释,不了解者应该会自己Google一下。
彪悍的人生不需要解释。——老罗
所以,如果你在纠结于买一个什么样子的电脑,果断Thinkpad or macbook 。也许你说预算不够买thinkpad或者是macbook。那我就觉得,你可以入一个thinkpad二手。3000左右的,性能足够满足你所有学习上的需求。不过记住,thinkpad我只推荐T系列和X系列。其他的看都没有看过。
第二,选择什么样的操作系统。Windows or Linux or Unix or MacOS。
记得我最牛x的一个老师(伯克利数学博士)跟我说过,如果你选择windows你就站在整个硅谷的对面。呵呵,我对此深信不疑。首先,我很尊重微软。他是一个伟大的公司,为我们提供了无数伟大的技术。可是,我不喜欢。我更喜欢Linux这样自由免费的系统。具体理由详见:
http://blog.renren.com/blog/232813290/404956937
呵呵,如果你能坚持看完,那你就应该知道我的推荐了:
Linux or Unix or MacOS 没有Windows
第三,选择什么样的编程语言。
曾经,我苦苦纠缠于要学习什么语言,以至于什么都没有学的很精通。今天站在这个语言阵营,明天为那个语言阵营呐喊。结果三年以后的今天,我回过头去看。才发现,用什么语言都不重要,重要的是设计。不同的语言在不同的领域有不同的优点。只要能理解问题,设计出解决问题的方案。在找合适的语言来做就好了。前两天看见贺神转载的文章,上面有一句话很认同。手里如果有一把锤子,所有的问题都只有用钉钉子来解决。手里的工具是什么,就是你会什么语言。(这里大部分是转载了之前自己写的一篇blog,说这个有点早了,下面要开始说怎么学习了)
学习
先泛泛谈一下,在今天这个知识爆炸的时代。我们不可能学会所有东西。因此,只要有活到老学到老的决心就好。学海无涯。。。。。。。(每次有这种想法,就想起高爷爷(Donald Ervin Knuth)用一辈子写一部书,而天朝很难有人做技术到10年。浮躁的天朝)
IT里面也分为很多方向,而不是仅仅学院里面开设的那四个。而且发现,其实后来找工作时候,用到的知识,都是自己学的。就是说,学院与业界还是存在一定的脱轨。这个无能为力。当初对自己的定位也很模糊,学的很杂,走了很多不必要的弯路,所以今天把我的一些糟粕去掉,说一些精华的东西。因为我信仰开源自由的精神,也才来分享自己的想法。
恭喜你,你将获得第一个学习技能的重要提示——提问的智慧。
http://bbs.csdn.net/IndexPage/SmartQuestion.aspx
这个很重要,是学习的基本,是向人请教的规范。虽然只是一篇文章,但是我却说他是一项技能,值得你初期每次提问的时候,看一看。
第二:学会使用搜索引擎。
简单的说,就是你要学会Google,也许你觉得没什么学的。所以,现在你可以google一下google怎么用的问题哦。
http://zh.wikipedia.org/wiki/RTFM
这两个是基础,就想九九乘法表一样,应该时刻谨记。
然后,还有一个要学的基础就是选择一个文本编译器: Vim or Emacs
你现在选什么我也不知道,如果你不喜欢折腾就选Vim。如果,你觉得要变成一个手指的魔术师而且禁得住折腾的话就选择Emacs。但是必须深入的学习一个。
关于他们:
http://linuxtoy.org/archives/why-emacs-vim-good.html
Vim资料:
http://coolshell.cn/articles/5426.html
http://www.vimer.cn/category/vim
Emacs资料:
http://emacser.com/
能把所有连接都看完。坚持到现在,不错不错。我觉得你已经有超越我的迹象了。
在一开始,我说过,我们学IT其实不管喜欢不喜欢,最后的结果是我们能依靠它去生存下去。所以现在我们来选择我们要学习的方向,贪多不烂。深入一个方向比浅尝辄止好。(不断自省)还有一个问题就是IT这个行业每时每刻都有新的技术出来。有时候,你看见了,听说了。或许很眼红。觉得自己应该可以学学。已我的经验来看,这样做往往学不到东西。只说一个理由,就是新技术可能门槛很高。要学好它下面的基础要牢靠。也许一页字的东西。其实涉及了方方面面。你要看懂。要学习N多基础的东西。所以用2年学下面我说的东西吧。
第一,Vim or Emacs。(一辈子^_^)
第二,英语。
第三,数学。
只推荐两本书:
http://book.douban.com/subject/1320282/
http://book.douban.com/subject/1231910/
第四,C语言(在学习Vim or Emacs的时候,最好找一个懂的人教你们怎么用命令行编译c程序,推荐:王逍老师)
http://book.douban.com/subject/1882483/ (3个月-4个月)
http://book.douban.com/subject/4141733/ (这本有电子版的,自己google。 2个月)
http://book.douban.com/subject/5333562/ (6个月)
http://book.douban.com/subject/1139426/ (3个月)
http://book.douban.com/subject/1885170/ (一年)
这些书,我建议你一本一本买,然后一本看完了再进入下一本。
综上所述,我觉得起码要学到大二结束。如果你天赋异禀。几个月就搞定了。那我觉得你应该,也知道怎么向后面学习了。跟着感觉走就好了。
大三以后,我觉得你可以选择方向了,由于才粗学浅。很多方向我都只能给一个大概。
第一:Windows方向:
Windows我迄今看到的就做安全产品活的好一些。所以你需要学C++,Windows底下的汇编。学Windows核心编程。学Windows驱动。然后,你可能要写界面。你要学MFC or WPF。(Windows真的不懂。就只能到这里了。有大神补充了,我在加上。)
第二:J2EE方向:
国内最大的java应用是淘宝。你应该学S2SH, EJB,Maven。(个人觉得本科在学校这里就够了。有大神补充了,我在加上。)
第三:IOS方向:
iphone app很火。起工资也很高。如果你当初买了Macbook。强烈推荐你走这个路。能google到很多学习路线。大概就是objective-c 然后cocoa(有大神补充了,我在加上。)
第四:android方向:
火的一踏糊涂,今年我同学去了很多oppo。大概是Java->Android。(有大神补充了,我在加上。)
第五:前端方向:
工资高。福利好。工作压力小。说的就是这个阿。大概是css+javascript。然后是flash吧。现在flash做游戏的很多。(有大神补充了,我在加上。)
第六:后端方向:
python or php。豆瓣是纯python。python很多在招聘,python的话要求学django。大部分毕业能给到5k以上。php不清楚。(不过,很多要求还要会css和javascript。有大神补充了,我在加上。)
第七:DBA方向。
数据库。(彻底不懂,有大神补充了,我在加上)
第八:ERP方向。
学好J2EE就好了。(有大神补充了,我在加上)
第九:游戏方向:
C++ Lua。在深入一点的话看看OpenGL。(有大神补充了,我在加上)
写这个,主要是初期给师弟师妹们少走一些弯路。多出几个大神。零零总总。居然写了一个下午。很多想法在写的时候又没有想出来。哎。。。。。希望对各位有所帮助。