§ BDL 不支持表达式嵌套。也就是说,诸如foo(bar())这样的写法都不行。我们必须写成 x = bar(); foo(x)。怎一个丑字了得。
§ BDL 的类型规则愚蠢无比。如前所说,BDL有1980年前Pascal的血统。很明显BDL的设计人没有读过Brian Kernighan's的著名文章, Why Pascal Is Not My Favorite Language, 尤其是第2.1节。于是,新世纪最SB的类型规则粉墨登场:数组长度是数组类型的一部分!也就是说, array[10] of string 和 array[5] of string 是两种不同的类型。更搞笑的是,BDL不提供数组间的类型转换。所以我们不用指望把一个长度为5的数组传给一个类型为10个元素的数组变量。当然,我们可以用其它办法解决这个问题。但这个特性本身就是对我们智力的侮辱(上个世纪不是,这个世纪绝对是)。