转自:http://justcss.iteye.com/blog/693619
近几天有些网友在邮件里面问我关于学习的问题。有好几个人觉得工作了几年,也学会了不少的类库、框架、甚至语言,但是感觉自己的能力没有太大的提高。因此今天来说一下我个人对这方面的体会,希望对大伙儿(尤其是新手)有帮助。
先声明一下,本帖子讨论的三部曲是指你已经选定了某个技术方向之后,该如何学习;至于如何选定技术方向,则属于另一个话题,不在今天的讨论之列。
我把学习归类为三个步骤:What、How、Why。经过我对周围同事和朋友的观察,大部分感觉自己技术没有提高的人,都仅仅停留在What阶段。下面我把这三个步骤解释一下。
第一步:WHAT
所谓的“WHAT”,就是搞清楚某个东东是什么?有什么用?有什么语法?有什么功能特性?......
举例如下:对于学习语言(比如C++、Java、Python),大部分人都能够掌握基本的语法和标准库,然后用它写一些小程序(诸如二分查找、冒泡排序、简单文件操作等)。
对于学习类库(比如JDBC类库),大部分Java程序员都能明白JDBC主要包含哪些类,也能够用JDBC进行简单的数据库查询和增删改操作。由于这个步骤是最基本的,假如你连这都做不到(可能你的理解力不够好),也别在IT界混了。
但是光会What是不够的。仅仅停留在这个步骤,导致了很多程序员只知其然,不知其所以然。这就是目前大部分开发人员的现状。
第二步:HOW
所谓的“HOW”,就是搞清楚某个东西内部是如何运作的?实现机制如何?等一系列相关问题。
举例如下:假如你在学习C++语言,你是否搞明白函数传参数的实现机制?虚函数是如何实现?抛出异常时的栈回退是怎么回事?......
假如你在学习Java语言,你是否搞清楚GC如何实现?反射是如何实现?
假如你在学习JDBC库,你是否清楚JDBC Driver的4种类型?不同游标类型的实现机制?事务的机制?
在这个阶段,你必须多想想类似这些问题。然后通过各种途径(参见“关于自学能力”的几个方法),把问题彻底搞清楚。自然而然,你的提高就会比较明显。而且如果碰到一些深层次的问题(比如性能优化),也就知道该如何去解决。
完成这个阶段之后,你基本上就属于该技术领域最优秀的20%的人(根据二八原理,80%的人不会去思考HOW的问题)。
第三步:WHY
一般来说,只有你把HOW的问题想清楚,才开始考虑步骤WHY。所谓的“WHY”,就是搞清楚某个东西为什么设计成这样?为什么不是另外的样子?这样的设计有什么讲究?
说实在的,善于问“为什么”有一定的天赋成分?好像某个科学大牛曾经说过“提出问题有时候比解决问题更难”。一般来说,只有当你深刻理解了某个东西,才能够针对这个东东的设计问出一些问题。所以,我前面强调过,要先把HOW的问题搞清楚,再来考虑WHY的问题。
举例如下:对于C++语言:为什么C++没有类似Java的finally关键字?为什么C++当初没有考虑GC?......
对于Java语言:为什么Java没有类似C++的类析构函数?为什么Java要同时提供String和StringBuffer两个似乎冗余的类?......
对于Python语言:为什么Python不提供类似C++/Java的访问控制机制?......
如果你能够自己问出诸如上述的“为什么”问题,并且能够通过各种途径找到解答,那你基本上已经吃透这个技术了,并且你已经有可能自己去设计一个类似的玩意儿了。到这时,你已经踏上了通向技术高手的康庄大道。
由于本博客偏重IT方面,所以今天举的这些例子多半都是IT相关的,但是这个三部曲在IT以外的行业/领域其实也能适用,就看读者自己的领悟了。
分享到:
相关推荐
j2ee why what how 可以看看
Why, What, and How of Continuous Delivery.pdf
主要介绍了Java通过What、Why、How了解弱引用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
区块链行业深度:元宇宙的九宫格框架:从What到How(2022)(36页).pdf
What You Will Learn Gain basic programming skills Build fun and creative programs Use files for making a holiday card Combine videos, images, and graphics in a Processing sketch Who This Book ...
需求工程师、产品经理必看的一本书,很好很赞,从为什么开始
Memory Management:What Every Driver Writer Needs to Know.THE basic knowledge about windows memery management
Current limitations of language models:what you need is retrieval
With its combination of background, theory, real-world examples, and patient explanations, How Linux Works will teach you what you need to know to solve pesky problems and take control of your ...
Chapter 1.What Is Continuous Delivery? .......................................................................4 Chapter 2. Why Continuous Delivery Matters ................................................
C# Deconstructed answers a seemingly simply question: Just what is going on, exactly, when you run C# code on the .NET Framework? To answer this question we will dig ever deeper into the structure of...
The paper addresses three aspects of Chinese banking regulation: what does China regulate; why does China regulate; and how does China regulate. Much of the discussion is concerned with China’s ...
藏经阁-Why、What and How of Continuous Delivery.pdf
信息安全_数据安全_DevSecOps_What,Why_and_How 安全体系 安全可信 数据脱敏 可信计算 安全
Steal This File Sharing Book: What They Won't Tell You About File Sharing 有问题,我的QQ:571669275
大班英语教案:What Colour.doc
屏幕显示:How many lines? 用户输入:5 屏幕显示:What character? 用户输入:* 则输出如下图案 * *** ***** ******* ********* 屏幕显示:How many lines? 用户输入:6 屏幕显示:What character? 用户...
该文档来自2013中国大数据技术大会上,Member of the Project Management Committee at Apache Hadoop,Nicholas关于《HDFS: What is New in Hadoop 2》主题的演讲。
Amazon 介紹: http://www.amazon.com/How-Linux-Works-Superuser-Should/dp/1593270356/ref=sr_1_1?ie=UTF8&s=books&qid=1269504842&sr=1-1