Chinaunix

标题: 亲爱的Python,你为何如此丑陋 [打印本页]

作者: Send_linux    时间: 2012-07-24 18:18
标题: 亲爱的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  (需翻墙)】然后试着和设计师交朋友,知道什么时候应该求助于他们。

本文来自ChinaUnix新闻频道,如果查看原文请点:http://news.chinaunix.net/opensource/2012/0724/2292978.shtml
作者: zouqf2007    时间: 2012-07-25 11:08
python既可以用于编写系统脚本,又可以做web开发。特别是在linux环境下,python也是一门必修的语言
作者: gvim    时间: 2012-07-25 18:35
确实这些软件和系统的界面设计的较之有些挫。
作者: cdtits    时间: 2012-07-25 18:45
本帖最后由 cdtits 于 2012-07-25 21:40 编辑

貌似目前 ruby 解释器在大型系统已经验证还不太稳定,业界也没有大规模使用
python 在稳定性上比较可靠,处理中文性能较好,可以看看 google/baidu
作者: ulovko    时间: 2012-07-25 20:50
貌似目前 ruby 解释器在大型系统已经验证还不太稳定,业界也没有大规模使用
python 在稳定性上比较可靠,处理中文性能较好

感谢分享宝贵的经验  ^_^
作者: ddd010    时间: 2012-07-26 10:23
UI 是个伤 啊!!!!!
作者: lastfile    时间: 2012-07-26 13:20
应该是看性能吧
作者: horizonhyg    时间: 2012-07-26 13:38
标题党!!!
作者: incle    时间: 2012-07-26 16:37
只要好用,不管美丑
作者: ragkk    时间: 2012-07-27 09:12
晕死,作为一个程序员,在web上面界面不是你的工作,不要停留在表面的现象
要看程序的效率,灵活
我并不是说ruby不好,每个人的编程习惯和风格不同
语言是没有好坏之分的
主要看是否适合自己,他们都有自己的优缺点,就看是否符合自己了
我对python很有兴趣,
ruby我只能说它比较强大,但它的优点就是它的缺点,就是太灵活。我总结了java,python,ruby的一些特点比较

1.java:用多了使人变笨;同样一个算法,新手和高手写的程序基本一样。
2.python:用多了使人进步;同样一个算法,一看程序就知道程序员的能力。
3.ruby:用多了使人迷茫;同样一个算法,不同的人可以写出不同的风格习惯,而关键在于相互之间很难读懂对方的程序,给以后维护上很难
作者: cdtits    时间: 2012-07-27 09:19
回复 10# ragkk


    我喜欢 perl/ruby,写出来的程序别人很难看懂
作者: ragkk    时间: 2012-07-27 09:32
回复 11# cdtits


    这个是个人习惯而已,但有一点可能你以后会涉及到,当一开始的时候,你在某方面是这个习惯,经过一段时间后,可能发现有另外的一种写法习惯,比原先更加方便便捷,可能会使用它,虽说这是个人进步的趋势,但如果太灵活的话,在以后的程序维护和修改埋下了伏笔,会比较麻烦

其实不管任何语言,写是一回事,维护是另外一回事,你所选择的和我选择的都是开源,这样没必要隐藏自己的代码。
作者: cdtits    时间: 2012-07-27 09:51
回复 12# ragkk


    要让一般啃本书就号称是伪程序员看不懂
作者: goldenfort    时间: 2012-07-27 11:16
回复 10# ragkk


    搞算法 还是用c语言搞吧, java, ruby, perl python 最重要的低层效率已经蕴涵在语言中了。
比如 python 的dictionary 是如何查找的, 是无法控制的, 所以想搞算法就不用这些脚本语言了。


python 的好处是
1。 程序好懂
2。提供了list 和dictionary ,可以互相套着用, 自己可以少定义许多数据结构,提高了编程 速度。
3。  有很多强大库, 不需要了解 相关技术细节就可以实现功能。

本质好处,就是提高生产效率。屏蔽非关键技术细节,屏蔽无关低层细节。

如果有人想显示他 算法能力 高人一筹, 用python 就错了。

就是用c语言做的程序, 真正需要在算法上创新, 不能通过调用库函数完成的有 1-2%吗?
就象  saloris 以及其它unix类操作系统, 本质上能完成多少linux 完不成的工作?本质上创造有多少,其实就是重复劳动,所以被淘汰也必然。

市场上有n 多手机操作系统, symbian, ios, window mobile ..........,  哪个可以完成linux /android 完不成的工作?
而真正 需要创造的领域, 比如 机器学习,人工智能, 现在也没有什么大规模应用的产品。
作者: ePower518    时间: 2012-07-27 11:18
也有这个感觉!很多站点是很挫,一些文档的排版什么的看着没有一点吸引力。

还有就是国内热的论坛都没有,一上去,就几个人几张贴,可能也跟这种学习、论坛网站的拙劣设计有关吗?

跟投入有关?
作者: bensenq    时间: 2012-07-29 15:29
比较个人主页真的太没劲了。。。
那大家觉得RMS的主页怎么样?http://stallman.org/

作者: bluecase    时间: 2013-01-02 11:03
c不是用来学算法的,是用来学数据结构的
java是用来学设计模式
c++可以学泛函,可以学元编程,以及网络

python的话,程序员可以去专注计算之上的业务逻辑。

如果把这些都当成是解决问题的工具,python会让你更容易发展些

回复 14# goldenfort


   
作者: ssfjhh    时间: 2013-01-02 13:45
我觉得python官方的 Documentation就做得非常好,只不过只有英文的,没有合适的工具,要不然,咱每天也给翻译一段。这么长时间也有中文版看的了。
不知道论坛里有没有人有兴趣翻译python的文档
作者: goldenfort    时间: 2013-01-02 14:03
回复 19# ssfjhh

就看英文的把,
   
作者: pitonas    时间: 2013-01-04 17:30
怎么会这样呢?
作者: Mylib    时间: 2013-01-05 08:23
管用就行,其它不关心
作者: zhengb302    时间: 2013-01-06 10:46
这是网站的UI设计,关后台编程语言啥事?
作者: tmzhupi001    时间: 2013-06-21 16:27
正在努力学习中,主要通过python写一些小程序用的。
python:同样一个算法,一看程序就知道程序员的能力。
作者: pitonas    时间: 2013-06-21 17:20
作为一个程序语言,Ruby显得更加性感。
作者: goldenfort    时间: 2013-06-21 19:10
回复 1# Send_linux


    gnu.org  和 kernel.org  都很简洁,用着舒服。

    网页内容太多,太花了,也不好。色彩多了也不好
作者: iacxc    时间: 2013-06-24 16:24
Ruby是日货。
还是算了。

另外的确,不是所有的开发都是用在web上的,而且ruby的确太慢了。

作者: iacxc    时间: 2013-06-24 16:29
ssfjhh 发表于 2013-01-02 13:45
我觉得python官方的 Documentation就做得非常好,只不过只有英文的,没有合适的工具,要不然,咱每天也给翻 ...


翻译的没有更新的快。
作者: idhly    时间: 2013-07-01 21:03
丑陋的是外表, 强大的是内在.

斧子丑陋不丑陋, 实用才是王道.
作者: BangBull    时间: 2013-07-02 18:31
看从哪个角度比吧

只是界面好看点, 这个没什么可以比啊,  






欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2