- 帖子
- 3232
- 精华
- 6
- 积分
- 118231
- 阅读权限
- 200
- 注册时间
- 2013-7-21
- 最后登录
- 2024-11-21
|
有不少刚刚上大学的计算机专业学生问我,应当怎样去规划自己的编程学习,哪些东西比较重要。我虽不是什么大牛,但好歹也学了这么多年计算机,接触过几门技术,待过几家相关行业的公司。在这里,我分享一下自己的看法。我说的未必就是正确的,你也不必完全照做,只不过多一点经验之谈,供以后想成为程序员,或者打算从事相关工作的朋友参考。其他朋友没事也可以听听,了解下,说不定其中有你感兴趣的地方。
首先,大家最关心的问题就是:我该学什么语言?这个问题一向没有标准答案。各种技术社区里吵了很多年,并将继续争论下去。对此,我的建议是:学好一门语言。具体是C++、Java或是其他语言,并不是特别严重的问题。只要这门语言现在在业内有不少人在用它,那一定有它存在的价值。所谓“学好”,不仅仅是你在这一门编程语言课程拿到一个比较好的分数,而是把它当做你的武器,不断地去打磨它,熟悉这门语言的特性,了解它的相关扩展,用它去实现你的需求和想法。各种编程语言在本质上都有相通的地方,但只有你深入某种语言之后,才能接触这种内在的相通之处,而不是各种语言都涉猎一番,又都停留在皮毛。一门武功练到十成胜过会十门一成的武功。
建议去学一门脚本语言,python/perl/ruby之类,但不建议把它作为你的第一门语言。脚本语言可以在平常帮你轻松搞定很多琐碎的事情,如数据处理、文件管理、网页抓取等等。但也因为过于好使,以至于让你失去很多接触基础编程的机会,也不利于养成良好的编程习惯。
其次,除了编程语言,你应该重视计算机类的基础课程。尽管很多课程看上去很晦涩难懂,也看不出跟编程有直接的关系,但它们是程序员的“内功”,是决定了一个程序员层次的重要因素。包括:数据结构、算法、计算机组成原理、操作系统、编译原理、数学(离散数学、概率论、线性代数)等等。没有这些基础,编程能力就只是花架子,知其然不知其所以然。
然后,你需要大量的练习。编程是件需要动手的技术活,知道怎么做和把它做出来有本质的区别。开始的时候,你去做上机题、编写小demo、完成课程的“大作业”。当对一门语言比较熟悉之后,你就应该大胆尝试一些更“逼真”的项目,比如搭建一个网站、编写一个手机app、制作一款游戏等等。这些项目可以是对现有产品的模仿,也可以是你自己的某个奇思妙想,不用去管是不是概念俗套、技术不够炫、没有用户,你要的只是去完成它。这些项目无论是对于磨练你的技术,还是为以后的求职,都有极大的帮助,
另外,你应当专注于某一个领域。比如web、移动应用、数据库、网络安全、游戏……这一点我不多说,因为在你不断完善自我能力的过程中,会自然而然倾向于某一领域,你要做的只是坚持下去,follow your heart。
|
|