5 ms·
What’s the Role of Developer Experience in Programming Languages Research?
- jason408 6y ago> 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.
- markus_zhang 6y agoAgreed. 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.
- nostrademons 6y agoIf 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).
- honestduane 6y agoI 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 6y agoI'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 6y agoImagine writing lisp and trying to fix a mismatched paren with a screen reader.
- millstone 6y agoHave you been in this situation? Will you please say more if so?
- tmp538394722 6y agoI’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 6y agoFunny 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.
- WalterBright 6y agoI see your point, but nesting has to be expressible somehow with ascii. I suspect this is better addressed by an IDE or a customized screen reader. BTW, I find the parens in Lisp to be hopeless even as a sighted person, and even spending considerable effort trying to format it to make it clear. It's one reason why I customized my text editor with a "matching paren" command, which is a life saver. (It also matches braces and square brackets, even #if/#ifdef/#ifndef/#else/#elif/#endif.)
- AnimalMuppet 6y ago> 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.
- Ar-Curunir 6y agoThe 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 6y agoSure. 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...)
- giantDinosaur 6y agoCS 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.
- benjaminjosephw 6y agoStrongly stated but I think there's some truth here. Most serious programming languages have a bias towards concepts explored in the academic study of programming languages. Of course academic theories sometimes provide a great foundation with some pretty solid ideas but they needn't be the only source of good ideas. Programming is a design exercise and figuring out how to help humans think and explore design is something I think practitioners have more to say on than theorists. Or at least if not more to say, they certainly have more of a contribution to make in this space than we've seen so far. (disclaimer: I'm a practitioner without a CS degree working on a programming language)
- di4na 6y agoAs 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 https://ieeexplore.ieee.org/document/1363742
- rurban 6y ago> 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!
- Ericson2314 6y agoI'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.