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

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

第零层:

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

第一层:

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

比如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内核,并发布官宣

第六层:

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

第七层:

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

 

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

转载于:https://www.cnblogs.com/flying607/p/10459984.html

凡人和神学习和使用软件的七个层次相关推荐

  1. 外贸软件_仿神卓外贸管理软件强大的邮件群发功能(不被退信的实现方法)

    外贸软件市场中,神卓外贸管理软件肯定是一款优秀的外贸业务流程管理软件,用户数众多,最牛的功能是邮件群发功能,今天要说的是邮件群发,常规的企业邮件一天中一般发送不会超过70封邮件,多了就有可能会被退信, ...

  2. linux系统管理学习笔记之三----软件的安装

    linux系统管理学习笔记之三----软件的安装 2009-12-29 19:10:02 标签:linux 系统管理 [推送到技术圈] 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 ...

  3. WPF学习开发客户端软件-任务助手(下 2015年2月4日代码更新)

    时光如梭,距离第一次写的 WPF学习开发客户端软件-任务助手(已上传源码)  已有三个多月,期间我断断续续地对该项目做了优化.完善等等工作,现在重新向大家介绍一下,希望各位可以使用,本软件以实用性为主 ...

  4. 今天的凉爽的学习环境 录音软件

    今天的凉爽的学习环境 录音软件,不幸的命运降临了,观我的少女时代有感今天下午,主人公叫方丹,再也不能站起来,学校组织我们观看了一部励志影片我的少女时代,相信有家长的wufowang支持和帮助,是个聪明 ...

  5. 神级代码编辑软件(Sublime Text 3) v3.3114 汉化特别版

    2019独角兽企业重金招聘Python工程师标准>>> Sublime Text是一个代码编辑器.也是HTML和散文先进的文本编辑器.漂亮的用户界面和非凡的功能,例如:迷你地图,多选 ...

  6. 手机上有没有学python的软件-盘点几个在手机上可以用来学习编程的软件

    前天在悟空问答的时候,很荣幸被邀请参加回答"在手机上可以用来学习编程的软件有哪些?"这个问题,当时在回答的首页看到一个头条大微(小小猿爱嘻嘻)的回答,觉得十分受用,在此将其整理好, ...

  7. CTF-Crypto学习1(软件加壳、反汇编、Babe64、Rijndael密码算法)

    CTF-Crypto学习1(软件加壳.反汇编.Babe64.Rijndael密码算法) 1.软件加壳 定义: 加壳的全称应该是可执行程序资源压缩,压缩后的程序可以直接运行. 加壳的另一种常用的方式是在 ...

  8. python手机编程软件-盘点几个在手机上可以用来学习编程的软件

    前天在悟空问答的时候,很荣幸被邀请参加回答"在手机上可以用来学习编程的软件有哪些?"这个问题,当时在回答的首页看到一个头条大微(小小猿爱嘻嘻)的回答,觉得十分受用,在此将其整理好, ...

  9. 学习Altium Designer软件总结

    广西●河池学院 广西高校重点实验室培训基地 系统控制与信息处理重点实验室 本篇博客来自河池学院: 智控无人机小组 写作时间:2020.08.22 学习Altium Designer软件总结 因学习了A ...

最新文章

  1. 2019攻防世界web新手区
  2. Java实现算法导论中快速傅里叶变换FFT递归算法
  3. SAP中服务性订单的替代解决方案
  4. 亚马逊评价抓取插件_亚马逊运营必备插件
  5. vue如何获取年月日_好程序员web前端教程分享Vue相关面试题
  6. 【IDEA】IDEA中使用git将项目上传到码云上
  7. Tarjan算法求解桥和边双连通分量(附POJ 3352 Road Construction解题报告)
  8. vue computed 中操作DOM和给对象添加属性遇到的问题
  9. php js 图片旋转,使图片旋转的3种解决方案_基础知识
  10. Socket编程Http下载的简单实现
  11. [JAVA #183; 初级]:1.环境变量的配置
  12. python 等号 什么编码_Python运算符与编码
  13. 字母c语言教学课件,计算机二级考试C语言辅导课件.ppt
  14. 实用干货!因子分析超全步骤总结
  15. 中不中奖,都是抽奖程序的锅?
  16. 《数学之美》阅读笔记1
  17. 面向对象设计需要遵循的六大设计原则
  18. 方便快捷给 PDF 加水印
  19. 微信小程序章节自测--6-7-8-9-有解析
  20. BMC Discovery增强开放性 与CyberArk在安全上达成互补

热门文章

  1. Java集合系列---红黑树(基于HashMap 超详细!!!)
  2. linux的munit命令,LinuxUnit命令学习(三)
  3. BZOJ2176Strange string——最小表示法
  4. jpa存储byte到postgresql
  5. 【转合辑】squid的安装配置
  6. cygwin内子目录及其文件删除不掉,出现access deny错误
  7. 软件生命周期模型 -------- 瀑布模型 和 原型模型
  8. 超图Cesium卷帘遇到的坑
  9. 知识图谱开源社区_您需要了解的关于开源社区中的倦怠的知识
  10. linux ansible_17本技术书籍,4个出色的Firefox扩展,Linux技巧,Buildah,Ansible和其他热门阅读