
1 yahoo21cn 2015-06-18 17:01:50 +08:00 开发效率高 |
2 moliliang 2015-06-18 17:02:07 +08:00 其实我觉得ruby的开发效率也很高~ |
3 POP 2015-06-18 17:02:20 +08:00 俩字,好用 |
4 ericzhan 2015-06-18 17:06:16 +08:00 我觉得golang的开发效率也很高 |
6 BOYPT 2015-06-18 17:14:01 +08:00 这是python社区普遍认同的哲学信仰,具体“碑文”在任意python运行环境运行import this可显示。 也许存在比Python更加爽的语言,更有效率的语言,这并不影响这个哲学的流行。 |
7 blacktulip 2015-06-18 17:16:14 +08:00 这句话是 2002, 2003 年的时候说的,那时候主流开发语言都比较繁琐,开发效率低,所以有这说法。现在脚本语言和各种类库已经非常普及,这句话的适用性已经很小了。 |
8 ivenvd 2015-06-18 17:25:29 +08:00 这两句话拆开来看,你就理解了。 |
9 yakczh 2015-06-18 17:29:57 +08:00 import React from 'react'; class Hello extends React.Component { render() { return <div>Hello {this.props.name}</div>; } } export default Hello; Javascript才是王道 |
10 hhkbp2 2015-06-18 17:34:13 +08:00 因为用了Python之后人生就变长了 |
11 robertlyc 2015-06-18 17:37:21 +08:00 因为 他们没学过ruby |
12 tini20 2015-06-18 17:37:26 +08:00 节省的时间: 1、写的时候节省 2、读代码、维护的时候节省(python的杀手锏) |
17 realityone 2015-06-18 17:57:35 +08:00 @aszxqw 弱类型和动态类型是不一样的吧…… |
20 MForever78 2015-06-18 18:11:58 +08:00 为了压韵,他们什么都说得出来。 |
21 paw 2015-06-18 18:12:26 +08:00 好用,公司其他组提供的API是C++的,我宁可写个cpp文件编译成动态链接库,然后在python加载这个so用,也不愿意直接写C++ |
22 AndersQ 2015-06-18 18:21:28 +08:00 这是一种编程哲学与生活态度的统一。 Python的特点之一就是简单易用,能够数行代码解决问题,干嘛要加入一大堆琐碎无用的东西? 人生苦短,难道不该用最简单的办法解决问题节省时间吗? 开发效率低就是在浪费生命,所以你需要用Python! |
23 caoyue 2015-06-18 18:26:51 +08:00 你知道什么叫安利嘛~ |
24 kslr 2015-06-18 18:52:50 +08:00 代码写出来赏心悦目,被自己陶醉。 |
27 junnplus 2015-06-18 19:01:16 +08:00 两个字,任性 |
28 hbkdsm 2015-06-18 19:07:12 +08:00 because it's true |
29 ajianrelease 2015-06-18 19:24:28 +08:00 学了Python你就知道为什么了,上手易,编程快,不像C++那样有那么多复杂的语法。效率(时间)就是生命 |
30 chrishine 2015-06-18 19:26:09 +08:00 还有 Death is coming, Let's go |
31 leavic 2015-06-18 19:26:46 +08:00 上手快,什么都有人帮你做好了,不用重复发明轮子。 |
32 ZHenJ 2015-06-18 20:03:58 +08:00 和 PHP是宇宙最好的语言 同理 |
33 yxzblue 2015-06-18 20:28:24 +08:00 其实我学得php开发起了挺快的 |
35 tony1016 2015-06-18 20:40:41 +08:00 和java比一比在控制台输出个hello world就明白了 |
37 jun4rui 2015-06-18 21:14:46 +08:00 via Android |
38 chaucerling 2015-06-18 21:16:13 +08:00 python最像锤子 |
39 lilydjwg 2015-06-18 21:18:33 +08:00 @aszxqw 如果你看到某美国人谈论汉语和英语的巨大差别,但仔细一看,其实他谈论的是日语和英语。你不觉得坑爹吗?欺骗感情吗?混乱不堪吗? |
40 lilydjwg 2015-06-18 21:22:09 +08:00 @aszxqw 静态类型语言的类型系统没办法特别弱,因为太弱就分辨不了了。但是动态类型的语言的类型可以很强,虽然 Python,尤其是 Python 2 的类型系统并不是太强。通常认为 C 已经是强类型语言了,Python 更不用说也是。 这两种划分类型的方法虽然不完全正交,但是静态强类型、动态强类型、动态弱类型这三种是毫无疑问存在的。 |
41 hbkdsm 2015-06-18 21:31:23 +08:00 @chaucerling 不是像瑞士军刀吗? |
42 darrenxyli 2015-06-18 21:38:06 +08:00 一个粉转路路转黑的人来吐槽两句,确实如@jun4rui 所说,python的优势就在于弱类型动态,让程序员心思负担轻了,只需要关心业务逻辑,思维直观。但是不谈应用场景说语言就是耍流氓,大型应用使用Python就是个巨大的坑,一来动态语言不编译起来根本不知道哪出错,试想一下面对几十万行代码发布前期改bug的场景,虽然JAVA是我最不喜欢的语言,但是几十年工业界打磨出来的IDE预编译检测和本身的静态特性,发布过程不是痛苦的。再来就是“人生苦短,我用Python”这句话后面还要加一句话 |
43 darrenxyli 2015-06-18 21:40:55 +08:00 接上条,再加一句,“Python一时爽,重构火葬场”,我就不解释了,这才是真zhi巨坑。[冲动脸]。个人觉得Python让程序员该有的专业思维变懒惰了,当然Python也有很好的适用场景,胶水胶水胶水和做项目原型。 |
44 silianbo OP @darrenxyli 哈哈,大哥,看来 你这是被python伤痛了心 |
45 issues &nsp; 2015-06-18 21:50:57 +08:00 我安利golang |
46 elgoog1970 2015-06-18 21:56:05 +08:00 效率高,效率又低 |
47 darrenxyli 2015-06-18 22:06:26 +08:00 @silianbo Twitter上面有个人说了一句话“Python能进工业界就是奇葩”,简直不能同意得更多,它不进工业界我们还能愉快的玩耍。 |
48 jusonalien 2015-06-18 22:30:38 +08:00 我用Python 人生苦短 |
49 Lucups 2015-06-18 22:33:47 +08:00 也可以这么说: 人生苦短,我选Golang 人生苦短,快拍(P)黄(H)片(P) 人生苦短,来杯Coffee(Script) ... |
50 mulog 2015-06-18 23:10:16 +08:00 @darrenxyli 连 Javascript 和 PHP 都。。。。(逃 |
51 chaucerling 2015-06-19 00:16:02 +08:00 @mulog 他都说了大型应用,Javascript 和 php 都偏 web 快速开发 |
52 publicID321 2015-06-19 00:51:56 +08:00 |
53 Axurez 2015-06-19 01:41:14 +08:00 这是好多好多好多好多好多年前的话吧。。最近新出的语言都是强类型了 http://www.zhihu.com/question/31100089 |
54 laoyuan 2015-06-19 06:57:32 +08:00 人生苦短,我用 Python、PHP、Ruby |
55 Imyssed 2015-06-19 07:29:12 +08:00 via Android @chrishine http://jimmykuu.sinaapp.com 你说起来我就想到这个哈哈 |
56 vietor 2015-06-19 08:22:15 +08:00 via Android 是当初合伙出书的那批人想出的口号。可爱的Python。垃圾的小圈子,早散伙了。 |
57 ryanking8215 2015-06-19 08:36:42 +08:00 发现大伙对动态语言和静态语言,强类型和弱类型都没搞清楚啊... python是动态语言,强类型 js是动态语言,弱类型 至于静态语言,一般都是强类型的,否则就失去编译时类型检测的优势了 |
58 Tiande PRO @ryanking8215 谢谢安利 |
59 thirtiseven 2015-06-19 09:03:25 +08:00 人生苦短,我来给perl站个队。。。 |
60 fork3rt div class="badges"> 2015-06-19 09:34:57 +08:00 刚好今天穿了这件T恤 |
61 Tink PRO 时间就是生命啊 |
62 est 2015-06-19 09:41:31 +08:00 说python不能做大型系统的,写你们代码的团队几个人组成?其中有没有人有大型系统开发经验?重构了几次?单元测试覆盖率有多少?code review有进行么? |
63 fortunezhang 2015-06-19 09:46:00 +08:00 @yakczh 我到不喜欢在class里面拼html,总感觉怪怪的。 |
64 geeklian 2015-06-19 09:58:09 +08:00 via iPhone 这话放十年前没任何问题吧。 那时候有人用ruby?有人用go lang? |
68 geeklian 2015-06-19 10:17:27 +08:00 via iPhone @robertlyc 吹啥吹,就事论事,楼主这句话写在import this时,有人用ruby么?go lang诞生了么?有python3么? 为啥ruby,go lang这些后来以致现在会流行,还不是因为都是一致的哲学理念。 |
69 robertlyc 2015-06-19 10:32:11 +08:00 @geeklian 哈哈哈哈 是是是 作为一个鼓吹"有且仅有一个最优解"的语言 搞出两个分裂的版本 真是先进的哲♂学理念 |
70 superxzr 2015-06-19 10:34:00 +08:00 Python的开发效率高吧 |
71 zonghua 2015-06-19 11:38:10 +08:00 @publicID321 有mono C#,C# .NET更快把。另外你们不是经常诋毁微软的都是拖控件吗?一行代码都不用写。人生苦短,我用C#。 |
72 yetone 2015-06-19 11:58:04 +08:00 楼主你好,反正我用 Python 从没加过班。我那个开发 Java 的大学同学天天是加班狗,端午放个假都高兴半天 = = |
73 wezzard 2015-06-19 12:17:09 +08:00 Life is short, learn PHP. |
74 mathgl 2015-06-19 12:25:28 +08:00 |
75 Feiox 2015-06-19 12:45:04 +08:00 @tini20 写和读都是那么的舒畅,简单明了,甚至可以直接读出来,I like it ~ 倒时不太喜欢 Ruby 的一袋子语法糖,太甜了 :P ~ (BTW :Python 中可恶的 lambda 函数限制,伤了伤了) @darrenxyli 这样说一切弱类型的语言都是玩具。但,paypal 具他们自己用的说,很多核心模块是用 node 写的,更不要说 GitHub 之类的基本不用 java 的巨型站点了。个人是觉得 java 是外包(比如银行、证券类似的可慢不可错,或者几百人的“培训班”开发团队)最终归宿,动态语言是互联网的最好落脚点。如果要看吐槽,你搜一下 ruby js 这些语言的吐槽,大多也如此。BTW ~ JVM 的运行效率我是服气的很哈 :P |
76 qaulau 2015-06-19 12:58:10 +08:00 简洁易用,节省时间,类库和包很多(可以避免自己重复制造轮子),总的来说就是省时、效率高 |
77 asassas 2015-06-19 13:08:18 +08:00 本来就事论事讨论python语言特性之类的主题又成了语言战争。 而且又是赞ruby贬python。 ruby确实优美,rails也确实魔法。 但是国内的大型UGC网站已经有douban,zhihu,guokr等用python实现的了, rubyer们先别拿github嘲讽python了,加油啊。 |
78 shuson 2015-06-19 13:16:32 +08:00 人生苦短,我去泡妞了 |
79 Axurez 2015-06-19 13:25:10 +08:00 @ryanking8215 可是C是弱类型的 |
80 celon 2015-06-19 14:01:01 +08:00 如果真的觉得人生苦短,这方面ruby比python好太多 |
81 tabris17 2015-06-19 14:06:28 +08:00 因为用了python你会觉得人生很漫长 |
82 darrenxyli 2015-06-19 14:16:21 +08:00 @Feiox 不能说是玩具呀,Ruby没写过,NodeJS写了不少,NodeJS的坑就不说了反正社区也一直在想办法优化这个坑,嗯我主要表达一个观点“不谈场景就是耍流氓”,“人生苦短”的大字报也不是100%恰当的,各有优劣当然都有吐槽的地方,我对任何语言都没有偏见,lisp这种我都在写。互联网就是要快快快所以一来上动态肯定有优势,不过落脚点我持保留意见,普遍思路都是见坑填坑,拿其他优势(换语言,重构或者堆设备)填,例如G家200X年的爬虫是拿Python重写的,后来似乎是改C++重写了?Dropbox拿Python搭的,后来想开发Python的VM来优化编译?Douban似乎很早很多模块都不用Python了?。JVM我也是服气的,全世界大大小小组织至少也是砸了亿级的成本进去优化。喜欢你讨论问题的语气,嘿嘿。个人觉得语言战真没意思啊,技能属性不同,打火系怪物要用水系魔法,打火系黑暗怪要用水系光明魔法,见招拆招千里取贞操,嗯~以上全是愚见,各位不服莫辩因为我肯定辩不赢你的~ |
83 Feiox 2015-06-19 14:49:15 +08:00 @darrenxyli 哈哈,所以,对于牛X or 装B 用 Scheme(Racket) 写算法那是极好的,对于一大堆杂牌军并附带 2.5k 月薪的大学实习生来说,javavavava ~ 对于快快快快快上线的互联网,用 PyRuNo 那就是对了。但,对于 PHP (<7)的语法我真的无力吐槽。 所以,人生苦短,我用Python 这句话的真正奥义,我觉得是把 Py3 (我一定要强调,是 py3k !)作为生活学习小秘书 ,而非严谨高效可**流水化生产**的工业语言。 在《黑客与画家》中谈到过,你用 java 才写完一个包的时候人家都开始谈融资了。不过我认为,如果团队里有水平不高的开发者时,你用 java 写的都开始数钱了,他们 PyRuNo 还在 debug。 P.S. 性能敏感的还是老老实实静态语言吧,但大多数产品都死在了没钱为继的晚上。 |
85 ryanking8215 2015-06-19 15:22:57 +08:00 @Axurez 为什么是弱类型?你指C的隐式参数类型提升吗? |
88 Axurez 2015-06-19 17:59:44 +08:00 @ryanking8215 嗯 |
89 levn 2015-06-19 19:19:27 +08:00 为了押韵 |
90 FrankHB 2015-06-19 20:22:46 +08:00 @ryanking8215 你至少搞错了两点。 1.你楼上讨论的除了一个在黑python的的都是动态类型语言和静态类型语言,什么时候在说动态语言和静态语言了?两者完全不是一回事,前者是指类型检查发生的时机,后者是指是否在运行时允许改变程序自身的构造。(顺便,上面那个动态语言的说法没有问题。) 2.强类型和弱类型这样的说法的意义早就乱了,各种鸡同鸭讲所以不能指望在不确定具体上下文时知道意思。非得要直接给一个定义来强行说清楚反而是有问题的。 如果要说原意,强类型=要求类型检查,弱类型=不要求类型检查,就是“有”和“没有”的区别,不是现在许多人经常以为的只有相对含义却说不清界限的玩意儿。 |
91 young 2015-06-19 22:09:21 +08:00 好奇问一下, 人生苦短? 到底有多短? |
92 stranbird 2015-06-20 10:49:30 +08:00 Python: 1. dict.viewkeys dict.setdefaults dict.popitem ... ... dict.has_key # <- wtf? 2. Decimal("1024") is not JSON serializable. # <- wtf? 3. string.upper string.strip ... ... len(string) # <- wtf? 4. ascii, gbk, unicode, utf-8 can't decode ascii character at position 1-2 ... # <- wtf? 5. lambda 只能一行 个人觉得当时说出这句口号就像是刘姥姥进大观园没见过世面,看到了新世界也无可厚非。但都进入二十一世纪这么多年了,还抱着这样的优越感就有点无语了。 |
93 hitsmaxft 2015-06-20 19:31:32 +08:00 几年前挺喜欢 python, 如果在3.x能有实质性的突破,也许就不是今天这个样子。在我主要关注的web这个领域里, python 已经没地位了。 系统编程方面还可以一用, 但是 go 摆在那里也不是吃素的。 唉,看到这个话题好想说点什么, 但是却什么也说不出来。 |
94 noli 2015-07-23 01:52:12 +08:00 @FrankHB strong typing weak typing 还是有一定的标准的,例如维基百科上的说法: In computer programming, programming languages are often colloquially referred to as strongly typed or weakly typed. These terms do not have a precise definition, but in general, a strongly typed language is more likely to generate an error or refuse to compile if the argument passed to a function does not closely match the expected type. On the other hand, a very weakly typed language may produce unpredictable results or may perform implicit type conversion. 概括点来说就是是否 ill-behaved 作为标准: 对于strong typing 来说,类型不符合预期不会导致 ill-behaved 是因为会报错(编译时或运行时都可以),程序无法继续运行。 对于 weak typing 来说,类型不符合预期,会通过隐式类型转换或者忽略而继续执行,导致产生预期以外的结果进而影响程序产生 ill-behaved。 区别在于行为是否在语言预期之中。 |