由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 动态语言在后端永远不会主流
相关主题
脚本比较大的问题就是DEBUG请教一个C++概念。
python不支持多态请教一个C++ (.a文件)的小问题
淘宝"技术"含量很低c function 在 c里调用和C++调用结果不一样
Xmind这个Java做的软件,十来个人,年利润一百万刀visual C++链接不同的第三方library的问题
下一个热点是啥?搞不懂所谓的backend有什么骄傲的?
请教一下如何用Java或者Perl取得动态网页(ASPX)的源代码[分享]:一篇文章讲通一半Java《面向对象一家人》
请教什么时候变量会被load进stack,什么时候进入heap呢?王垠的新文章看了吗
谁能推荐一个代码依赖关系的分析工具?Scala 1-star, would not program again
相关话题的讨论汇总
话题: python话题: 语言话题: java话题: duck话题: 静态
进入Programming版参与讨论
1 (共1页)
g*****g
发帖数: 34805
1
就这么俩原因。
1. 一个产品环境里的bug成本是开发环境bug 1000倍以上。
2. 自动测试覆盖有限,很难达到完全的覆盖,有个80%行覆盖就已经不错。
对于剩下的20%,虽然静态语言不能保证没有bug, 但是能保证没有简单的类型错误之类
编译器就能找出来的。
所以越是出bug成本高,越是快速开发频繁修改不能严格保证覆盖率的地方/项目,越
没法用动态语言。
除非动态语言能够静态分析排错达到静态语言的水平。
p*****2
发帖数: 21240
2
python算主流吗?
g*****g
发帖数: 34805
3
看你怎么定义主流了。我觉得在ui里,在部署脚本里都见得不少,但这不是我说的后端
部分。
在B2C的startup有一定吸引力,在B2B,以及成长起来的B2C网站里就见得少。还不如
php.
不知道有啥上市公司是大部分用Python写的?也许dropbox,pinterest会成为前几个?

【在 p*****2 的大作中提到】
: python算主流吗?
p*****2
发帖数: 21240
4

我感觉新一轮的startup python算是主流。
youtube是被G买了
instagram 被F买了
quora估计不容易上市
上市公司的话估计就是yelp了。

【在 g*****g 的大作中提到】
: 看你怎么定义主流了。我觉得在ui里,在部署脚本里都见得不少,但这不是我说的后端
: 部分。
: 在B2C的startup有一定吸引力,在B2B,以及成长起来的B2C网站里就见得少。还不如
: php.
: 不知道有啥上市公司是大部分用Python写的?也许dropbox,pinterest会成为前几个?

Y**G
发帖数: 1089
5
你这只是电商一块把,google的crawler可是用了很多Python,算是后台吧。

【在 g*****g 的大作中提到】
: 就这么俩原因。
: 1. 一个产品环境里的bug成本是开发环境bug 1000倍以上。
: 2. 自动测试覆盖有限,很难达到完全的覆盖,有个80%行覆盖就已经不错。
: 对于剩下的20%,虽然静态语言不能保证没有bug, 但是能保证没有简单的类型错误之类
: 编译器就能找出来的。
: 所以越是出bug成本高,越是快速开发频繁修改不能严格保证覆盖率的地方/项目,越
: 没法用动态语言。
: 除非动态语言能够静态分析排错达到静态语言的水平。

p*****2
发帖数: 21240
6

听说G要抛弃P了。

【在 Y**G 的大作中提到】
: 你这只是电商一块把,google的crawler可是用了很多Python,算是后台吧。
z****e
发帖数: 54598
7
脚本的使用在控制的范围之内还好
java为主,脚本为辅的模式比较ok
以前就这样,java为主,然后一堆人用什么sql, javascript往上搭配
现在只不过多了ruby,python,groovy这些而已
z****e
发帖数: 54598
8
c和java将会是主流
就像rod johnson说的那样
以后可能再也不会出现跟c/java一样大面积流行的语言
但是支流会越来越多,不同人的需求是不一样的
给他们不同的选择
d********g
发帖数: 10550
9
动态的目前测试主要还是TDD和靠unittest,和静态的比类型检查这一步是差不少。典
型的支持first-class function的几个语言,传func和func()自动查不出来。但真正做
得好的,写动态语言其实就和写C/C++需要自己管理内存差不多,就是严格加严格,还
有修炼加修炼
不过动态语言的优点也是不少的,比如duck typing很爽。静态的搞duck typing就没这
么直接,理念不同而已

