Peter Cacioppi <peter.cacio...@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. -- https://mail.python.org/mailman/listinfo/python-list