网站首页 > 技术文章 正文
作为一个程序员,学习能力是最为重要的,看一下2025年StackOverflow的调查结果,近70%的开发人员都在学习一门新的编程语言或新技术。
我说说我的经验吧,学的东西相对比较杂,从最早的MCS-51嵌入式开发、Verilog HDL开发、Protel 99SE画电路板,后来又画三星的ARM开发板,44B0和2410,再后来又学Linux、Unix的开发,C++、Rust、JavaScript、Java、Python等各种语言,大数据平台、小程序开发等等。
一、选择
学习一门新技术第一件事,要先了解一下这个技术的应用环境,以及与该技术相关的其它技术,看一下这个技术的发展趋势以及同类技术的发展趋势,到底哪一个更值得学。比如在学习React的时候,先在网上找了一下同类的技术,有Vue.js和Angular.js而且这些技术都很流行,支持者和应用都很多。最后我选择了React。主要原因就是考虑React的渲染模型抽象的很好,这个非常类似当年的MFC,把网页渲染的事件对应的React对象的各个事件回调,对这套机制非常熟悉;另一点就是React的面向对象的编程方式,个人是非常喜欢的,这样更容易进行大规模项目的组织。主要基于这两点选择了React技术,一直用到现在,而且React目前的发展还是不错的。对前端框架有兴趣的也不妨看一下:
二、全面了解
一般某个技术总会有别的技术路线与这个不同,一定要做一下选择,前面选择好了后面就该全面了解它了。全面了解一项技术或者编程语言最好的方法就是读书,每个技术一般都有相应的权威书籍,如果该技术确实太新,一定要看它的官方文档,然后再去看网上搜的那些文章,可能有些文章写得质量是挺高,但出版一本书要求的质量与网上发一篇文章的质量要求远不在一个水平线上,所以读书才是读高质量的资料,网上的只适合快速浏览,解决点上的问题。我们现在是学一门新技术,要全面了解一个新技术,一定要完完整整读完一本书。
在这个阶段读的时候肯定会有看着比较吃力或者理解不够透彻的情况,不要在这里停一下,跳过去继续读,因为技术的各个点之间都是有关联性的,一本书的顺序只能按照作者规划好的一个主线来讲,可能知识点之间关联性强的话总得有个先后,跳过去读到另外一个知识点的时候前面的难点可能也都迎刃而解了。
比如,我们如果要想学习Linux系统的开发,先读一下《UNIX操作系统设计》理解一下操作系统的进程、线程、文件系统、权限、内核对象等等概念,再读一下《Unix环境高级编程》理解起来就非常容易了。后面就可以把《Unix环境编程》当作是工具书,想用哪一些内容拿出来再细看就好了。
三、深入理解
前面进行阅读的时候跳过了难点,在这一轮就需要进行深入理解了,进行精读或者再找别的资料再去读,因为不同的人的文化背景不一样,每个作者写的风格或表达能力也各不相同,换本书或网上找一个相关的文章读一下,帮助理解一下难点。这时候在网上文章读是可以的,针对某个特定的技术点可能真有人写得特别详细特别清楚。如果看书还看不明白还可以来知乎提问,会有很多热心的知友帮助解决。
四、学习源码
其实Github是一个非常大的学习资料库,当了解了某个技术想要动手的时候不知道从何下手,就可以在Github上找一个同类的应用,把代码下载下来,编译、运行跑一下,先有一个直观的理解,把它能干什么,干到什么程度了解一下,然后看一下代码,看看具体的实现,就方便后面自己动手了。
五、学以致用
知识是用来学习的,技术是用来练的,光看书扭头就给忘掉了,要想真正地掌握某个技术一定得在实际使用中一边用一边理解,这时候的理解又上上了一个层次,这时就有了自己的理解甚至发挥。
六、参与讨论
经过自己的实践,对新技术有了一定的理解,肯定有一些自己的想法、心得,不管是正面的还是负面的都不重要。比如Rust,一开始写起来确实感觉挺麻烦,尤其是借用以及unwrap,看着代码真的是难看。这时候就可以到网上、论坛、知乎去看大家的相关讨论,甚至是参与讨论,慢慢去理解,看看大家从不同的侧面如何来看待这些问题,如何去理解这些难点,对技术的理解又会进入另一个境界。
比如,对C++的理解,你去阅读一下C++之父Bjarne Stroustrup写的《The Design and Evolution of C++》,了解一下C++是如何变迁与发展、变革的,就能深入理解这些语言特性的来龙去脉,不光是对C++的特性能很好地理解,对设计C++的设计者也会肃然起敬,作为一个通用编程语言,因为要考虑的方方面面太多了。
再比如读一下《Windows编程启示录》,你会对Windows的实现机制有所了解,这样对Windows软件开发、MFC的设计会有更深入的理解,再去做Windows的编程就会容易很多。而且对Windows里的一些技术会有深入的理解,也会对Windows的设计崇拜有加。
经过了这几步,基本就真正掌握了这项技术,可能还成了这方面的专家。
猜你喜欢
- 2025-09-14 Web 实时通信:从短轮询到 WebSocket
- 2024-12-10 在3个月内完成前端开发(完整路线图)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)