简单 v.s. 基础

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

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

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

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

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

不是,也是。

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

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

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

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

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

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

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

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

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

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

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

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

近期回顾

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

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

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

VIP赞赏专区

原文地址:https://www.cnblogs.com/kid551/p/9181080.html

时间: 2024-11-14 22:45:15

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

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

第38章      TFTP简单文件传输基础知识 本章节为大家讲解TFTP(Trivial File Transfer Protocol,简单文件传输协议)的基础知识,方便后面章节的实战操作. (本章的知识点主要整理自网络) 38.1  初学者重要提示 38.2  TFTP基础知识参考资料 38.3  TFTP基础知识点 38.4  总结 38.1  初学者重要提示 TFTP简单文件传输协议在实际项目中有比较重要的实用价值,需要初学者对TFTP的基础知识也有个认识. 38.2  TFTP基础知识

python知识简单总结 - 语言基础 (一)

语言基础 基础知识 pycharm快捷键 快速复制 光标定位到某行或者选中很多行 crtl/command + d 注释 光标定位到某行或者选中很多行 crtl/command + / 删除(剪切) 光标定位到某行或者选中很多行 crtl/command + d pycharm 简单设置 python模版文件设置 command + , -> Editor -> Code Style -> File and Code Templaates -> Python Script 解释器修

[干货分享]git的简单理解及基础操作命令

前端小白一枚,最近开始使用git,于是花了2天看了廖雪峰的git教程(偏实践,对于学习git的基础操作很有帮助哦),也在看<git版本控制>这本书(偏理论,内容完善,很不错),针对所学内容建了git仓库测试,且写了不少git操作命令的笔记,做个分享,有错误的地方各位大大也给提出,好做修改~ Git是一款免费.开源的.用Linux内核开发的分布式版本控制系统. git和svn有什么区别呢? git采用分布式版本库管理,而svn采用集中式版本库管理. 集中式版本库管理需要有一台存放版本库的服务器,

简单的TSQL基础编程格式

这里简单整理一下数据库简单的编程,变量定义,赋值,分支语句和循环(这里以Sqlserver) 首先是变量定义,赋值,分支语句 --======TSQL数据库基础编程,定义变量,赋值,分支语句============ declare @a int;-----定义一个int类型变量,declare关键词,变量前要用@符号 declare @b int; select @a=5;--------给变量赋值,此处用的select赋值 set @b=2;-----------也可用set赋值 if @a>

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

概述 ActiveMQ是由Apache出品的,一款最流行的,能力强劲的开源消息总线.ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,它非常快速,支持多种语言的客户端和协议,而且可以非常容易的嵌入到企业的应用环境中,并有许多高级功能. 特性 遵循JMS规范:ActiveMQ的各种特性是JMS1.1规范的实现.它们包括同步和异步消息传递,一次和只有一次的消息传递,对于预订者的持久消息等等.依附于JMS规范意味着,不论JMS消息提供者是谁,同样的基本特

安卓音、视频播放功能简单实现 --Android基础

1.音乐播放功能 关键代码: MainActivity.java: package thonlon.example.cn.musicdemowithoutservice; import android.content.pm.PackageManager;import android.media.MediaPlayer;import android.net.Uri;import android.support.annotation.NonNull;import android.support.v7

Linux的简单介绍和基础命令(下)

三.Linux的目录结构 树形目录结构 /etc 管理员的家目录 /home 普通用户家目录 /bin 所有用户的命令文件目录 /sbin 管理员命令文件目录 /boot 启动分区(grub启动菜单,压缩内核等) /usr 应用程序目录 /etc 配置文件目录 /var 可变长文件目录(日志) /dev 设备文件目录(磁盘,光驱) /tmp 临时文件 /proc 硬件信息(CPU 内存) /lib 服务管理文件(systemctl) 查看文件内容命令 cat [] 文件名 ... :查看文件内容

Linux的简单介绍和基础命令(上)

一.Linux简要介绍 Linux命令基础 Linux命令帮助 目录与文件基本操作 Linux家族 Redhat 红帽 三个认证 (开源但是不免费)--->社区(系统开发者)--->Centos(服务器端) Ubuntu 最好的客户端系统,开源纯免费(软件开发人群) Debian --->kali Linux(专用工具资源占用很少) 树莓派 suse Linux--->ISP(电信,移动,联通) 定制版 shell--Linux系统的一种特殊程序--"翻译官"

iBatis 简单介绍及基础入门

iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2002年发起的开放源代码项目.于2010年6月16号被谷歌托管,改名为MyBatis.是一个基于SQL映射支持Java和·NET的持久层框架. iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO),同时还提供一个利用这个框架开发的JPetStore实例. 相对Hibernate和ApacheOJB等“一站式”ORM解决方案而言,ibatis 是一