On Sun, May 20, 2018 at 11:43 AM, Steven D'Aprano <st...@pearwood.info> wrote: > Out of those industry standard languages (as ranked by TIOBE, other > methodology may result in other rankings) we find: > > 8/12 have some form of assignment expressions; > (Java, C, C++, C#, PHP, Javascript, Ruby, R) > > 4/12 do not (Python, VB .Net, SQL, Delphi). >
SQL isn't really comparable here. To figure out whether Python is in better company *with* or *without* assignment expressions, we need to compare with languages that have a concept of "assignment" and "expression". SQL itself most certainly has expressions, but it doesn't have assignment per se. There are named sub-expressions in SELECT statements, but that's more of a temporary view on a table than anything like a Python variable / name binding; I don't think standard SQL has any way to fetch up a scalar value and then reuse it, other than burying it in a table and selecting twice from that table. Some database engines have an SQL-based procedural language, but it's non-standard. FWIW, PostgreSQL's "PL/pgSQL" has assignment, but it is a statement and not an expression, probably because its expression evaluator is defined in terms of SQL's SELECT statement. So there are really eleven: eight that do, two that don't, and one that currently doesn't, but its BDFL is discussing the possibility of adding it. ChrisA _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/