Checking against NULL will be eliminated?

Neil Cerutti neilc at norwich.edu
Thu Mar 3 10:42:29 EST 2011


On 2011-03-03, Jean-Paul Calderone <calderone.jeanpaul at gmail.com> wrote:
> On Mar 3, 8:16?am, Neil Cerutti <ne... at norwich.edu> wrote:
>> On 2011-03-03, Tom Zych <freethin... at pobox.com> wrote:
>>
>> > Carl Banks wrote:
>> >> Perl works deterministically and reliably. ?In fact, pretty much every
>> >> language works deterministically and reliably. ?Total non-argument.
>>
>> > Well, yes. I think the real issue is, how many surprises are
>> > waiting to pounce on the unwary developer. C is deterministic
>> > and reliable, but full of surprises.
>>
>> Point of order, for expediency, C and C++ both include lots and
>> lots of indeterminate stuff. A piece of specific C code can be
>> totally deterministic, but the language is full of undefined
>> corners.
>>
>> > Python is generally low in surprises. Using "if <identifier>"
>> > is one place where you do have to think about unintended
>> > consequences.
>>
>> Python eschews undefined behavior.
>
> C and C++ have standards, and the standards describe what they
> don't define.
>
> Python has implementations.  The defined behavior is whatever
> the implementation does.  Until someone changes it to do
> something else.
>
> It's not much of a comparison.

In addition, you can tap into undefined behavior in Python, as
well, it's just harder. So what I should have said is that the
determinacy of a language is a degree, not an absolute. C is less
determinate than Python by design.

-- 
Neil Cerutti
"What we really can learn from this is that bad accounting can yield
immense imaginary profits." --Klepsacovic



More information about the Python-list mailing list