就像在Algol 68中,if语句以fi结尾,而case语句以esac结尾,所以除了保留的单词之外,还有什么其他可读性问题在英语中是没有意义的。
如有任何建议,将不胜感激
发布于 2013-11-17 03:43:41
没有真正的可读性问题,这只是你习惯的事情,经过一些经验,问题就从这个过程中消失了。类似于有多少Lisp用户“看不到”括号。对于有经验的读者来说,他们在一般情况下并不突出。
你必须回想起阿尔戈尔的时代,特别是1968年的"68“部分。
fi,esac和od的优点在于,它们清楚地指明了它们正在终止的是哪种块,并且它们只使用一个令牌就可以完成任务。
esac与}一样清晰,这是一个无意义的括号,除非您知道其他情况。{}具有一致性的优点,而不像Pascals开始结束的泛型块序列那样冗长.
最后,考虑一下英语在计算机语言设计中的主导地位,虽然不会说英语的人可能会对这些语言产生一些初步的问题,但这显然会随着时间的推移而改变。
因此,这是一个短暂的障碍,很快就会随着使用而消失。
发布于 2020-07-13 00:21:52
什么可读性问题?没有。
“分门别类”的方法消除了不明确的地方,否则就会由法令解决。
例如,在Algol 60的语法中,
if B1 then if B2 then S2 else S3它是模棱两可的‘那么’的‘其他’配对;它是否有效地像这样?
if B1 then begin if B2 then S2 else S3 end或者像这样?
if B1 then begin if B2 then S2 end else S3为了解决这个问题,有一条明确的规则说这是前一种情况。在Algol 68中,这根本不是问题。这两种情况在句法上是不同的。
if B1 then if B2 then S2 else S3 fi fi和
if B1 then if B2 then S2 fi else S3 fi这并不比在算术表达式中使用括号来确定意义更难读。
与之相比,C和Java之类的语言(通过编写为大括号{ })的可读性有所下降,它们已经回归到“开始/结束”风格。
https://stackoverflow.com/questions/20026805
复制相似问题