What’s the Role of Developer Experience in Programming Languages Research?

Author: azhenley

Score: 99

Comments: 18

Date: 2020-11-06 16:41:18

Web Link

________________________________________________________________________________

di4na wrote at 2020-11-06 21:39:04:

As Jean Yang point out the HCI and Human Factors community having worked on this for a long time, and it is indeed the case.

Here is one of my preferred paper from that community on that exact problem

https://ieeexplore.ieee.org/document/1363742

honestduane wrote at 2020-11-06 20:23:36:

I have been thinking a lot about this myself lately as I'm designing a programming language and want to solve for things many of them simply don't; Like accessibility.

WalterBright wrote at 2020-11-06 23:03:33:

I'm curious of your views on accessibility in programming languages. Since programming languages are ascii text, shouldn't a screen reader do well with it?

tmp538394722 wrote at 2020-11-07 04:40:08:

Imagine writing lisp and trying to fix a mismatched paren with a screen reader.

millstone wrote at 2020-11-07 05:27:32:

Have you been in this situation? Will you please say more if so?

tmp538394722 wrote at 2020-11-07 05:31:38:

I’m sighted - I’ve pretty much only used screen readers when testing accessibility feature for software I’ve built.

There was a bit of a learning curve, but actually the interface isn’t bad if the software is built for it.

When it’s not though, it’s absolutely agonizing.

tmp538394722 wrote at 2020-11-07 05:42:04:

Funny enough, I was imagining patterns used in “visual” programming languages might be helpful for people who use screen readers.

That is - make valid syntax and its composition first class UX entities, rather than just a freeform stream of hopefully parseable text.

Strictly visually programming languages can be pretty tedious, but maybe some hybrid where symbols/names can be keyed in, but scoping elements such as a function definition, a module scope, and maybe a parenthetical would be added as an indivisible unit.

tenaciousDaniel wrote at 2020-11-07 01:41:08:

Same. I'm actually building a programming language for non-programmers. Trying to create a language for UI designers, which requires a unique sensitivity to complexity in order to feel inclusive.

giantDinosaur wrote at 2020-11-07 01:41:42:

I'm also curious what you mean by this - do you mean accessibility in the sense of what languages like Elm try to do?

jason408 wrote at 2020-11-06 19:00:20:

How do you get promoted?

This is a great open ended question to uncover what really motivates someone rather than asking someone what feature(s) they use / care about.

nostrademons wrote at 2020-11-07 00:46:21:

If you are in a position where promotion matters you are probably not in a position where you can choose the language that you're working with (other than by switching to a new position).

If your goal is to get a new programming language adopted, you should be interviewing a very restricted set of users: originators of major open-source projects, technical founders of successful startups, early engineers on a new product, and freelancers. Those are the people who are in the position to choose a new language. They often choose the language for very mundane reasons, eg. "It was the only option available for iOS development", "I understood its documentation the best", "This library that solved 80% of my problem was only available in it", or "I'd used it on my previous hobby project and it worked out well." Everybody else is working within the technology choices set by this group, so their opinion doesn't matter (for adoption, at least; you can still try to optimize happiness with them).

markus_zhang wrote at 2020-11-06 19:05:29:

Agreed. Or: How do you get motivated? Some people (like me) don't care too much about promotion and only want to seek happiness from a technical world.

Ericson2314 wrote at 2020-11-06 22:27:23:

I'm in industry, and sorry, I think most of industry is far too stupid for large-scale feedback to be a good idea.

Please stick to your ivory towers unless you are really sure of who you are talking to.

AnimalMuppet wrote at 2020-11-06 21:10:31:

My strong belief is that programming languages research does not value usability because there currently is no satisfying, agreed-upon way of evaluating it.

This is talking about usability _of the programming language_ - or of a language that incorporates whatever conclusions the research reaches. This matches something I've been thinking a lot lately, that software engineering is a different animal than computer science. If your PL advance is the greatest CS thing since sliced bread, but it isn't usable for actual programmers working to write programs, then... who cares?

The ergonomics of computer languages is not what computer scientists think it is. CS types complain about how stupid the field is to use languages that don't reflect the best CS research. The reality is, the CS researchers are too ignorant to grasp what actually makes languages useful in the field.

giantDinosaur wrote at 2020-11-07 01:44:23:

CS Research : Programming, Physics : Engineering ? I think you can level this criticism, and yeah, you have a point, but I think there has to be constant back and forth between the practitioners and those who develop theory or else both sides seriously lose out.

Ar-Curunir wrote at 2020-11-06 21:39:45:

The author of this post is a computer scientist, who is explicitly talking about adding these measures of usability to experimental evaluations to PL papers

AnimalMuppet wrote at 2020-11-06 21:59:56:

Sure. I'm talking about the bulk of the CS PL field as a whole, and I don't think I'm disagreeing with the author of the post. (Do note, however, that the author left academia and is now in the field...)

rurban wrote at 2020-11-06 22:05:34:

One of the biggest challenges security engineers face is getting software engineers to fix their bugs.

Oh my, don't get me started on that. Usually it's not worth talking to maintainers who don't understand security implications. Either walk away and choose something else or maintain a fork with your fixes. This is usually the easiest. And trivial with git to automate.

But hiring penetration testers just to convince some moron that this bug is exploitable? Come on!