折腾机器学习和大数据,最近看了看 python,有点疑问
首先 Pypi 就是 PHP 的 Composer,NodeJS 的 npm, Java 的 Maven 对吧?
其次是 Python 并没有多少官方自己发行维护的轮子 对吧?
比如图像处理的一个包 https://pypi.python.org/pypi/magickwand/0.2
哈?开发者: http://digitalarchitekt.de/ ?
就是哪天心情不好就不维护了呗,有 bug 也没处找没处反馈?
所以 Python 官方对一些 数学计算(好像有 math )、图像处理( PIL 是官方的吗?)、压缩包处理(好像有 ZIP ?)等一些其他包?(官方维护的或是对应的官方维护的,比如 mongodb 的 client 是 mongodb 自己维护的
1
halfcoder 2017-09-22 15:47:35 +08:00
对
|
2
neoblackcap 2017-09-22 15:54:40 +08:00
每个社区不是基本都是这样吗?
|
3
cevincheung OP @neoblackcap #2
图像处理像 PHP 有 gd (源码内嵌),java 有 ImageIO。python 没有(官方维护更新的)? 高精度数学计算:PHP 有 BCMath (源码内嵌)。python 没有?(官方维护更新的) |
4
Zzzzzzzzz 2017-09-22 16:13:16 +08:00
btmath 一个是 python 默认特性的大数支持, 另一个相当于标准库的 decimal 模块
php 很多类库一开始也不是官方的, 也是先进了 pecl 再合并进官方库的 |
5
clino 2017-09-22 16:14:50 +08:00
Java 的 Maven 是不是只有二进制发布? pypi 除了发布还能查到信息吧
|
6
Zzzzzzzzz 2017-09-22 16:18:49 +08:00
pypi 其实更类似于 php 原本官方的 pecl + pear 模式, 不过似乎说反了,只是 pear 从 php5 开始就没多少人用了, 后来才有了第三方维护的 composer.
|
7
Bearless 2017-09-22 16:21:08 +08:00 via iPhone
?额度人
|
8
gclove 2017-09-22 16:23:43 +08:00
。。 你完全不用担心这种问题
既然是说轮子, 那就是自己也可以造的 担心这种完全就是杞人忧天。 python 本身就是支持大数计算的. php 一些原生函数也在 php 7 中发生了改变 而且在 python 中, 你可以封装成一个个模块, 而不用担心, 到底是使用了哪个图像处理模块(库) |
9
ajeef 2017-09-22 16:25:40 +08:00 via Android
任何操作系统自带的东西,都是(遗产)最多的优势权,各家发行版,甚至嵌入式 Linux,都自带 python2
|
10
8811 2017-09-22 16:25:40 +08:00 1
私以为,官方的轮子,反而质量未必好。。。
|
11
carlclone 2017-09-22 16:26:48 +08:00 via Android
你是不知道大多数时候第三方比官方的好用吧,往更高级抽象了
|
12
prasanta 2017-09-22 16:38:28 +08:00 via iPhone
那个开发者的简历风格真酷
|
15
cevincheung OP |
16
awanabe 2017-09-22 17:38:14 +08:00
|
17
mingran 2017-09-22 17:41:14 +08:00
爱用不用,不用去玩 matlab,90%的函数、语法都是 mathworks 做的
|
18
RubyJack 2017-09-22 17:42:40 +08:00
哪来的乡下人
|
19
wuqiangroy 2017-09-22 18:01:58 +08:00
@prasanta 看来你工作不饱和啊。
|
20
cevincheung OP @gclove #8
有没有什么是一开始第三方开发的后被并入到 python 中的? |
21
ylcc 2017-09-22 18:19:41 +08:00
@cevincheung #20 future
|
22
EricCartman 2017-09-22 18:44:58 +08:00 via Android
numpy, pandas 之类都成了事实标准了
|
23
JerryCha 2017-09-22 18:49:36 +08:00 via iPhone 1
C:什么是轮子?
|
24
srlp 2017-09-22 19:23:45 +08:00 via iPhone
没有多少官方包:对,没错。
但是! 别的不说,高精度数学计算 numpy scipy 已经成为事实标准,**所有** python 科学计算库都必然支持,完全不用怕突然不维护。 画图的 matplotlib 也是事实标准了,尽管放心用。 图像处理的话,常见的是 pillow opencv,也是很大的社区维护。 机器学习基础包则有 scikit-learn,非常完善的社区。 第三方合并的,有,比如说 future array mypy 等。 实际上,python “官方”社区也是一个由各种人组成的社区而已……“万一作者不开心放弃维护了,怎么办?”换一个就是了,笑 |
25
xierch 2017-09-22 21:17:43 +08:00
那不是因为官方轮子都进了标准库么(
|
26
neoblackcap 2017-09-22 21:53:11 +08:00
@cevincheung
不是很明白你的意思,高精度计算,python 是有 decimal 模块来支持的。 官方的东西又不见得是最好的,难道 php 的 http client 不是调用 libcurl ?又不是自己重新实现的。 甚至官方不提供大多数功能的社区也有,但是你说的这些领域他更强,没错我说的就是 C++。 C++标准里面提供的东西烧纸而又少,但是图形相关的库,大多数是用 C++写的。科学计算领域,C++也是很有优势的。 那么我们如何解决这样一个可能作者弃坑的问题呢?学大公司,将开源库再封装,出事了就去找新的替换或者自己 fork 继续维护。在不添加新功能的情况下,一个模块的 bug 是可控的。这是常态,要求语言去解决全部这些问题并不现实。不要说语言,就是平台也帮不了你这么多啊。你说要支持高精度计算,我还想它支持多平台运行呢?不现实嘛 |
27
congeec 2017-09-22 22:00:55 +08:00 via iPhone
我还是对 python 社区代码质量挺满意的
|
28
seki 2017-09-22 22:10:37 +08:00
python 不错了,你看隔壁 js 连标准库都不全
开源就是这样子,作者没有坚持维护的义务,但是好用的东西一般都会有人接手下去 |
29
NoAnyLove 2017-09-22 22:24:27 +08:00
@neoblackcap 说到官方轮子少,我觉得不能不提 C,这个连基本的数据结构都木有啊。。。。。。
|
30
est 2017-09-22 22:31:42 +08:00
python 官方库有解析 wave 文件的。
|
31
ech0x 2017-09-22 22:38:52 +08:00 via iPhone
我的记得 python 自带电池的电池被吐槽的多惨,现在又有人嫌弃标准库不够。。。风水轮流转啊😂
|
32
PythonAnswer 2017-09-22 22:39:45 +08:00
|
33
rogerchen 2017-09-22 23:06:19 +08:00 via iPad
楼主是来钓鱼的还是开错号了,老手学东西不会先去搜一下最佳实践么。
|
34
VinKing 2017-09-23 00:03:08 +08:00 1
先回答一下楼主的几个问题:
“首先 Pypi 就是 PHP 的 Composer,NodeJS 的 npm, Java 的 Maven 对吧?” PHP 的我不了解,剩下的可以认为是比较类似的。但是不完全一样。 “其次是 Python 并没有多少官方自己发行维护的轮子 对吧?” 是的。 “比如图像处理的一个包 https://pypi.python.org/pypi/magickwand/0.2 哈?开发者: http://digitalarchitekt.de/ ? 就是哪天心情不好就不维护了呗,有 bug 也没处找没处反馈?” 是的。你可以联系开发者来反馈 bug。 ”所以 Python 官方对一些 数学计算(好像有 math )、图像处理( PIL 是官方的吗?)、压缩包处理(好像有 ZIP ?)等一些其他包?(官方维护的或是对应的官方维护的,比如 mongodb 的 client 是 mongodb 自己维护的“ Python 标准库是有对数学运算提供支持的。Mongo 是商业公司,所以会有一些 client 来由自身维护。这个跟 python 是不一样的。 另外,我多说几句,谈我对这个问题的看法。 1 对于编程语言的认知上,一般编程语言其实包含:语言规范,标准库,第三方包。很少有某个语言的官方组织会写第三方包(以个人的名义不算),顶多出一个最佳实践。因为语言可能的业务场景是无限的,不同的场景对语言的使用是不一样的。社区自然会产生适应不同场景的第三方包。这也是语言繁荣的一个因素。 2 关于这个问题的表达上,更像是一个类似饭后闲聊的主题,因为真的很容易谷歌或者百度到。私以为社区的讨论应该是问一下有简明扼要的背景说明,有遇到的问题客观描述,然后大家一起来针对问题来集思广益。而不是在一个可以闲聊的话题上你一眼我一语。 有说的不对的地方,各位多包涵。 |
35
pepesii 2017-09-23 00:06:09 +08:00
是不是要说 xxx 是世界上最好的语言???
为什么不根据应用场景选择语言呢?? |
36
cevincheung OP @rogerchen #32
|
37
cevincheung OP @VinKing #33 好吧,我好像想多了
|
38
msg7086 2017-09-23 05:36:52 +08:00
官方哪天心情不好也可以不维护,你又没给人家工资,大家不都一样么。
|
39
ipwx 2017-09-23 09:44:19 +08:00
楼主是钓鱼呢,还是真心门外汉呢?
http://docs.python-guide.org/en/latest/#scenario-guide-for-python-applications 这个里面基本列出来大部分高质量的准·标准库了。 |
40
xiaoyao9933 2017-09-23 13:05:09 +08:00
.net 官方维护了一大堆 nuget。。结果呢?
|