【在 g*****g 的大作中提到】
: 就这么俩原因。
: 1. 一个产品环境里的bug成本是开发环境bug 1000倍以上。
: 2. 自动测试覆盖有限,很难达到完全的覆盖,有个80%行覆盖就已经不错。
: 对于剩下的20%,虽然静态语言不能保证没有bug, 但是能保证没有简单的类型错误之类
: 编译器就能找出来的。
: 所以越是出bug成本高,越是快速开发频繁修改不能严格保证覆盖率的地方/项目,越
: 没法用动态语言。
: 除非动态语言能够静态分析排错达到静态语言的水平。

m********2
发帖数: 89
10
你这个Python vs JAVA比较的前提好像有点问题。
我觉得更客观的比较前提应该是:给定一个项目,一定的钱(开发人数 x 开发时间)。
这个前提之下,Python code少 -》出bug的几率会少;开发时间短 -》有更多的test/
debug时间。我觉至少理论上可以弥补Dynamic的一些缺点。
另外我觉得IDE navigation/refactoring 很重要(静态语言的优势);不过静态查错的
作用有点被高估的了。静态查错只能发现一些简单错误,跟TDD比起来可以忽略不计。

【在 g*****g 的大作中提到】
: 就这么俩原因。
: 1. 一个产品环境里的bug成本是开发环境bug 1000倍以上。
: 2. 自动测试覆盖有限,很难达到完全的覆盖,有个80%行覆盖就已经不错。
: 对于剩下的20%,虽然静态语言不能保证没有bug, 但是能保证没有简单的类型错误之类
: 编译器就能找出来的。
: 所以越是出bug成本高,越是快速开发频繁修改不能严格保证覆盖率的地方/项目,越
: 没法用动态语言。
: 除非动态语言能够静态分析排错达到静态语言的水平。

相关主题
请教一下如何用Java或者Perl取得动态网页(ASPX)的源代码请教一个C++概念。
请教什么时候变量会被load进stack,什么时候进入heap呢?请教一个C++ (.a文件)的小问题
谁能推荐一个代码依赖关系的分析工具?c function 在 c里调用和C++调用结果不一样
进入Programming版参与讨论
N******K
发帖数: 10202
11
语法bug都是低级bug 逻辑算法出了问题才是大问题

【在 g*****g 的大作中提到】
: 就这么俩原因。
: 1. 一个产品环境里的bug成本是开发环境bug 1000倍以上。
: 2. 自动测试覆盖有限,很难达到完全的覆盖,有个80%行覆盖就已经不错。
: 对于剩下的20%,虽然静态语言不能保证没有bug, 但是能保证没有简单的类型错误之类
: 编译器就能找出来的。
: 所以越是出bug成本高,越是快速开发频繁修改不能严格保证覆盖率的地方/项目,越
: 没法用动态语言。
: 除非动态语言能够静态分析排错达到静态语言的水平。

g*****g
发帖数: 34805
12
出问题的时候没啥区别 ,都很严重


【在 N******K 的大作中提到】
: 语法bug都是低级bug 逻辑算法出了问题才是大问题
l*******m
发帖数: 1096
13
其实python的IO速度很快,前几年比java还快,现在被java超过了,不过也不多。

【在 p*****2 的大作中提到】
:
: 听说G要抛弃P了。

z****e
发帖数: 54598
14
"Python code少 -》出bug的几率会少"
这个有些想当然了
python的code增长到一定程度
bugs数量可能会比两倍于自身的java code的bugs还要多
duck type是bug的一个主要来源
最麻烦的是,ide帮不上忙
所以很多人说脚本不适合大项目

)。

