之前在《GUI是面对新手的》一文中谈了一些对GUI的理解,这次在安装中文字体的时候有了一些新的体会,和大家分享一下。
在Linux安装字体其实并不复杂,只需要把字体文件拷到/usr/share/fonts文件夹下,然后执行一下3个命令就可以了,分别是mkfontscale,mkfontdir, fc-cache -fv。但是对于没有装过的同学来说,你一开始必不知道应该把文文件拷到哪个文件夹下,更麻烦的是,你不知道要执行什么命令才能让Linux“认识”这些字体。
我在网上搜索安装字体的教程的时候,看到了有个贴子上是这么写的,把字体文件拷到电脑上,然后右键文件,选择安装。在我的电脑上这个方法必不适用,但是不可否认这个帖子提到的方法的确比“拷到特定的文件夹下,然后执行三个你还在问下度娘才知道的命令”来的简单。我突然意识到,这种方法相当于以对象(字体文件)为主体,而安装字体是对对象的一个操作。这不就是面向对象编程的思想嘛!而度娘告诉我们的方法则是以操作为主体,正是过程编程的思想的体现。在GUI一文中提到的“将功能做成好看的图标,使得我们不会因为忘记命令而烦恼”其实就是以OOP为基础的。比如在Word中,我们只能编辑,或者更多地编辑的是doc文件。Doc文件就是对象,而Word的作用就是将对doc文件可以进行的操作整合在一起。虽然由于操作的多样性,我们可能还是避免不了看说明文档,看教程的命运,但是由于OOP的特性,我们可以更清楚的知道对doc文件可以进行什么操作。尤其是当操作数量很多的时候,想要管理和学习这些操作的难度会因为OOP清晰并和人类思维相合的逻辑关系而大大降低。
附:GUI是面对新手的
最近看了一些VIM,Emacs和VS的辩论,大家对于自己喜欢的东西都是非常地坚持。我对两者都没有很深入地认识,所以就不掺和他们的讨论,只是谈一谈自己对这个辩论的理解。
电脑的发展速度很快,现如今已经进入了普通大众的日常生活中。电脑最本质的意义,我个人认为,是帮助人们提高工作效率。现在由于电脑的出现,人类的生活方式已经被其所改变,电脑又多了一个意义,帮助人们生活得更好。面对各种各样的需求,各式各样的软件开始出现,而人们这些软件的根本目的只有一个,更容易得完成一项任务。
写过软件的人都知道,一个软件的核心代码也许必不是开发这个软件最费时的工作,那个最费时的往往是如何做一个用户友好的图形界面。既然真正解决问题的是核心代码,那么为什么要花那么长时间写GUI呢?因为计算机所懂的语言和人类所懂的语言相差有点大,当我们面对一个只有一堆代码和说明文档的程序包时,我们要花大量的时间去阅读和理解它们的意思。而如果遇到一个写的比较差的说明文档的时间,那简直是一个灾难。解决这个问题有两种很好方法,一个是GUI,还有一个就是”所见即所得“。使用GUI,我们可以将这个软件的大多数功能做成好看的图标,这样可以避免忘记命令完全无法操作的尴尬;而使用”所见即所得“对这个问题是个更大的提高,你可以清晰地看到很一个选项的作用(虽然可能只是一部分的作用),让我们对这个软件的功能 有了直观的认识。这两点都很好,对于新接触软件的人可以很大的帮助,让他能够更快的上手,并且得到让人满足的成就感,从而更愿意继续使用下去。
但是真正的生活中遇到的工作都是具体,通常只会用到一个软件其中的一部分功能,比如我工作中要用到MATLAB写程序,只是为了更方便地调试和得到高精度的数值计算结果,而作为MATLAB大部分的toolbox我都没有用过,更别提作为MATLAB重要的一部分的Simulink了。其实对了MATLAB,用最需要只是它最基本的编程功能和一些特殊的数学函数。对于这些常用的功能,最开始我是用一些GUI的,但是等熟悉了之后,键盘快捷键才是我用的最多的。比如注释一行呀,运行cell呀,调试中的step呀。同样的情况也出现在编辑公式的时候,mathtype中我常用上下标,分子分母,一些希腊字母,偏导数符号和无穷大什么的。用快捷键的原因也很简单,因为快。可能有人认为,记快捷键是很累的事,其实你常用的快捷键也就那么几个,但是对你的工作效率的提高是巨大的。当然也有些不常用的符号和功能,我也手点的。
我想说的是,GUI只是帮助我们来在不记得那么多命令的时候来方便操作的。如果经常使用电脑做某项工作的时候,我们会发现只使用GUI的话对我们的工作效率是有很大的影响的。而由于实际工作中常用的功能就那么几个,记住快捷键是不难的,而帮助是巨大的。
所以我觉得第一,GUI对一个软件的推广是非常有益的,我们不能拒绝GUI。第二,使用快捷键和命令进行操作可以极大地提高工作效率,同时在一些情况下,也可以加深对这个软件的理解,进一步提高工作效率。对于一个好的软件来说,对新手友好是一个推广的好办法,同时操作灵活方便快捷是保留真正用户的法门。VIM推出GVIM,Microsoft Office里包含了宏和保留了用户可以函数的功能,是对这个观点最好印证。
Fedora下使中文字体显示变得更清晰:http://www.linuxdiyf.com/linux/11665.html
ubuntu下matplotlib中文字体的设置:http://www.linuxdiyf.com/linux/12442.html
ubuntu再次体验之【美化】--修改主题、字体、字体大小:http://www.linuxdiyf.com/linux/14292.html
Ubuntu 15.04/14.10/14.04下安装字体编辑器Birdfont 2.6:http://www.linuxdiyf.com/linux/11713.html
在ubuntu 15.04下安装字体及设置字体:http://www.linuxdiyf.com/linux/11653.html