工作中,我总听到很多程序员抱怨,说现在的计算机编程语言太多了,学不过来了。
一些人 Java 用了很多年,但是最近的项目突然需要用 Python,就会不知所措,压力很大。
众所周知,Facebook 的主流语言是 Hack。不过,我敢拍着胸脯说,就刚入职的工程师而言,100 个里至少有 90 个,以前都从未用过 Hack。但是,这些人上手都特别快,基本上一两周后,日常编程便毫无压力了。
他们是怎么做到的呢?到底要怎么学?学习的过程中又要特别注意哪些地方呢?
不同语言,需融会贯通
其实,如果你在学一门语言的时候多阅读、多练习、多思考,你就会发现,不同语言都是类似的。编程语言就是人类控制计算机的指令,语法规则等方面都是大同小异。
而在原有基础上,学习一门新的编程语言,其实也没有那么难,你首先要做到的是明确区分。比如,在学习 Python 的条件与循环语句时,多回忆一下其他语言的语法是怎样的。再如,遇到 Python 中的字符串相加时,你能分析出它的复杂度吗?再联想到其他语言,比如 Java 中字符串相加的复杂度,它们之间有什么相同点、又有什么区别呢?
除了能够明确区分语言的不同点,我们还要能联系起来灵活运用。比如,最典型的“编程语言两问”:
-
你了解你学过的每种编程语言的特点吗?
-
你能根据不同的产品需求,选用合适的编程语言吗?
举个例子,Python 的优点之一是特别擅长数据分析,所以广泛应用于人工智能、机器学习等领域,如机器学习中 TensorFlow 的框架,就是用 Python 写的。
事实上,很多公司都是这样,服务器端开发基于 Python,但底层的基础架构依赖于 C++。这就是典型的“不同需求选用不同语言”。毕竟,你要明白,哪怕只是几十到几百毫秒的速度差距,对于公司、对于用户体验来说都是决定性的。
唯一语言,可循序渐进
当然,如果 Python 是你学的第一门编程语言,那也不必担心。我们知道,虽然同为人机交互的桥梁,Python 语言比起 C++、Java 等主流语言,语法更简洁,也更接近英语,对编程世界的新人还是很友好的,这也是其显著优点。这种情况下,你要做的就是专注于 Python 这一门语言,明确学习的重点,把握好节奏循序渐进地学习。
我把编程语言的学习重点,总结成了下面这三步,无论你是否有其他语言的基础,都可以对照来做,稳步进阶。
第一步:大厦之基,勤加练习
任何一门编程语言,其覆盖范围都是相当广泛的,从基本的变量赋值、条件循环,到并发编程、Web 开发等等,我想市面上几乎没有任何一本书能够罗列完全。
所以,我建议你,在掌握必要的基础时,就得多上手操作了。千万不要等到把教材上所有东西都学完了才开始。计算机科学是一门十分讲究实战的学科,因此越早上手练习,练得越多越勤,就越好。
不过,到底什么叫做必要的基础呢?以 Python 为例,如果你能够理解变量间的赋值、基本的数据类型、条件与循环语句、函数的用法,那么你就达到了第一步的底线标准,应该开始在课下多多练习了。
比方说,你可以自己动手编程做一个简易的计算器,这应该也是大多数程序员实操的第一个小项目。用户输入数字和运算符后,你的程序能够检查输入是否合法并且返回正确的结果吗?
在做这个小项目的过程中,你可能会遇到不少问题。我的建议是,遇到不懂的问题时,多去查询,这样你还能阅读别人优秀的代码,借鉴别人的思路,对于你的学习肯定大有帮助。
第二步:代码规范,必不可少
学习编程讲究快和高效。但是,与此同时,请一定不要忽略每一种语言必要的编程规范。在你自己刚开始写代码练习时,你可以不写单元测试,但总不能几百行的代码却没有一个函数,而是从头顺序写到尾吧?你可以省略一些可有可无的注释,但总不能把很多行代码全部并到一行吧?
一名优秀的程序员,一定遵守编程语言的代码规范。
第三步:开发经验,质的突破
想要真正熟练地掌握 Python 或者是任何一门其他的编程语言,拥有大中型产品的开发经验是必不可少的。因为实战经验才能让你站得更高,望得更远。
最后,为了避免漫无目的的学习方式,我已经整理好了粉丝福利。
我专门为你们绘制了一张 Python 学习的知识图谱,里面涵盖了 Python 最高频的核心知识。你可以保存或者打印出来,作为学习参考。
今天,我跟你们分享了 Python 的学习方法和注意事项,其实这些观点不只适用于 Python,也能帮助你学习任何一门其他计算机编程语言,希望你能牢记在心。
这里小编已经为大家整理好了Python新手入门学习路线,同时附基本视频学习资源合集,相信这套福利可以帮你顺利入行Python并找到工作!