再看Jekyll的过程中,忽然发现简化简化再简化才是王道,也是程序员们孜孜不倦追求的王道。
先举两个远一点的例子。
第一个例子是文档编辑格式,在寻找什么才是更好的文档编辑格式的时候,就会发现有DITA(xml格式承载)、reStructText(.rst格式承载)、Markdown(.md格式承载)。上面三种都可以转成html,所以另外还可以再加上html本身。可以看到,在这篇老外写的对比里面,markdown确实是极受欢迎的。 markdown+jekyll也是其推荐首选之一。而DITA的复杂性令人望而却步。
第二个例子是宇宙第一js框架之争。候选是react和vue。vue无数人说其胜在简单。除了使用标准的html、css、js以外,没有引入更多的新语法。而react虽然很强大,但是它引入了jsx这个奇怪的产物。然后就开始在js里面写html……让我想起了在html写php……虽然react极其优秀,然而更多的人们仍然更喜欢更简单的vue。
再说到对文件内容的简化。能列出来好多例子了。
markdown其实就是对html的简化。考虑到markdown里面还可以加入html标签以达成更高的兼容性,就更让大家喜欢了。html长长的标签及其影响阅读体验,才有了markdown用武之地。当然,HTML更强大不是吗,但这无法阻止更简单的markdown对它应用范围的蚕食。
scss是对css的简化和强化。去掉了{}和分号,改用了缩进,加入了变量和语句。其实,像if、for这种语句就是为了怕麻烦。另外,看来相当多的程序员都不喜欢花括号和分号啊!scss前身sass并不流行,看来简化的时候保持兼容性还是很重要的。
python之所以能有这么大的占有率,可以说他也是去掉了C系语言(C/C++/Java/Javascript)里面的花括号和分号。去掉了变量类型。javascript虽然没有去掉花括号(不知道有没有改型语言去掉它的花括号的),但可以省略分号。当然花括号和分号有一大好处就是可以把代码压缩在一行里面,这个python就不行了。JavaScript开始甚至都没有class,所有都是object,并且给object一系列默认的隐藏的function,让其实现复杂的功能已经class的功能,而表现上及其简单。
yaml是json的简化。虽然其名称更像是html。当然,json是xml的简化,用花括号替代了冗长的标签。yaml又用缩进替代了花括号,用-替代了方括号。
简化之路无止尽!每一种简化虽然可能损失了很多功能,然而却带来了更多的使用者、更高的效率!这才是发展的方向,而不是做一个大而全晦涩难懂的东西。
大而全的东西必然走向晦涩难懂,因为它要考虑的太多了。比如excel使用率极低的vba,它要考虑自动化,那么必然vba有很高的学习门槛。另外csv是excel不太成功的简化。损失了太多,但也有其生存之地。

标签: none 阅读量: 1324

添加新评论