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

Chris Angelico rosuav at gmail.com
Mon May 21 21:58:41 EDT 2018

On Tue, May 22, 2018 at 11:45 AM, Brendan Barnwell
<brenbarn at brenbarn.net> wrote:
> On 2018-05-21 12:11, Chris Angelico wrote:
>> Much more useful would be to look at languages that (a) work in a
>> field where programmers have ample freedom to choose between
>> languages, and (b) have been around long enough to actually
>> demonstrate that people want to use them. Look through the Stack
>> Overflow Developer Survey's report on languages:
>> https://insights.stackoverflow.com/survey/2018/#most-loved-dreaded-and-wanted
>> A "Wanted" language is one that many developers say "I don't currently
>> use, but I would like to". (It may also be a language that has
>> murdered semicolons. I believe the bounty on JavaScript's head is
>> quite high now.) Go through that list and you'll get an idea of what
>> people wish they could use; then toss out anything that hasn't been
>> around for at least 10 years, because there's a tendency for new
>> technologies to be over-represented in a "Wanted" listing (partly
>> because fewer programmers already know them, and partly because people
>> want to try the latest toys). That may give you a better list of
>> languages to compare against.
>         I'd say that also has limited usefulness.  The problem is that
> people may "want" to learn a language for many reasons, and "the language
> made good design choices" is only one such reason.  A lot of people may want
> to use JavaScript because it's hip or in demand or because they can (or
> think they can) make money with it.  But I'm not so interested in that.
> What interests me is: what are the languages that people specifically
> believe are superior to other languages *in design*?  (Even better would be
> what are the languages that actually ARE superior, in some reasonably
> nonsubjective, definable, way, but we have even less data on that.)

What you want is virtually impossible to obtain, so we go for whatever
approximations we can actually get hold of.

There are a few reasons someone might want to use a language. One is
"I hate this language but it'll earn me money", yes, but the way the
Stack Overflow survey is worded, those ones won't come up. IIRC the
wording is "which languages do you desire to be using next year",
after removing the ones for which you also said that you're using them
now. So there are a good few reasons that you might wish you could be
using a language:

1) You believe it's a good language, worth using, but just have never
gotten around to starting with it
2) You think it's really fun and awesome, and wish your employer would
let you use that instead of what you currently use
3) It represents a particular coding arena that you want to get into
(eg you want to get into iOS development, so you pick "Swift")
4) It's an absolutely awesome language and you have plans to learn it,
but haven't executed on them yet
5) It's a new language, and you want the shinies
6) Etc, etc, etc.

Generally speaking, for a language to show up in the "Most Wanted", a
lot of developers have to think it's something worth knowing. After
cutting out the youngest languages (which I defined as "released
within the last ten years") to remove their overrepresentation, you're
left with languages that, in the opinions of people who don't yet
program in them, are worth learning. That's far from an exact answer
to the question we really want to ask, but it's reasonably concrete
(to the extent that surveys ever are).

But as Guido says, this is not a popular vote among languages. It's
interesting to notice what other languages are doing, but harder to
pin down what's good or bad about what they're doing.


More information about the Python-ideas mailing list