工作之后要学习Verilog,从来没有接触过这门语言,于是发起了一个提问:如何学习一门新的编程语言?
收到的答案有几种:跟着B站学习,看官方文档,直接用,做几个感兴趣的小项目,还有个姐妹说她是硬着头皮学的!
这种基础的问题困扰了我的整个学生生涯,我总是很疑惑学习代码到什么程度才算是真正掌握了呢?今天在网上做了一些调研,总结归纳如下,也算是一个解惑的总结~!
最困扰的一个问题大概是直接用还是先看书,看书看到什么程度开始做项目呢?什么程度可以开始做项目了?这些都是非常个人的学习方法和思路,但这里想给出一些可以做选择的思考,而不是一个按照唯一的方法学习的标准答案,编程实践的方法没有标准答案。
-
在选择学习什么语言之前,首先选择一个感兴趣的项目,为了实现项目的需求,将需求分成一个一个小的需求,需求分割的步骤:
- 识别一个问题
- 理解这个问题
- 列出所有可能的解决方案;
- 评估所有可能的解决方案;
- 找到一个最佳解决方案;
- 设计最佳解决方案;
- 准备算法;
- 准备伪代码;
- 写主要代码;
- 使用尽可能多的测试用例测试代码;
- 测试,然后移除可能出现的错误;
- 最后,得到一个完整的关于开始问题的解决方案。
-
选择项目开始学习的好处:
- 增加简历上的项目经验;
- 你会更加清晰地了解在实际的开发环境中该使用什么编程语言,以及各个编程语言的特性;
- 兴趣是最好的老师,最开始的问题总是会驱动着你去探索;
- 在实际的项目中,不可避免地会遇到各种问题,这时需要Debug代码块,而Debug的能力是每个程序员必须具备的。
-
一个误区:你永远无法完全学会一门编程语言:
- 即使是一位从业二十年的资深工程师,也会在解决实际问题时遇到新的挑战,每一天!
- 所以其实即使是顶尖的程序员,也没有完完全全掌握一门编程语言。(这个打破了笔者的认知!一直以为可以掌握来着!)
-
先掌握语言本身,再掌握其框架。
- 有可能一开始就要跳到中级的水平,但其实基础是非常重要的,如果进阶到了更加难的项目中,回过头来不断翻书看基础知识,是非常浪费时间的;
- 比较好的方式是学习并使用新的框架和技术包;
- 编程并不是在编写循环,找出数组中的最大最小元素,编程是在解决一个实际的问题。
-
根据特性学习编程语言:
- 如果注重性能,可以学习C++;
- 如果有稳定的第三方支持,可以考虑Python;
- Python是最容易上手的编程语言,但在实际的应用中,企业通常比较注重性能,所以C++是其首选;
- JavaScript也很好——在机器学习,移动APP等领域都有广泛应用;
- HTML——如果要应用在网页上,这是首选。
-
从哪里开始学习编程语言:
- 从互联网上半年的学习,也许比大学四年的学习更加有效;(笔者:啊,那大学四年白读了吗?)
- 学习官方文档,所有的书,课程,以及该编程领域的技术专家,其出发点都是官方文档;
- 在技术更新速度极其迅速的今天,如何有效且简洁地阅读官方文档是一门技能,非常重要;
- 在Github上找一些项目的代码来学习,从资深工程师的代码中学习如何规范书写代码;
- 手写代码——手写代码可以让你更好地理解代码中的逻辑,也会更清晰地知道你写下的代码的算法和结构,在技术面试时,这也是一项重要的技能。
-
设置清晰的,能够得着的学习目标,并坚持去做,不要放弃:
- 知道自己的局限,实际一点,设置能够实现的目标,这样学习的自信心会日益增长;
- 保持耐心,当你能够理解代码的一部分时,给自己鼓励,并持续更高阶的学习;
- 为自己设计一些意义感,编写代码大概是非常有创造力的一项工作。
-
与他人分享你的代码和学到的知识,讨论让学习变得流动起来,所谓“为有源头活水来”。
参考文章:
[1] 牟连佳,李丕贤,邵洪艳.初级编程大学生学习方法研究[J].高等工程教育研究,2014(02):184-188;
[2] How To Learn a New Programming Language/Framework,Ishan Sharma, June 08th, 2020;
[3] 6 Steps to Learn and Master a Programming Language, Jan 07th, 2021;
[4] 7 Tips to Help You Learn a New Programming Language Fast,PUBLISHED 3 DECEMBER 2021/ UPDATED 1 MARCH 2022;
一些官方文档:
[1] cppreference.com
[2] Verilog
[3] Python
标签:编程语言,项目,一门,编程,学习,文档,代码 From: https://www.cnblogs.com/SunnyBai/p/16655670.html