我喜欢“explicit地表达了程序员的思维”这种说法。
顺着你的思路想了下,表达(程序员)思维:
{} 或者 do...end,是符号信息;
缩进是视觉(图像)信息。
再想一下,符号信息其实是给编译器看,方便parse.
早期C时代,视觉信息给人看。为了照顾人,出了各种关于缩进的guildline.
python的作者显然认为,给机器看的东西要弱化;给人看的要强化。
合并到缩进是对策。至于冒号,应该是保留自然语言特征,方便人眼
识别特征。毕竟会写程序的人,都有基本的文字训练。比如我的第二行
就用了冒号+缩进。 这么一想,python的作者真的很聪明。
缩进的问题是长代码+嵌套。do...end是浪费,新手的干扰信息流。
【 在 javaboy 的大作中提到: 】
: with xx 里的with不美观,而且逻辑上并并不是恰到好处,借用了另一个语法拿过来凑合用的,这点你也认同的。
: 那接下来讨论的是do end是否多余的问题。
: 我们写程序的时候,进入一个逻辑块和退出一个逻辑块都是有意识地操作。ruby的进块和出块用do..end,都是是explicit地表达了程序员的思维。而python进块的时候用explicit的冒号,出块的时候是implicit地用个退格。且不说这样设计有什么不便,这连python自己的zen也不怎么符合。。
: ...................
--
修改:DoorWay FROM 1.80.223.*
FROM 1.80.223.*