无论做平面设计还是做摄影创作,其基础都是一些比较粗浅的看似毫无用处的简单技能。例如画直线、拍挂在墙上的电视机,不一而足。

同样的现象还能在web的前端设计中看到。一堆类似小孩学绘画的标签,几个可以更改属性的css文件,完毕。

但神奇的是,就靠着这些简单而粗浅的概念,竟然可以做出让人惊叹的作品来。先不谈各种酷炫的网页界面就是由傻气的标签构成,就算是简单得像Windows系统自带的画板程序,也能够在绘画大师的使用下,创造出让人惊艳的绘画作品。至于摄影,很多优秀到让人赞不绝口的作品,也仅仅是依靠手机相机,而不是贵到让人傻眼的数码单反。

如果再配上PS后期,其作品的惊艳程度还能再上升一个等级。但同样让人惊奇的是,即便是PS老手,其使用的大部分功能,也就限于几个基本操作:图层上的转换组合、颜色基本属性的调整、以及简单的裁剪拼接。

那么,有了以上的观察后,我们是不是要得出诸如:基础很重要、简单的东西自有其韵味的陈词滥调呢?

不是,也是。

无疑,以上所举出的这些简单的东西“非常重要”。因为,无数的实践都在证明,掌握了它们之后,就像是嗖地跨过了一扇门,往后的技能便能飞速成长。但我想说的是,这个“重要性”并不是源自于它的“简单”或者“基本”,而是因为它们恰好是各自领域里,类似房屋的脊梁、建筑的基石一般的存在。

在数学的世界里,任何一个分支的基石,一定是其基本的定义和公理。再辅之以逻辑推理,便能够将一个数学分支给建立起来。仅仅学习过数学但却未做过数学研究的人,一般不会有意识地去关注这些基本的定义和公理,到底是如何被提出来的。通常只会一股脑地先接受定义和公理,然后就急匆匆地开始各种逻辑推理。

这样的想法,非常类似于我们学习绘画、设计、摄影和编写代码。我们基本上只会匆匆地快速开始学习如何画线、如何做出一个方块、又如何去构建一个图层或对象,却很少会花费时间去思考,为什么它们可以被当作这个领域的基础?

所谓基础,它一定要起到牵一发而动全身的杠杆作用。简单的事情千千万,为什么有些被当做是杂事、琐事,而有些却可以被当作是基石。其衡量标准不在于哪一个事情更为简单,而是哪一个更能起到杠杆作用。

例如,在PS中,“图层”的概念,无疑就比色彩的调试来得重要。因为色彩的调试,只是技艺的某个方面,它的影响范围是有限的。而图层的概念一旦被提出来,整个“设计”就带有了工程哲学的味道。

它很好地将每一个图形的复杂度控制在一个范围内,并且还能够让这些独立的个体单元做任意的组合(完全就是Unix的设计哲学啊)。通过它这样一个基础设施,既能创造出无限的组合,又能够精细地控制图形的复杂度,提高每一个个体单元的复用率,从而有可能让每一件作品、元素,彼此间产生复利的效果,能够让一种影响力建立在另一种影响力的基础上,成倍地放大。

同理可以考察前端技术的设计。例如CSS,在我看来,其最重要的技术,不在于它能够修改某个字体的大小、颜色,也不在于它能够为某个区域增加背景图片,而是它拥有“选择器(selector)”这样一个强大的工具。如同“图层”这个概念之于PS,有了selector,CSS去控制元素的方式便具备了构建大工程的属性。每一个选择器能够直观简介地控制一个区域的界面样式,但它们又能够通过child-parent、sibling等关系进行组合,从而让你可以大规模地去控制网页元素的样式效果。

又如手机的进化。在iPhone出现之前,一部更为“先进”的手机卖点,在于其是否比普通的手机多了某个功能。例如,Nokia的最新款可以录音,而之前的版本不行。或是Blackberry可以提供PDA记事本、拍照功能,而别的手机不行。

但自从iPhone提出了手机App生态这样的概念后,就一劳永逸地解决了所有功能性多寡的问题。其point不在于它提供了哪一种优秀的具体功能,而是提供了“提供功能”的功能!有了这样的概念后,整个手机开发的视野和创造前景一下子就被打开了。从此,在手机内,便拥有了“无限”的可能性。

那么,再回到文章最开始的那些案例。为什么那些诸如画直线、写标签可以作为各自领域的基础呢?其根源在于:它们都具备“提供各自领域的杠杆性功能”这一属性。或者反过来说,一个概念或者技能,要能够成为某个领域的基础,它就必须具备杠杆性的属性。只不过,之前提到的这些稀疏平常的概念,是在长期大量实践的筛选下,沉淀下来的东西。也即是通过“自然选择”的方式,挑选出的具备杠杆性的工具集。

如果要做数学研究或者工程设计,当然不能被动地等待自然选择。而是要主动出击,费心思考“应该如何提出一个概念、提出哪些概念”才能提高挈领地抓住所在领域的本质。

所以,不是说看到一个东西貌似简单就值得去学习。必须要有能力分辨:哪些简单的东西是具备杠杆属性和复利属性,能让你的学习可以系统地层层叠加,将每一次的投入作为下一次行动的基石,来做指数级的成长。

近期回顾

网络概念与快递物流 | 墙与梯子
精湛技艺的祭品
向南的高速公路

