时间: 2016-12-28 文章来源: 洋蜜蜂
出国留学想学一门编程傍身,但是面对众多的编程语言却毫无想法。洋蜜蜂也整理了下一些作为入门的编程语言:C/C++, Python, Pascal,Basic, JAVA, C#等。选好一个入门的编程语言可能是一个伪问题,真正的问题是你选了其中一门语言后改怎么去科学的学习才是重要的。
学习一门编程语言,应该是容易的,因为计算机语言本身的特性只是它的语法。而计算机语言的语法无外乎是表达以下几个方面的概念:
1. 数据的表达
常量的定义
变量的定义
结构体的定义
类的定义
2. 控制流的表达
顺序语句
条件语句
循环语句
3. 封装和抽象 .
函数的定义和调用
类的定义和调用
库,模块,命名空间的定义和调用
. more info on 1point3acres.com
而当对这些概念有了基本的印象并学会了用一门计算机语言表达这些概念之后,接下来对于初学者来说最为重要的应该就是三件事情,掌握:
编程范式
基本的数据结构,算法
对应语言系统库常用的API
常见的编程范式有:
面向过程的范式,这个应该是对于初学者而言最为容易理解的方式,几乎所有的主流语言都支持这一范式,初学者应当首先学会这种范式
面向对象的范式,这个应当是最为主流的编程范式,从软件开发的角度看, 它的优点在于能够用面向对象的方式贯穿软件开发的整个生命周期,包括软件的设计、编码、测试
函数式编程,在并行计算的时代,函数式编程的范式将会成为另一大主流,推荐对其做一些了解。
算法是计算机科学的灵魂,它的意义在于让你理解计算机的工作方式的本质。对于初学者而言,不需要掌握过于复杂的算法,但是应当熟练地掌握基本的排序、检索、遍历的算法。数据结构亦是类似,初期掌握数组,链表,栈,队列,哈希表,栈即可。
系统库的意义在于可以大幅提高你的开发效率,虽然重造轮子是程序员的一大乐趣。但是在实际工作中,我们可能更多地需要追求效率,而系统库是过去优秀的程序员的经验的结晶,往往在性能和强壮性上都做了大量的优化,一般来讲都会比我们自己的实现要好得多。正因如此,学习和掌握系统库虽然枯燥(初期要记忆大量的API细节),但是却是一笔非常值得的投资。
以下想说说关于学习曲线的问题,初学者最大的障碍可能就是遇到问题得不到解答。不过,如今的学习条件跟当年互联网不发达的时候相比已经好得多了,有这么多优秀的问答网站,学习资源,百科全书可供使用,比如:
1. 知乎
2. stackoverflow
3. wikipedia
4. 美国一流大学的开放式课程
我推荐的学习方法是: . From 1point 3acres bbs
1. 选择一套优秀的学习资料,它可以是书亦可以是视频
坚持从头到尾学习下来,遇到问题通过google来寻找答案或者上问答网站提问
部分语言的优秀的入门教材
C: C Programming Language
JAVA: Java Programming Language, stanford's the programming methodology
C++: C++ How to Program
Python: Dive into Python, Learn Python the Hard Way
2. Practice Makes Perfect,提高编程水平一定要勤加练习,推荐使用在线测评网站练习。
比较适合新手的在线测评网站:
USACO
Euler Project
TopCoder
当你成功地写出自己的程序并通过测试之后,停下来,想想是否还会有更好的实现方法,总结自己在实现过程中遇到的困难,并且阅读比你更聪明的那些程序员的方法,阅读优秀的代码会让你学到很多。然后再尝试用更好的方法去实现。
3. 多分享,写博客或者来知乎,SO上回答他人的问答,帮助别人不但让你感到有成就感,其实也是提升自己的手段,因为只有当你能解答他人的问题之后你才是真正地理解了这个问题。
看到这里相信大家对于编程语言都有一个基本的底子了,希望大家认真考虑选择,并且认真的去学习。编程这块就需要花费大部分的时间去实操,这样效果才会更好。如果各位留学生们在编程这块还有其他的需要详细辅导的话可以联系洋蜜蜂的online tutor进行针对性的提升!