为什么 要这样说:人生苦短,我用 Python

2015-06-18 17:00:37 +08:00
 silianbo
19576 次点击
所在节点    程序员
95 条回复
tabris17
2015-06-19 14:06:28 +08:00
因为用了python你会觉得人生很漫长
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我也是服气的,全世界大大小小组织至少也是砸了亿级的成本进去优化。喜欢你讨论问题的语气,嘿嘿。个人觉得语言战真没意思啊,技能属性不同,打火系怪物要用水系魔法,打火系黑暗怪要用水系光明魔法,见招拆招千里取贞操,嗯~以上全是愚见,各位不服莫辩因为我肯定辩不赢你的~
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. 性能敏感的还是老老实实静态语言吧,但大多数产品都死在了没钱为继的晚上。
jun4rui
2015-06-19 15:05:25 +08:00
@celon 如果能在非Web开发方面和非*nix系统上能更给力就好了……
ryanking8215
2015-06-19 15:22:57 +08:00
@Axurez 为什么是弱类型?你指C的隐式参数类型提升吗?
gzxultra
2015-06-19 15:24:27 +08:00
@AndersQ 刚开始学习Python,请教一下Python能开发桌面应用么,比如做一个类似QQ的即时通讯软件
popu111
2015-06-19 15:26:25 +08:00
@caoyue 知道啊,不就是你的组织么
Axurez
2015-06-19 17:59:44 +08:00
levn
2015-06-19 19:19:27 +08:00
为了押韵
FrankHB
2015-06-19 20:22:46 +08:00
@ryanking8215
你至少搞错了两点。
1.你楼上讨论的除了一个在黑python的的都是动态类型语言和静态类型语言,什么时候在说动态语言和静态语言了?两者完全不是一回事,前者是指类型检查发生的时机,后者是指是否在运行时允许改变程序自身的构造。(顺便,上面那个动态语言的说法没有问题。)
2.强类型和弱类型这样的说法的意义早就乱了,各种鸡同鸭讲所以不能指望在不确定具体上下文时知道意思。非得要直接给一个定义来强行说清楚反而是有问题的。
如果要说原意,强类型=要求类型检查,弱类型=不要求类型检查,就是“有”和“没有”的区别,不是现在许多人经常以为的只有相对含义却说不清界限的玩意儿。
young
2015-06-19 22:09:21 +08:00
好奇问一下, 人生苦短? 到底有多短?
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 只能一行

个人觉得当时说出这句口号就像是刘姥姥进大观园没见过世面,看到了新世界也无可厚非。但都进入二十一世纪这么多年了,还抱着这样的优越感就有点无语了。
hitsmaxft
2015-06-20 19:31:32 +08:00
几年前挺喜欢 python, 如果在3.x能有实质性的突破,也许就不是今天这个样子。在我主要关注的web这个领域里, python 已经没地位了。 系统编程方面还可以一用, 但是 go 摆在那里也不是吃素的。

唉,看到这个话题好想说点什么, 但是却什么也说不出来。
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。

区别在于行为是否在语言预期之中。
silianbo
2015-07-23 01:57:21 +08:00
@noli 大半夜还不睡觉!怎么翻出这个主题了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/199609

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX