非典型性吐槽:亲爱的Python,你为何如此丑陋
亲爱的Python,有些事情已经困扰我一段时间了,恩,是这样的,其实你…有点丑。瞧,你的内在是如此美丽:Python是一种优美的编程语言,而且Python社区也是开放和受欢迎的。但Python的一些相关资源已经丑到一定程度了,足以影响其可用性和接受程度了。这对整个Python社区都是有害的。
一些文档和教程常常难以导航,用Python构建起来的产品压根儿都没有思考过如何做设计(这里不是指程序的设计,而是指UI),用Python写的博客程序只会帮助产出更多丑陋的有关Python的博客。Pythonist(对Python程序员的尊称)根本不关心产品的演示效果。
让我们来对一些Python和Ruby的站点就可用性和UI设计的角度做一下比较。同Python相比,Ruby是一个很好的参照物,因为它们有着相似的年纪,而且在编程语言的生态系统中都占据相似的地位。
以上分别是Python和Ruby的在线交互式学习网站的对比。learnpython.org其实一点也不丑,只是Try Ruby真的是更加完美。很明显,Try Ruby是由专业的设计师打造的,而learnpython.org的设计只是由某个程序员拼凑而成,最后再加上一些广告就算大功告成了。对比一下,你更愿意用哪个教程呢?
以上分别是Django和Ruby on Rails的主页,它们都是流行的Web框架。Django的主页规划的相当稀烂,整个页面就是一堆杂乱的链接,而且并没有任何明确的重点。相比之下,Ruby on Rails的主页就做的很好,能够很好的引导人们接触Rails框架,并将人们导向站点的不同区域。
以上是Django的共同创始人之一的Adrian Holovaty同Ruby on Rails的创始人David Heinemeier Hansson的主页对比。两个主页都规划的很好,但一眼看去很明显就会发现谁的设计更加专业。
云托管服务:Google App Engine 对比 Heroku。再一次,Ruby这边显得更加性感。
Python和Ruby的博客程序对比。Python的博客设计显得很平淡,不吸引人,而Ruby博客的外观设计则很给力。谁不喜欢一个可爱的小章鱼呢?(OCTOPRESS的标志)
以上是在Google中搜索“python consulting”和“ruby consulting”的结果对比,我们取各自结果的前几名来考察。Python得到的结果看起来已经N年没有更新过了。
Ruby看起来又赢了,也许是因为Ruby更聚焦于Web编程?这很可能是因为Web app比一般性的主题比如说科学有着更好看的网页外观。要消除这些不公平,那么下面的图取自Google搜索“django consulting”以及“ruby on rails consulting”的结果。
好吧,无所谓了,Python仍然是个丑小鸭。这个比较并不科学——你可以试着选择一些不同集合的站点以此获得完全相反的结果。但我认为我贴出来的截图还是很有代表性的。我也相信,大多数人只要花一点点时间同时在Python和Ruby社区中待过的话,都会同意这个观点——用Python做的网站比 Ruby要丑。
怎么会这样呢?
要么是因为Pythonist中的设计师不像Rubyist中那么常见,Pythonist通常缺乏一些设计才能。又或者是因为Pythonist根本不在乎设计,他们不想为此花费时间去做。我自己也不确定到底是因为什么。
这很重要吗?
是的!这东西非常重要。这并不是说用Python做的网站就都很丑(尽管事实上它们确实很丑)。关键在于这种丑陋使得网站难以导航,难以使用。没有人会觉得丑陋好,当有更好的选择时,没有人会愿意使用一个丑陋的产品。没人愿意雇佣一个只能构建丑陋web app的程序员。丑陋,潦草,这都是不专业的表现。这一切都会对Python社区的繁荣造成伤害。
我们该如何改进?
如果你是一名Python程序员(或者任何一种语言的使用者,反正就是对设计不太感冒),多花些时间学习一些基本的设计原则吧。试试这几本书吧:《Design for Hackers》、《Bootstrapping Design》或者 《Step by Step UI Design》。【注:也可以看看这篇访谈attracting designers to your project (需翻墙)】然后试着和设计师交朋友,知道什么时候应该求助于他们。