
Evidence-based programming language design (PhD thesis) - sampo
https://jyx.jyu.fi/dspace/handle/123456789/47698#
======
edtechdev
I don't know that I would associate "evidence" with "coder agreement".

The point of evidenced-based X (medicine, teaching, etc.) is improvement and
change, things that people are often hostile to:
[https://en.wikipedia.org/wiki/Semmelweis_reflex](https://en.wikipedia.org/wiki/Semmelweis_reflex)

Research found that the number one cause of errors in learning Python was its
case-sensitivity, and you can guess what people's reactions were when it was
suggested that python support a case-insensitive option: (NIMPY - not in my
python) [https://mail.python.org/pipermail/python-
list/2000-May/03710...](https://mail.python.org/pipermail/python-
list/2000-May/037102.html)

~~~
dom96
I find the fact that Guido was considering making Python case insensitive in
2000 very fascinating. 15 years later and case insensitivity is still viewed
as being "wrong". I only know one "new" language that is brave enough to be
case insensitive and that is Nim, funnily enough its syntax is very much
inspired by Python.

~~~
Scarblac
By now I think case insensitivity is probably good (back then I don't think I
did), but the idea of introducing it into an existing language, breaking much
more than Python 3 eventually did doesn't sound great.

And as an option? I can't remember what the actual proposal was, but having
case insensitive code trying to use a case sensitive library sounds like lots
of fun.

------
murbard2
TL;DR the thesis researches how evidence-based programming language design
could be conducted, but it does not actually goes into what such a design
would be given the available evidence.

------
delish
I'm going to read some of this thesis. If this piques your interest, Andreas
Stefik has a fascinating Strange Loop talk (~40 minutes) where he talks about
1) the history of evidence-based endeavors 2) the curious lack of evidence-
based programming language design 3) a programming language informed by
evidence, quorum.

It's
here[https://www.youtube.com/watch?v=uEFrE6cgVNY](https://www.youtube.com/watch?v=uEFrE6cgVNY)

Short note upon skimming this thesis: Matthias Felleisen, of How to Design
Programs and the Little Schemer series, is a reviewer.

An awesome paragraph from the introduction:

 _The genesis of this dissertation is a question I asked myself over a decade
ago. How can I, as an aspiring programming language designer, improve upon
existing languages instead of simply making another variation of a well
understood theme? The well established research paradigm in language design
would have me identify a deficiency in the expressiveness of some class of
languages and then propose an alteration of these languages which arguably
removes the defi- ciency. However, there already is several decades’ worth of
such contributions, suggesting two much more pressing questions. How does one
compare design alternatives that are present in the literature? And the
question I focus on in this dissertation: How does one use the existing
literature to aid in language design?_

I cannot overemphasize the importance of being able to compare the merits of
programming languages _without taking sides_. Philip Wadler's Why Calculating
is Better than Scheming (
[http://www.cs.kent.ac.uk/people/staff/dat/miranda/wadler87.p...](http://www.cs.kent.ac.uk/people/staff/dat/miranda/wadler87.pdf)
) is wonderful. The problem appears when _I_ tell _you_ , "It'll make a
Haskeller out of ya." Switching teams is an unscientific way to think about
it.

Evidence keeps us sober. Like another commenter said the point of evidence is
improvement and change. To extend that, by contrast the point of team-behavior
is improvement mixed with identity-formation and group-cohesion, which often
interfere with improvement and change.

------
rhaps0dy
Sorry, that's a bit too long to read all. I would however be interested in
seeing a language resulting from this methodology, if there is any.

Otherwise, good work advancing.

~~~
mkiwala
[http://quorumlanguage.com/](http://quorumlanguage.com/)

