一台能自由支配的电脑
首先是一些物质条件。你需要一台能自由支配的电脑,安静的环境,各种参考书,还有,别忘了定外卖。
当你已经学完了c语言,并且能用c语言实现一些常用的数据结构,你现在可以停一停了,想想以后要向哪一方面钻研。也许你在学习c语言的时候就在想这个问题,在逛那些论坛时你就看到了一些很火的方向。但是,你要选一个自己喜欢,并且能挣钱的方向,哪些技术已经过时了,哪些领域比较新。信息技术行业的产品和技术更迭迅速,你最好在一开始就押对宝。如果今后不幸,你的技术被某个新兴技术取代了(对于所有程序员来说,这几乎是迟早的事),不要沮丧,继续去学习。所学的知识在增多,我们的学习能力也在增强。下面是网上流传的一张图表。
下面我对会举几个例子,如果你正准备读大学,你可以考虑参加ACM比赛,这是个算法比赛。
或者你另有打算,可以试点别的。web分为前端和后端,如果你致力于成为前端工程师,你需要学习的有,html(现在它已经有了html5规范),css,javascript,jQuery,Ajax,以及一些ps技术。用这些,你就能做出绚丽并且功能强大的网页了。你当然也可以选择后端,这是一项很有挑战性的工作。你可以学习php,适合快速开发。但是php的性能和可维护性不及java,java是个很好的学习方向,如果你掌握了java,你既可以学习开发网站,也可以尝试去学学Android(就是我的方向),虽然以后Andorid可能用更好的语言去开发。c++也可以,新的c++11已经出来了,也许会比以前的c++...好吧,更复杂点。当然也有一些好的方案,python或者ruby,这些都是你值得考虑的。对了,最近新出现的rust和go也不错。
如果你想学习软件或者游戏开发,如果是桌面软件开发,当然c++是必学的,还有各种图形库。移动端的软件,当然Andriod,IOS,如果你想学IOS开发,首先最好有台mac,而且你还得学object-c,否则我觉得还是Android比较适合你。
一些术语和常识:算法,解决问题的方法和步骤。编辑器,用于编辑文件,有些编辑器能根据特定文件类型进行格式化,缩进,高亮等。编译器,将代码编译成机器码ide,集成开发环境,可以这么说,ide = 编辑器 + 编译器 + 调试器 + 各种方便的功能。框架,你会知道这个词的,有时候它是一种开发模式,但大多数时候它是一种帮助程序员完成开发工作的工具库。以后再补。
如果你想了解更多,去网上搜索吧,这是个很棒的习惯。
现在,至少可以这么说吧,你已经投身自己的事业了,在学习的过程中,我还有一些其他建议。
学用linux,不是windows也不是mac,和其他的话题无关,就当是对自己学习能力的一种挑战吧,你会学到很多。我知道一开始会很难,但是很值得。
学好英语,有很多外国文档需要你去看。