凡人和神学习和使用软件的七个层次

从事软件开发行业,咱们免不了要使用软件:操做系统、虚拟机、IDE、消息队列中间件、缓存中间件、HDFS、各类预研的编译器、Tensorflow等等。linux

在我看来,虽然软件有无数种,可是每种软件的了解却不出如下几种维度——redis

 

第零层:缓存

知道个名头,知道是干什么的架构

 

第一层:并发

会一些基本的使用(调用)并逐渐掌握到(60%以上)的使用方式spa

好比JVM和Java编译器,你会写一些Java代码,并在JVM上运行你的代码以实现一些功能操作系统

好比操做系统,你会一些基础的命令设计

好比redis,会搭建一个单机版,并可使用其命令中间件

 

第二层:继承

对大部分(60%以上)的配置项(设置项)都能懂

好比JVM,你会设置一些JVM的运行参数

好比操做系统,你会配置一些系统运行参数

好比redis,你会配置各类参数,这个时候你应该已经能够搭建各类类型的redis集群,并使用客户端对其进行链接

 

第三层:

对其源码大部分(60%以上)已经读懂,原理和运行机制已经深度理解

好比JVM,你对其源码已经基本吃透,这时候让你作一些移植和JVM裁剪、JVM源码修改、从新编译等工做已经不是问题

好比操做系统,同JVM

好比redis,你已经深度理解了redis的运行机制,redis自身的bug你已经能够解决,redis不知足你的要求你已经能够调整它的代码

 

第四层:

你已经对软件的社区和做者形成了深度的影响,你不断的提出建议或者意见,并提交解决方法,成为了社区名人,你们都以为你很屌,甚至超越了原做者

好比linux,linus常常和你书信往来,并对你感到由衷的佩服,若是你比他年轻不少,他甚至会要求你作他的软件的继承人

好比JVM,Oracle公司决定高薪聘请你作他们公司的技术指导

 

第五层:

你愈来愈以为到这个软件设计的不完善,都是些愚蠢的设计,并开发了一个同类软件,彻底超越这个软件

好比linux,你已经作出了一个崭新的操做系统,你开发的操做系统,设计在当前看来几乎是完美,假以时日和宣传一定超越全部同类,一统该类软件的江湖,linus甚至为你让步,中止更新linux内核,并发布官宣

 

第六层:

你的软件已经站在巅峰,你以为冯诺依曼机的架构已经不能知足你的需求,为了让你的软件运行的更好,你迫切须要一种崭新的计算机架构,因而你开始着手设计一种新型计算机架构来运行你的软件,从这之后你踏上了其余领域——也许你会涉足量子领域,也许你会搞生物,也许你的新设计会和相对论挂钩,或者你的新架构就是改造恒星?若是到这一层,凡人已经看不透你了,我以为人类的将来就靠你了,你加油吧。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第七层:

还想看第七层是什么样的?醒醒吧!

 

(以上内容从第三层之后都是扯淡,仅供娱乐)

相关文章
相关标签/搜索