首页 > 编程语言 >如何学习一门新的编程

如何学习一门新的编程

时间:2022-09-04 21:46:13浏览次数:100  
标签:编程语言 项目 一门 编程 学习 文档 代码

工作之后要学习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

相关文章

  • 前端学习之------浏览器兼容(移动端)
    1、禁止IOS识别长串数字为电话<metacontent="telephone=no"name="format-detection">2、禁止IOS弹出各种操作窗口.box{ -webkit-touch-callout:none;}3、禁......
  • 学习笔记1
    一、学习笔记第一章1.Unix  Unix是20世纪70年代初出现的一个操作系统,除了作为网络操作系统之外,还可以作为单机操作系统使用。Unix作为一种开发平台和台式操作系统获......
  • 第一二章学习笔记
    第一章引言本章简单介绍了Unix的历史,包括贝尔实验室开发的Unix早期版本、AT&TSystemV以及Unix的其他版本,如BSD、HPUX、IBMAIX和Sun/SolarisUnix。此外,还介绍了Linux......
  • 2022-2023-1 20221408《计算机基础与程序设计》第一周学习总结
    班级:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业链接:https://www.cnblogs.com/zhanquanchen/p/16654783.html作业目标:快速浏览教材作业正文:https://www.cn......
  • Flask 学习-45.Flask-RESTX 自定义参数校验和自定义错误内容 error_msg 使用
    前言在校验请求参数的时候,除了一些基本的required=True,type类型外,还会遇到一些校验,比如是否为空,字符串长度,以及一些自定义的参数规则。add_argument参数classArgumen......
  • Flask 学习-44.Flask-RESTX 请求参数校验reqparse.RequestParser()
    前言Flask-RESTX的整个请求解析器部分将被删除,并将被有关如何与其他可以更好地执行输入/输出内容的包(例如marshmallow)集成的文档所取代。这意味着它将保持到2.0,但认为......
  • Unix/Linux系统编程学习笔记-1
    笔记第一章引言一、概述:在第一章引言里,简单介绍了Unix的历史,包括贝尔实验室开发的Unix早期版本、AT&TSystemV以及Unix的其他版本,如BSD、HPUX、IBMAIX和Sun/Solari......
  • 《Unix/Linux系统编程》第一、二章读书笔记
    自学教材1、2章学习笔记一、任务要求学教材第1,2章,提交学习笔记(10分)知识点归纳以及自己最有收获的内容(3分)问题与解决思路(2分)实践内容与截图,代码链接(3分)知识的结构......
  • 前端学习之------浏览器兼容(CSS)
    浏览器兼容指的是:由于各浏览器使用了不同的内核,使得网页在各种浏览器上的显示效果不一致,做好浏览器兼容,才能够让网站在不同浏览器上正常显示CSS方面:1、不同浏览器的标签......
  • 《信息安全系统设计与实现》第一周学习笔记
    《信息安全系统设计与实现》第一周学习笔记20201303张奕博一、任务要求自学教材第1,2章,提交学习笔记(10分)知识点归纳以及自己最有收获的内容(3分)问题与解决思路(2分)实......