【在 m********2 的大作中提到】
: 你这个Python vs JAVA比较的前提好像有点问题。
: 我觉得更客观的比较前提应该是:给定一个项目,一定的钱(开发人数 x 开发时间)。
: 这个前提之下,Python code少 -》出bug的几率会少;开发时间短 -》有更多的test/
: debug时间。我觉至少理论上可以弥补Dynamic的一些缺点。
: 另外我觉得IDE navigation/refactoring 很重要(静态语言的优势);不过静态查错的
: 作用有点被高估的了。静态查错只能发现一些简单错误,跟TDD比起来可以忽略不计。

a*w
发帖数: 4495
15
换IDE

【在 z****e 的大作中提到】
: "Python code少 -》出bug的几率会少"
: 这个有些想当然了
: python的code增长到一定程度
: bugs数量可能会比两倍于自身的java code的bugs还要多
: duck type是bug的一个主要来源
: 最麻烦的是,ide帮不上忙
: 所以很多人说脚本不适合大项目
:
: )。

z****e
发帖数: 54598
16
duck type换什么都是一样无力的
最后你会有换语言的冲动

【在 a*w 的大作中提到】
: 换IDE
s********k
发帖数: 6180
17
you forget dropbox as big P shop

【在 p*****2 的大作中提到】
:
: 听说G要抛弃P了。

c***d
发帖数: 996
18
第二点你说的太武断了。 python 100% unit test line coverage是起码的,
javascript我作过的一些项目也要求100%行覆盖, 习惯了也没什么。

【在 g*****g 的大作中提到】
: 就这么俩原因。
: 1. 一个产品环境里的bug成本是开发环境bug 1000倍以上。
: 2. 自动测试覆盖有限,很难达到完全的覆盖,有个80%行覆盖就已经不错。
: 对于剩下的20%,虽然静态语言不能保证没有bug, 但是能保证没有简单的类型错误之类
: 编译器就能找出来的。
: 所以越是出bug成本高,越是快速开发频繁修改不能严格保证覆盖率的地方/项目,越
: 没法用动态语言。
: 除非动态语言能够静态分析排错达到静态语言的水平。

m********2
发帖数: 89
19
我也不是说Python code的bugs一定比JAVA code少(实际中各种的变量实在太多,很难
量化)。我主要想说:比较的时候应该尽量公平一点。
至于你说的大项目,我觉的现在合格的Python Developers太少其实是最直接的原因。
但是以后是不是一直会这样? 反正我觉得现在下这个结论还太早。

【在 z****e 的大作中提到】
: "Python code少 -》出bug的几率会少"
: 这个有些想当然了
: python的code增长到一定程度
: bugs数量可能会比两倍于自身的java code的bugs还要多
: duck type是bug的一个主要来源
: 最麻烦的是,ide帮不上忙
: 所以很多人说脚本不适合大项目
:
: )。

c******o
发帖数: 1277
20
一个人好办,关键是对于动态语言,别人用你的code的时候很难保证不滥用,很难保证
遵守潜藏的先决条件。
静态语言至少保证类型一致,对于非常强的类型语言,像scala/haskell, 我甚至能保
证些很奇妙的东西:
保证内部数据(变量/不变量)不会泄漏,导致外部程序能显性/隐形的改动或看见它
。(compile time error)
保证access resource的时候一定是valid的,不会没初始化,也不会被提前关了 (
compile time error)
等等
当然,这个有时候也有点奇技淫巧,太麻烦了。

【在 c***d 的大作中提到】
: 第二点你说的太武断了。 python 100% unit test line coverage是起码的,
: javascript我作过的一些项目也要求100%行覆盖, 习惯了也没什么。

相关主题
visual C++链接不同的第三方library的问题王垠的新文章看了吗
搞不懂所谓的backend有什么骄傲的?Scala 1-star, would not program again
[分享]:一篇文章讲通一半Java《面向对象一家人》语言发展是由经济学原则推动的
进入Programming版参与讨论
a***n
发帖数: 538
21
C++和Java一样可以duck typing,你不用是你自己水平的问题,和语言有什么关系。

【在 z****e 的大作中提到】
: duck type换什么都是一样无力的
: 最后你会有换语言的冲动

p********e
发帖数: 6030
22
那用啥?

【在 p*****2 的大作中提到】
:
: 听说G要抛弃P了。

