I've written a HN clone, both in PHP and another one in Django, they look and function exactly the same.<p>The idea was that both could talk to the same database to check performance, and to get an idea about how much code was required in each to accomplish this.<p>This would have worked if I had started from python/django, but writing the PHP part first and then the python part got me caught up a couple of times.<p>Now for me it was no big deal to change the underlying field names, but if this would have been embedded in to something larger a restriction like that could even turn in to a dealbreaker.<p>What's a minor nuisance to a lone programmer can be a very big issue in a corporate setting, where there might be lots of other software talking to that same db.<p>In general I think it is a bad idea to resort to tricks like these.<p>Indeed, the __ is another one, and the fact that you can't prefix field names with database names is another.