code review
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Sat Jun 30 23:23:20 EDT 2012
On 2012年7月01日 10:37:05 +1000, Chris Angelico wrote:
> On Sun, Jul 1, 2012 at 10:08 AM, Ben Finney <ben+python at benfinney.id.au>
> wrote:
>> Thomas Jollans <t at jollybox.de> writes:
>>>>> My sole point, really, is that "normally", one would expect these two
>>> expressions to be equivalent:
>>>>>> a < b < c
>>> (a < b) < c
>>>> What norm gives you that expectation? That's not how those operators
>> work in mathematical notation. I know of no programming language that
>> would give a newcomer to Python that expectation. So where is the norm
>> you're referring to?
>> C, SQL, REXX, and many other languages.
All the worse for those languages, since they violate the semantics of
mathematical notation.
The more I learn about C, the less I want to know about C. What sort of
crazy language designer thought that having
2 == 2 == 2
return 0 (false) was a good idea? At least Pascal gives an error, since
you can't compare bools with longints, and forces you to write:
(2 = 2) and (2 = 2)
Sheer craziness for C to abuse mathematical notation like that. But what
is one to expect from a language where
(unsigned)-1 == -1
apparently is true.
http://nitoprograms.blogspot.com.au/2011/05/signed-and-unsigned-
comparisons-in-c-c.html
--
Steven
More information about the Python-list
mailing list