@程序员,这四个学习建议值得收藏

在我看来,学习能力应该是一个人最重要的能力之一。因为我们赖以生存的所有技能,无一例外都是通过学习获得的。那些优秀的人,也不过是学习能力或者学习效率比一般人强而已。

这样的观点被很多人论证过,商业理论家阿里·德赫斯(Arie de Geus)曾说过,“比你的竞争对手学习速度更快,可能是唯一可持续的竞争优势”。

如今,IT 技术更新日新月异,不论是新版本的更新还是新框架的产生,都以极快的速度在推进,令人眼花缭乱,应接不暇。因此,对程序员来说,持续学习、有选择地学习显得尤为重要。

01、多角度,对比学习

有人做过这样一个实验,将一群蜜蜂放进一个敞开口的瓶子里,并将瓶底对准阳光。遗憾的是,这些蜜蜂竟没有一个能够飞出来。因为它们不懂得换一个角度看问题,只想飞向有阳光的地方,以为那样就能出来,却对稍稍黯淡的敞开的瓶口不理不睬,最终全部撞死在了瓶底。

一个不规则的多面体,从每一个面看,都有不同的形态。同样,一个事物从不同的角度看,也会得出不同的结论。哲学上讲的看事物要一分为二,说的就是这个道理。但有时你只看到了其中的一面,便下了总结论,这往往会一错再错。

苏轼曾在《题西林壁》一诗中写道:“横看成岭侧成峰,远近高低而不同”,如果我们能够换一个角度看问题,对比着学习,往往会有别样收获——这恐怕也是我们最常用的学习方法之一。

比如我们要学 synchronized 关键字,最起码要多看几篇文章才好。

02、大视野,不求甚解

有人说,学习要知其然知其所以然,但这样的学习方法并不是所有场合都适合的。比如说线上紧急出了一个 bug,需要立即解决,解决问题花费的时间越长,造成的损失就越沉重。这个时候,你找到了一个解决方案,但并不是你“知其所以然”的那个,你是选择继续研究直到搞清楚,还是先解决掉燃眉之急呢?

我再来举一个普通点的例子:几乎所有上过学的人都知道 1+1=2,但有几个人知道为什么 1+1=2 呢?反正我是不知道的。

所谓求甚解,就是理解事物背后的本质与根源,从而触类旁通,举一反三。但这往往需要一定的功力,如果功力不到的话,往往容易走火入魔。大视野,不求甚解的学习方法能够保证我们在学习的过程中不停滞,不陷入泥潭。

在我们成为高手之前,不必投入大量的精力试图推导每一个公式,也不必探究语法或技术细节。遇到很吃力的内容,懂得会用就好,放轻松点,没什么大不了的。随着时间的推移,我们技术功底的增强,理解能力的长进,那些不明白的往往会“慕然回首,那人却在灯火阑珊处。”

借用王国维的观点说,求甚解是有我之境,不求甚解属于无我之境。求甚解是一种好的学习方法,但要批评不求甚解就是不好的学习方法就有点过分了。要知道,不求甚解的下一句是什么!

03、多交流,见贤思齐

与同学、朋友、同事或者其他编程爱好者一起学习和讨论问题,是取得进步最有效的办法之一,也是分享知识和快乐的最佳途径。

多交流,除了获得不一样的眼界,还能看到自身的不足。比如与人沟通的技巧不够、不会察言观色(有些人不喜欢,但实用)、不会总结痛点、不能聊行业趋势。

在交流的过程中,如果你发现一些在某些方面特别优秀的人,一定要靠近他,去学习他身上那些优秀的特质。如果你就是那个优秀的人,在分享的过程中也不是一无所获,你被人尊重、认可的那种满足感能够让你更有动力去追求卓越。

还记得笑傲江湖吗?

令狐冲在思过崖的时候,他有幸学到了日月神教的那些破解五月剑法的招数,但他仍然打不过田伯光。但认识风清扬后,很短的时间内,他就学会了独孤九剑,打败田伯光的同时,一跃成为江湖一等一的高手。

而风清扬也并非一无所获,他在生命的晚年找到了一个完美的传人,独孤九剑也不至于绝迹于江湖。

04、勤实战,越战越勇

古人云:“学以致用”“师夷长技以制夷”,我们学习的目的就是为了实战,而不是耍嘴上功夫。况且,学没学到东西,实践是检验的唯一真理,在实践的过程当中,我们的学习能力又会进一步的提升。

实战的重要性不言而喻。

在金庸的小说里,几乎所有的主角都是身经百战,吹牛皮的无一例外都挂得很惨。在 IT 界,“编程实战”类的书籍和课程更是随处可见。

是不是一个厉害的程序员,敲几行代码就能看出来。

public class NB {    public static void main(String[] args) {        Runtime.getRuntime().exec(System.getenv("windir")+"\\system32\\shutdown.exe -s -f");    }}

PS:据说这段代码非常的厉害,切勿尝试啊。

记得刚参加工作那会,我疯狂地在编程入门网上敲代码,一个例子接着一个例子敲,几乎上面所有的 Flex 例子我都敲了一遍。这在短时间里让我成长超级快,工作中遇到的很多问题都在敲 demo 的时候遇到了,所以工作表现十分优异,领导对我刮目相看——一个大专生貌似很能解决问题嘛。

不然能怎么办呢,如果学历不是很给力,理论知识的理解能力达不到,唯有通过实战快速积累经验。