z****e
发帖数: 54598
23
java要用的话要用反射
不是那么常用
除了写框架的人,正常工作时候一般都不用
我都忘记我上次用反射是什么时候的事了
也就是不会被滥用
python随便一个都可以给你来点duck type
很容易把你玩死,java跟python最大区别就在于
一些高级技能,没那么容易写出来
这个用python的最清楚了
python跟ruby最大的差异就在于
python的很多高级技能比较难搞出来
但是ruby特别容易搞出来,scala尤甚
这就是让别人爽和让自己爽的区别
java最大程度抑制个人随便发挥
而其他语言则多数没有这个控制
导致很多初学者在经验不够时候就开始乱搞

【在 a***n 的大作中提到】
: C++和Java一样可以duck typing,你不用是你自己水平的问题,和语言有什么关系。
d**********u
发帖数: 3371
24
re 就编程语言的角度 完全可以做类型检查

【在 a*w 的大作中提到】
: 换IDE
p*****2
发帖数: 21240
25

好虫不是已经说了吗

【在 s********k 的大作中提到】
: you forget dropbox as big P shop
r****t
发帖数: 10904
26
tools 和 testing 不太可能

【在 p*****2 的大作中提到】
:
: 好虫不是已经说了吗

p*****2
发帖数: 21240
27

Go

【在 p********e 的大作中提到】
: 那用啥?
b*******s
发帖数: 5216
28
讲得很好

【在 d********g 的大作中提到】
: 动态的目前测试主要还是TDD和靠unittest,和静态的比类型检查这一步是差不少。典
: 型的支持first-class function的几个语言,传func和func()自动查不出来。但真正做
: 得好的,写动态语言其实就和写C/C++需要自己管理内存差不多,就是严格加严格,还
: 有修炼加修炼
: 不过动态语言的优点也是不少的,比如duck typing很爽。静态的搞duck typing就没这
: 么直接,理念不同而已

A*****o
发帖数: 284
29
个人所知, Yelp家貌似也是Python Shop, 不明白的是Python这类语言致命弱点在哪里?
对于大项目来说? 求指点
z****e
发帖数: 54598
30
duck type
python写duck type只要一个try/catch
你信不信是个python programmers就能给你来个duck type

里?

【在 A*****o 的大作中提到】
: 个人所知, Yelp家貌似也是Python Shop, 不明白的是Python这类语言致命弱点在哪里?
: 对于大项目来说? 求指点

相关主题
微软的架构设计师真是大学生水平啊python不支持多态
俺一直觉得C#弄个JIT挺傻逼的淘宝"技术"含量很低
脚本比较大的问题就是DEBUGXmind这个Java做的软件,十来个人,年利润一百万刀
进入Programming版参与讨论
p*****2
发帖数: 21240
31

里?
Python没啥问题,主要是没想到会出来Node这么个怪物吧?

【在 A*****o 的大作中提到】
: 个人所知, Yelp家貌似也是Python Shop, 不明白的是Python这类语言致命弱点在哪里?
: 对于大项目来说? 求指点

a***n
发帖数: 538
32

我觉得node主要还是async是底层支持的吧,因为js本身不支持多线程,所以js的程序
员写callback比较顺手。python 2的async都是纯python实现的效率和语法支持确实差
点,一般的程序员也掌握不了。

【在 p*****2 的大作中提到】
:
: 里?
: Python没啥问题,主要是没想到会出来Node这么个怪物吧?

1 (共1页)
进入Programming版参与讨论
相关主题
Scala 1-star, would not program again下一个热点是啥?
语言发展是由经济学原则推动的请教一下如何用Java或者Perl取得动态网页(ASPX)的源代码
微软的架构设计师真是大学生水平啊请教什么时候变量会被load进stack,什么时候进入heap呢?
俺一直觉得C#弄个JIT挺傻逼的谁能推荐一个代码依赖关系的分析工具?
脚本比较大的问题就是DEBUG请教一个C++概念。
python不支持多态请教一个C++ (.a文件)的小问题
淘宝"技术"含量很低c function 在 c里调用和C++调用结果不一样
Xmind这个Java做的软件,十来个人,年利润一百万刀visual C++链接不同的第三方library的问题
相关话题的讨论汇总
话题: python话题: 语言话题: java话题: duck话题: 静态