python to C code generator
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Wed Jan 24 02:04:11 EST 2018
On Tue, 23 Jan 2018 17:43:18 +0000, bartc wrote:
> It wouldn't be a satisfactory way of writing C programs. So, although
> I'm not that big a fan of C syntax, it might be better to write C as C,
> and Python as Python, to avoid confusion.)
This.
The fundamental reality is that `a + b` means different things in C and
Python. Even if you limit yourself to integers and not arbitrary values
(fractions, lists, strings, etc) the semantics are different:
- in C, ints have a fixed number of bits and any addition which
ends up out of range is undefined behaviour[1];
- while Python uses BigInts, overflow is impossible, and the
only possible error is that you run out of memory and an
exception is raised (although the addition can take an
indefinite long amount of time).
Often the difference doesn't matter... but when it does matter, it
*really* matters.
[1] If anyone thinks that it is addition with overflow, you are wrong.
Some C compilers *may* use overflow, but the language strictly defines it
as undefined behaviour, so the compiler can equally choose to set your
computer on fire[2] if it prefers.
https://blog.regehr.org/archives/213
[2] http://www.catb.org/jargon/html/H/HCF.html
--
Steve
More information about the Python-list
mailing list