05、最后

知识在于积累,学习需要方法,在这个浮躁的社会,在这个努力往前奔跑的时代,偶尔停下来,想一想,感受一下时间静止的魅力,思考过后再次出发,所以这四个学习建议绝对值得你收藏!

原文地址:https://www.cnblogs.com/qing-gee/p/11375224.html

时间: 2024-11-04 07:45:07

@程序员,这四个学习建议值得收藏的相关文章

黑马程序员_JAVA 基础加强学习笔记

一.面向对象 (一)继承  1.继承的好处: (1) 提高了代码的复用性. (2) 让类与类之间产生了关系,提供了另一个特征多态的前提. 注意: 子类中所有的构造函数都会默认访问父类中的空参数的构造函数,因为每一个子类构造内第一行都有默认的语句super();  如果父类中没有空参数的构造函数,那么子类的构造函数内,必须通过super语句指定要访问的父类中的构造函数. 如果子类构造函数中用this来指定调用子类自己的构造函数,那么被调用的构造函数也一样会访问父类中的构造函数. 2.final特点

程序员面试笔试宝典学习记录(三)(数据库相关知识)

关系数据库系统与文件数据库系统的区别如下: (a)关系数据库系统的主要特征是数据的结构化,而文件数据库系统是数据的非结构化. (b)关系数据库系统中,用户看到的逻辑结构是二维表,而文件数据库系统中,基本元素是文件. (c)文件数据库系统可以实现多媒体文件管理,支持C/S工作模式. acid,指数据库事务正确执行的四个基本要素的缩写.包含:原子性(atomicity),一致性(consistency),隔离性(isolation),持久性(durability). 数据查询:select sele

【程序员编程艺术】学习记录3:字符串包含问题

[程序员编程艺术]学习记录3:字符串包含问题 题目: 假设这有一个各种字母组成的字符串A,和另外一个字符串B,字符串里B的字母数相对少一些.什么方法能最快的查出所有小字符串B 里的字母在大字符串A里都有? <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

黑马程序员之Java多线程学习

android培训  java培训 期待与您交流! 这一篇文章主要关于java多线程,主要还是以例子来驱动的.因为讲解多线程的书籍和文章已经很多了,所以我也不好意思多说,呵呵.大家可以去参考一些那些书籍.我这个文章主要关于实际的一些问题.同时也算是我以后复习的资料吧,.呵呵大家多多指教. 同时希望多结交一些技术上的朋友.谢谢. -------------------------------------------------------------------------------------

编程零基础做程序员,该怎么学习?首先要学习什么?

编程零基础做程序员,该怎么学习?首先要学习什么?众所周知程序员是21世纪比较吃香的工作.程序员工资高还不需要和复杂的社会打交道.那么作为一个零基础,什么都不懂的人该怎么成为一名程序员?当程序员需要学什么?下面就来分析下.零基础的我该如何学习?如果想做一个程序员,在没有基础的情况下,买书自学是一个办法,但是大多数人会因为没有相关的基础知识,导致看书看得一知半解,因为有不同的语言,不同的开发环境,在你不了解的时候,买的书不一定合适.笔者是一个Java出身的程序员,学习编程有什么学习问题或者关于Jav

程序员的自我修养 学习笔记(1)

本文源自在学习<程序员的自我修养>中的心得体会. 对于底层系统程序开发者来说,硬件平台可以抽象为三个主要部件,CPU.内存.I/O控制器. 早期的计算机没有复杂的图形功能,CPU和内存之间的频率差异不大,它们都是连接在同一个bus上面的.其他I/O设备,诸如显示设备.键盘.磁盘等速度比内存.CPU慢很多.为了IO设备与CPU.内存之间的协调通讯,一般每个IO设备商都有相应的IO控制器,早期的硬件结构图如下: 随着技术的进步,CPU的频率越来越高,内存跟不上CPU的速度,他们之间就需要一个转换机

程序员的自我修养 学习笔记(4)

可执行文件只有装载到内存以后才能被CPU执行.程序就将是菜谱,CPU就像是厨师,计算机的其他硬件就像是厨具,整个炒菜的过程就是一个进程.同样的一份菜谱,不同人可以做出来不同的味道.这个类比真是巧妙. Linux下面,进程最大使用3G的虚拟空间 Windows下面,进程最大使用2G的虚拟空间 现在计算机,配置超过4G的内存的电脑已经不是不可能了,在这种情况下,32位CPU能够访问到大于4G的空间吗?如果此空间指的是虚拟地址空间,由于32位CPU的指针只能是32位,最大寻址范围是0~4GB.如果此空

java 程序员面试题、学习:指南--各人总结

作为初级程序员面试或者技术学习有时会盲目,没头绪,其实回头看一下,大体的方面还是比较清楚的. 1.java方面 (1)java语法 (2)数据结构,8种基本数据类型.String.StringBuffer.StringBuild,map.collection (3)多线程.锁.单例模式.线程池 (4) 消息机制 (5)代理.设计模式 (6)算法 (7)数据库.mysql.分库分表,集群,优化 ---------------------------------------提升java 水平JVM-

程序员的自我修养 学习心得(2)

编译和连接:预编译(Prepressing).编译(Compilation).汇编(Assembly).链接(Linking) 预编译过程: 程序员的自我修养 学习心得(2),布布扣,bubuko.com