Live data from Hacker News

Ask HN: How should a programming language accommodate disabled programmers?

news.ycombinator.com

91–100 of 122 posts

Re: Ask HN: How should a programming language accommodate disabled programmers?

#91

Another blind developer here with his two pens. I like python because it has no braces. Sometimes the screen reader does not read them or if it does, it takes time to process the info and you still could be confused about the level of nesting. That's why in university I reformated all of my lisp code to follow the indentation rules of python as it helped me keep track. Generally, if the language has no too much stran…

I never thought about the concept of programming in symbols that you've never before seen. That's rather fascinating. The human brain is incredible.

Re: Ask HN: How should a programming language accommodate disabled programmers?

#92
post #60

Earlier quoted context omitted.

I love Lisp but every experienced lisper will tell you they don't see the parentheses, they look directly at the AST. Seeing the AST is, for me, highly visual (proper indentation is a must) and I wonder how a blind programmer could see that.

Blind people still have spatial reasoning.

They do, but their interface to the computer does not. Screen readers are inherently linear while a screen show two dimensions at once. Indentation is the primary way this happens in practice.

(I suppose it would not be impossible for a programming language to have 3d layout projected onto the 2d screen, but I'm not aware of any mainstream languages that do this. Significant whitespace is fairly common of course and nonsignificant indentation is more common still)

Re: Ask HN: How should a programming language accommodate disabled programmers?

#93

Lisp: - 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…

Well it seems that OP needn’t bother as this problem is already solved. You wrote (loop (print (eval (read)))). How does that go with a screen reader? Like: Bracket loop bracket print bracket eval bracket read bracket bracket bracket bracket? The key thing I think is balancing and shifting parens. (loop (print (eval)) (read)) Is quite hard to sound different from (loop (print (eval (read)))) And more crucially what a…

> Bracket loop bracket print bracket eval bracket read bracket bracket bracket bracket?

It would say "left paren" and "right paren." It's not terribly hard to keep a stack in your head of how many close parens you're expecting in some context. Manually managing brackets in long or deeply nested forms (in any language) is a pain whether you can see or not. As you said, pseudo-structural editing is a big advantage.

> (I think writing these on a single line makes them written more like they might be spoken)

Screen readers can announce indentation levels.

Re: Ask HN: How should a programming language accommodate disabled programmers?

#94
This has already been alluded to, but please let me do everything I can via the mouse, especially when reviewing and reading code. I'm flat on my back with the monitor above me, it's infuriating to grab the keyboard for a single character of input, unnecessarily, then go back to the mouse. I might also mention that those with sensory processing disorder (such as those on the Autism Spectrum) will want to change the background color. (word)

Re: Ask HN: How should a programming language accommodate disabled programmers?

#95
Thinking about disabilities that are not necessarily physical such as dyslexia, adhd, and other things that affect cognition--I would say an optimal programming language should be as easy to understand and read as possible. This would mean choosing the style of the language and the syntax so that it optimizes for readability. Also, removing the amount of the context someone needs to understand a piece of code. Perhaps this could be accomplished by strict enforcement of modularity and things like auto-generated or required documentation so that interfaces can be understood without diving into them if possible.

Obviously, inherent to programming is diving deep into chained function calls and managing all those levels in abstraction in one's mind. However, for someone with a limited working memory for whatever reason--adhd, depression, chronic pain, anxiety, headaches and more--having this minimized as much as possible would be a lifesaver.

Re: Ask HN: How should a programming language accommodate disabled programmers?

#96

I've seen some programmers code using voice. This is really handy for people without functiong hands or fingers. They tend to use voice recognition software like Dragon and various plugins. I'd say from a programming language point of view, having keywords that are short (single word would be ideal) and phonetically distinct is really important. One python programmer I watched on Youtube made his own vocabulary of st…

I'm so glad voice recognition is a thing. I have a weird tendon disorder and suffer from some pain/discomfort daily. So far I have been using my hands but I'm always worried about not being able to type in the future. I'm glad I won't have to rely on disability because career/work is so important to me.

Re: Ask HN: How should a programming language accommodate disabled programmers?

#97
At GopherCon 2018 Julia Ferraioli gave a talk titled "Writing Accessible Go". She's challenged with some vision impairment, and shares some of her struggles in trying to be a programmer with those challenges. Of course it's contextually about Go, but I think what she talks about applies to current languages and those to come in the future.

- https://www.youtube.com/watch?v=cVaDY0ChvOQ

Re: Ask HN: How should a programming language accommodate disabled programmers?

#98
post #92
post #60

Earlier quoted context omitted.

Blind people still have spatial reasoning.

They do, but their interface to the computer does not. Screen readers are inherently linear while a screen show two dimensions at once. Indentation is the primary way this happens in practice. (I suppose it would not be impossible for a programming language to have 3d layout projected onto the 2d screen, but I'm not aware of any mainstream languages that do this. Significant whitespace is fairly common of course and…

Good point. I imagine something like vim's "folding" feature could be used to interactively navigate source code with a screen reader by successively opening the folds of interest.

Re: Ask HN: How should a programming language accommodate disabled programmers?

#100

Lisp: - 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…

I love Lisp but every experienced lisper will tell you they don't see the parentheses, they look directly at the AST. Seeing the AST is, for me, highly visual (proper indentation is a must) and I wonder how a blind programmer could see that.

By using something like Paredit to navigate the source by list structure. Reading and navigating are kind of mixed together.
Post reply on HN