I have previously attempted to program blind and reported some of my experiences[2].
Ask HN: How should a programming language accommodate disabled programmers?
11–20 of 122 posts
Re: Ask HN: How should a programming language accommodate disabled programmers?
#12That shouldn't matter with an IDE or plugin. If static analysis can identify the blocks -- and it has to! -- the screen reader can just read it as if it had your preferred block notation rather than noting the whitespace.
Re: Ask HN: How should a programming language accommodate disabled programmers?
#13Re: Ask HN: How should a programming language accommodate disabled programmers?
#14I've been thinking about this alot lately because I've been wondering how I could get better at programming while driving on my daily commute.
Re: Ask HN: How should a programming language accommodate disabled programmers?
#15Have you looked into projectional-editing? The basic idea is that your code is stored not as text, but as data. The data is then projected into a textual format for editing. That seems like the best way to support disabled programmers, as it gives them the flexibility to make whatever syntax works for them, as long as your core AST is simple enough.
Re: Ask HN: How should a programming language accommodate disabled programmers?
#16Take a look at Quorum, a "programming language which is designed to be accessible to individuals with disabilities and is widely used in schools for the blind".
Re: Ask HN: How should a programming language accommodate disabled programmers?
#17Re: Ask HN: How should a programming language accommodate disabled programmers?
#18Slightly off-topic: how do blind programmers read code? Does the screen reader recite it aloud and just say "int main left-paren void right-paren open-brace int i equals zero...", or does it use some other kind of auditory vocabulary to make it more meaningful to the listener? I've been thinking about this alot lately because I've been wondering how I could get better at programming while driving on my daily commute.
Please don't do this. The last thing the world needs is another distracted driver.
Re: Ask HN: How should a programming language accommodate disabled programmers?
#19It seems that their needs would vary. One thing you could do is try to an interface to test it yourself.
I tried to write and edit a document once using just voice commands. (Let's say someone has carpal tunnel and needs to use voice commands). It was eye opening. I realized how much more frustrating it is to go back and try to delete or fix something than anything else. And if the software didn't recognize an unusual word, it was really hard.
Dragon dictate -- the software I used -- had already learned a lot of this over the years, and there were many commands for changing that, or deleting up to a point. The hard part was moving the cursor to exactly one spot and then talking in a new word.
Anyway, if you tried something like that you would learn a lot.
Imagine if you are blind folded, and have to hear the program and then have to keep it all in memory. Well, that is a lot to keep in your working memory. I would want some kind of canonical "view" to always get to in order to find my way around.
I am glad you are working on this.
Re: Ask HN: How should a programming language accommodate disabled programmers?
#20- Avoids the use of gratuituous special characters: (a b c)
- use-dashes-in-symbol-names-instead-of-underline-so-its-easier-to-type (you can still use underlines or most any special character, but we like to keep it simple and easy).
- has a simple prefix syntax, that makes it easier to read and understand complex expressions: (loop (print (read (eval))) So no risk of confusing special characters or syntax: the meaning is clearly labelled by the first symbol of each expression!
- is not whitespace-sensitive, how can you see the size of whitespaces when you're blind?
- includes a reader and a pretty printer, so the code can be processed and formated automatically easily for either sighted or blind programmers.
- time-sharing was invented for the lisp REPL by the authors of lisp!
- as a good integration with emacs, which itself has a good integration with various tools such as screen readers, vocal commands, etc, and it's fully customizable.
http://cliki.net/ http://common-lisp.net/ https://en.wikipedia.org/wiki/Common_Lisp