Python was designed

Paul Rubin no.email at nospam.invalid
Sat Oct 26 13:36:34 EDT 2013


Peter Cacioppi <peter.cacioppi at gmail.com> writes:
>> Challenge: give some examples of things which you can do in Python, but
>> cannot do *at all* in C, C++, C#, Java? 
> Please. No exceptions is huge. No garbage collection is huge. 
> But you can do anything with a Turing machine. ...

Lumping C, C++, C#, and Java together misses the most important thing.
Python, C#, and Java all have a vital capability, that's inherently
missing from C and C++, and it's not garbage collection.  Namely, you
get the ability to write a program and have the assurance that bugs in
your code won't overwrite memory at random or make the program segfault.
You instead get a reasonable stack trace saying what was going on when
the error happened.

To riff on Benjamin Pierce, programming is not just about letting you
supply the presence of given behaviors (any sane Turing-complete
language lets you do that).  It's also about ensuring the -absence- of
other behaviors, and that in fact is where the heavy lifting of language
design is mostly directed.

FYI, there is real though imprecise garbage collection for C.  Web
search for "Boehm garbage collection" should find more info.



More information about the Python-list mailing list