Python 之父谈缩进和大括号

2022-11-28 12:03:31 +08:00
 ACMCoder
如果回到过去,他还是会采用缩进而不是大括号吗?
视频地址: https://www.bilibili.com/video/BV1KG4y157ha/
4448 次点击
所在节点    Python
25 条回复
KENNHI
2022-11-30 17:23:37 +08:00
@FrankHB 正是因为有 IDE 所以无所谓啊,而且不想用可以不用嘛,Python 的替代品可太多了,另外我主要用 java 。不像 js 那个属于不想吃屎也得吃,所以我逮着机会就要骂。
krixaar
2022-11-30 17:40:21 +08:00
@yuyang #7 然后 VB 这种 If 后面还要加 Then 最后要 End 的又被骂成 too verbose ,众口是真的难调。
billccn
2022-11-30 21:17:16 +08:00
用缩进实现语法结构其实有一个巨大的隐性问题:git 合并分支的时候可能会让代码出错。原因是很多不是专门写 Python 的人都会在 PR 工具或者 git 里面设置忽略空白的变化,这样在 merge/rebase 的时候如果两个分支缩进产生了分歧是看不到的。这个在大括号语言里完全没有影响,最多就是格式破坏了,到 Python 里面代码就变成不能跑甚至语义变了。

现在越来越多 C/C++库带 Python 写的外壳或者测试,所以这个问题会越来越多。
FrankHB
2022-12-01 20:07:52 +08:00
@KENNHI 你是写舒服了,但你也该想想你写的不是一次性 shell 面条代码,读者凭什么要就受到你随心所欲的鸟气?
特别是这种可读性问题中的绝大部分本应能避免,至少在语言设计者面前毫无技术难度。那么非得设计成跟读者体验过不去,就是自以为是地作恶了。
而且你得知道你花相近的时间精力同样写得舒服的不同语言的代码,读者被坑的程度不都是一样的,所以自然应当有针对性批判来区分语言在这里的好坏,不是有什么变通就能无所谓了。
至于 js 那种读写都呵呵的就算了。
另外,Java 是明显的脱离 IDE 虽然不是不能写但写起来体验扭曲的语言(一些地方废话实在太多)的极端代表。这是另一个不务正业的问题:逃避语言自身的设计对可用性和易用性的提升,甩锅给外部工具。
须知,IDE 的初衷是帮助提升不同开发产出形式的不同工具之间的集成效率,而不是给你语言自身特性设计不足来擦屁股用的。Java 在用不用 IDE 的体验上造成了离谱的用户体验分裂,这点就够让人质疑当正经的通用高级编程语言的资格。(要是再极端下去,就易语言那种非得用 IDE 画表格算了……)
chinesehuazhou
2022-12-14 07:47:31 +08:00

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

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

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

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

© 2021 V2EX