如果你喜欢我的文章或分享,请长按下面的二维码关注我的微信公众号,谢谢!

更多信息交流和观点分享,可加入知识星球:

VIP赞赏专区

简单 v.s. 基础的更多相关文章

  1. 【RL-TCPnet网络教程】第38章 TFTP简单文件传输基础知识

    第38章      TFTP简单文件传输基础知识 本章节为大家讲解TFTP(Trivial File Transfer Protocol,简单文件传输协议)的基础知识,方便后面章节的实战操作. (本章 ...

  2. 安卓四大组件之Sevice组件的简单使用 --Android基础

    1.本例实现了简单的Service(服务)的创建.启动和停止,点击“启动SERVICE”页面会显示“服务被创建”,接着是“服务被启动”.点击“停止SERVICE”页面提示“服务被停止”.太过基础,直接 ...

  3. git的简单理解及基础操作命令

    前端小白一枚,最近开始使用git,于是花了2天看了廖雪峰的git教程(偏实践,对于学习git的基础操作很有帮助哦),也在看<git版本控制管理>这本书(偏理论,内容完善,很不错),针对所学 ...

  4. docker 简单介绍及基础命令运用

    一.什么是docker? Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. 简单的来讲Docker实际上就是一个大型容器.容器是完全使用沙箱机制,相互之间不 ...

  5. spark集群的简单测试和基础命令的使用

    写此篇文章之前,已经搭建好spark集群并测试成功: spark集群搭建文章链接:http://www.cnblogs.com/mmzs/p/8193707.html 一.启动环境 由于每次都要启动, ...

  6. 简单的TSQL基础编程格式,存储过程,视图

    这里简单整理一下数据库简单的编程,变量定义,赋值,分支语句和循环(这里以Sqlserver),以及存储过程格式 首先是变量定义,赋值,分支语句 --======TSQL数据库基础编程,定义变量,赋值, ...

  7. ActiveMQ基础教程----简单介绍与基础使用

    概述 ActiveMQ是由Apache出品的,一款最流行的,能力强劲的开源消息总线.ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,它非常快速,支持多 ...

  8. 函数第一部分:经典的永远是简单的-Python基础前传(10)

    (一)前言 对于零基础学习Python的朋友,或者转行做数据分析的朋友,跟jacky交流最多的问题就是Python网络爬虫学习问题,比如说要爬取美团,或者说爬取携程等等,在爬取的过程中,这些朋友总是会 ...

  9. JQ的简单使用(基础)——————JQ

    JQ基础--JQ的简单使用 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /&g ...

随机推荐

  1. 【转载】路径双反斜杠!!!Python IDLE或Python shell中切换路径 切换目录os.chdir("C:\\python37\\2019pythonshel37\\diedai")

    Python IDLE或shell中切换路径在Python自带的编辑器IDLE中或者python shell中不能使用cd命令,那么跳到目标路径呢.方法是使用os包下的相关函数实现路径切换功能. im ...

  2. nltk分词

    1.安装nltk 2.运行如下 >>>import nltk>>> nltk.download('punkt') 3.代码: import nltk sentenc ...

  3. JS判断一个数组中有无重复元素(数字)

    前段时间遇到了这个问题 也百度了很多 不过还是用自己的方法解决了 一个超级简单的方法 简单到令人发指 由于直接写文本太丑了 所以还是截图吧 嘻嘻嘻 假如有一个这样的数组 (这是假如  可能每个人的数据 ...

  4. rn最新版测试

    1.使用软件版本rn-4.20.4.zipdrago-4.22.03 2.启动drago选择菜单‘对弈’ -> ‘对弈引擎设置’,点按钮‘添加’,选择‘已安装’,输入:姓名‘rn-4.20.4’ ...

  5. 3wwang的2019计划

    1.探究osg类生物----系列(35天) 已完结 [置顶]探索未知种族之osg类生物[目录]​www.3wwang.cn 2.osg中的设计模式---系列(15天) 正在创作... osg中抽象工厂 ...

  6. AST的作用

    ·代码版本兼容:例如babel ·代码混淆和压缩:将语义变量变无意义 ·开发工具:webpack.vue-cli ·编译:编译器.IDE

  7. 网址导航18B

    [名站] 百度 网易 腾讯 新华 中新 凤凰 [新闻] 联合早报  南方周末  澎湃新闻 [系统] 宋永志 蒲公英 技术员 秋叶系统 装机网 系统之家 [软件] 星愿浏览器 暴风激活 贱人工具箱 微P ...

  8. 上传到HDFS上的文件遇到乱码问题

    1.通过eclipse中的hdfs插件上传文件,上传成功,但是查看是乱码. 查阅文件本身的编码方式,发现是utf-8,同时文件在项目目录下,显示正常,因为我把它的编码格式也设成了utf-8. 2.通过 ...

  9. 安装mq的时候,计算机用户名是中文名的解决办法

    在windows下安装rabbitMq ,如果使用用户名是中文的,则会出现启动失败的情况.关于这一点下边给出终极解决方案. 1. 假如你的中文用户名是 XXXXXX,为用户目录建立软链接,软连接名称为 ...

  10. vue项目中跳转到外部链接方法

    当我们在文件中,如果是vue页面中的内部跳转,可以用this.$router.push()实现,但是如果我们还用这种方法跳到外部链接,就会报错,我们一看链接的路径,原来是我们的外部链接前面加上了htt ...