[Python-ideas] Modern language design survey for "assign and compare" statements

Steven D'Aprano steve at pearwood.info
Sun May 20 19:48:41 EDT 2018


On Sun, May 20, 2018 at 10:57:39AM -0700, Mike Miller wrote:
> You seem determined to throw out requirements when it suits.  One of which 
> was for newer languages.

YOU are the one who changed the requirements: first you said "newer 
languages", then you changed it to industry standard.

I showed that a broad sample of new languages by far favours assignment 
expressions (14 out of 18 including Red, which I wrongly guessed didn't) 
and even the narrow subset that you wrote up included some form of 
assignment expressions in 3 out of the 5 cases.

So you shifted the goal posts from "newer languages" to "industry 
standard". That was YOUR choice, not mine.

Based on the TIOBE language popularity rankings, there is no overlap 
between "industry standard" and "newer" languages. Not even Go or Swift. 
Delphi/Pascal is more popular than Go, unless you happen to work for 
Google.

If you disagree about using TIOBE, feel free to choose your own 
objective and neutral ranking system, so long as it is better than "I've 
heard of these five languages, so they're industry standard".

In 2016 Liefehacker came up with this list, based on combining rankings 
from TIOBE, PYPL and various job sites:

Java, C, Python, C++, JavaScript, C#, PHP, Swift, Objective-C, R

https://www.lifehacker.com.au/2016/12/the-most-popular-programming-languages-based-on-jobs-search-engines-and-more/

only one of which is in your list of new languages, and that one (Swift) 
is one of those which includes assignment as an expression.

Looking at job rankings:

https://www.codingdojo.com/blog/9-most-in-demand-programming-languages-of-2017/

https://www.codingdojo.com/blog/7-most-in-demand-programming-languages-of-2018/

and you won't find any new languages.


[...]
> The point being to find momentum in design of newer languages.  Your list 
> of older languages is therefore not pertinent.

Then you shouldn't have raised "industry standard" as relevant.

If we limit the list to new AND "industry buzz", then we get a sample 
space of *two*: Swift and Go, both of which have some form of assignment 
expressions:

- Swift has assignment expressions;
- Go allows assignment in if statements, but not while statements.

That's not a big sample to go by, and it is subject to Rob Pike's 
idiosyncratic design (not necessary bad, but bucking language trends).


-- 
Steve


More information about the Python-ideas mailing list