<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, May 30, 2017 at 11:49 AM, David Wilson <span dir="ltr"><<a href="mailto:dw+python-dev@hmmz.org" target="_blank">dw+python-dev@hmmz.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Tue, May 30, 2017 at 09:38:55PM +0300, Serhiy Storchaka wrote:<br>
<br>
> > In early ages of C structures didn't create namespaces, and member<br>
> > names were globals.<br>
<br>
> >That's nonsense. The reason is greppability.<br>
<br>
> Good reason!<br>
<br>
</span>The first time I heard about prefixing struct members was to allow<br>
tricks like this:<br>
<br>
x86_64-linux-gnu/bits/stat.h<br>
94:# define st_atime st_atim.tv_sec /* Backward compatibility. */<br>
95:# define st_mtime st_mtim.tv_sec<br>
96:# define st_ctime st_ctim.tv_sec<br>
<br>
Which is relatively safe thanks to the prefix.<br></blockquote></div><br></div><div class="gmail_extra">Believe me that is not why the prefix convention was introduced.<br clear="all"></div><div class="gmail_extra"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">--Guido van Rossum (<a href="http://python.org/~guido" target="_blank">python.org/~guido</a>)</div>
</div></div>