有没有觉得, Python 这个语言,越来越复杂(繁杂)了

2021-06-23 10:58:53 +08:00
 piqizhu8

最近一段时间,我都在研究编程语言,因为我也想创造一个编程语言, 不过我目前主要用的是 Python


在我看来,一门语言应该减少歧义,语言内要减少分裂

但我发现 Python 越来越复杂了,语法糖越来越多了, 比如:

3.9 版新增的 合并 dict 的操作符 | |=

这 2 个操作符实现的功能,dict 本身的方法就可以容易、直观的实现

增加这 2 个操作符 虽然可以少打几个字, 但是 这样不断的堆砌语法糖, 未来会让这个语言很混乱,

我个人目前没有发现这 2 个操作符带来了多大的价值,有些弊大于利

想问问大家的看法

7704 次点击
所在节点    问与答
72 条回复
alexkkaa
2021-06-24 06:20:34 +08:00
语法糖也可以很香啊 比如 c#

个人觉得目前 go 是比较完善也简洁的语言。本身的坑很少。标准库也比较规范。
sampeng
2021-06-24 07:05:46 +08:00
复杂不复杂我不晓得,只知道每次写的任何 python 代码,写时一时爽,半年后维护火葬场
towser
2021-06-24 07:10:14 +08:00
语法糖过载也不是好事。
acmore
2021-06-24 07:56:16 +08:00
They say "Fxxk 'import this'".
fxjson
2021-06-24 07:59:46 +08:00
我写了 10 动态语言,隐约意识到:动态语言一时爽,代码重构火葬场
herozzm
2021-06-24 08:11:31 +08:00
真是垃圾 写的代码不忍直视
hunk
2021-06-24 08:17:49 +08:00
go 用起来贼爽,小工具尝试用 node 实现,有些库还是 py 的多。
灵活切换,总的来说能不用 py 就不用。
Cbdy
2021-06-24 08:18:44 +08:00
游标卡尺还行
wms
2021-06-24 08:40:00 +08:00
@laoyur if true or expr
zhangshine
2021-06-24 08:46:25 +08:00
支持我还用 python 的原因就剩下 django 了
madpecker009
2021-06-24 08:49:35 +08:00
@LokiSharp 我命油我不油天?
LokiSharp
2021-06-24 09:06:53 +08:00
@madpecker009 问题是我可以按我自己想法写,别人不会,读代码的频率比自己写代码高多了
wellsc
2021-06-24 09:13:57 +08:00
@LokiSharp 怎么做到一个单词拼错两次的
xiaolinjia
2021-06-24 09:15:04 +08:00
a | b,不就是 {**a, **b}吗。我也觉得这个没多大意义。
a |= b,是就地修改+返回,比 a.update(b) 多一道可以返回修改后的 dict 。不过也就少些了一句,意义不大。
更多的我感觉应该是为了,让这个能支持 operator 模块,来函数式编程。

至于 import this 的信条,也不看是啥时候说的。就像我自己写的时候想着要写得简洁点,那同事不一定这么想啊,开源社区就是这样,谁都可以说句话,往里面提交些代码,但是吧,py 门槛较低,有些人吧又没那么讲究。要是龟叔独裁了一点,又要被社区的喷。

终究到底,我就希望速度能提上来,这样其他方面我也没怎么要求。
wellsc
2021-06-24 09:15:48 +08:00
@alexkkaa Go 的标准库规范吗?去看看 time 包吧
LokiSharp
2021-06-24 09:39:29 +08:00
@wellsc 公司的蓝牙键盘有点问题= =
encro
2021-06-24 09:54:57 +08:00
1,语法糖没有错,可以让代码变得更加简练,而简练通常意味容易理解和维护;
2,而且并不会怎么影响性能(从原理上来说);
3,目前语言都趋同了,至少我知道的 Java,C#,PHP,TS,Dart,C++等,基本上大家都差不多的语法了。Go 有自己的坚持简单直接,目前看来是成功的。Rust 解决 C++的问题,目前看来也是成功的。Python 作为计算机非专业人士的编程工具,也是成功的。


Python 做做快速项目还是可以的,比如 django 搭建一个小范围用的后台,pyside 开发一个小工具,做个爬虫什么的,都是可以的。团队项目的话,还是选用一套成熟框架吧( django 虽然也很成熟好用,但是不适合个性化定制,最终成本可能大于其他框架从头来),框架最重要一点就是约定。

Python 最大的问题就是分散,解决同一个问题可能有三种方案,而三种方案可能都有严重缺陷,你如果要解决他们的缺陷,可能需要的时间比自己实现还难(因为语法随意性)。当然也因为 pip 历史悠久,也存在大量如 requests,flask,django,fastapi,NumPy,Pandas 等等比较高质量的库和封装。

如果你要做一个多人协作,长期开发和维护的项目,我觉得还是远离 Python 比较好,类型提示、丰富的类特性很重要,Python 历史遗留的库也太多了吧,我觉得升级无望,没有类型提示,在 IDE 上写代码就是自己找罪受,这方面目前 PHP,C++都好很多。
neptuno
2021-06-24 09:59:49 +08:00
java:每个人都在嘲笑我,最后每个人都会成为我
Marszm
2021-06-24 10:10:44 +08:00
python 的缩进,,简直恶心坏我了。。。其实一点都不好看,根本就是个屑。js 赛高。无自由,毋宁死。。
jingslunt
2021-06-24 10:13:23 +08:00
@chenqh 之前看到一个新闻,好像是 python 作者入职微软,打算把 python 速度大幅度提升,应该是 4.0 吧。速度上 php 都做到了

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

https://www.v2ex.com/t/785251

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

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

© 2021 V2EX