Hacker News new | ask | show | jobs
by gostsamo 2783 days ago
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 strange symbols with important meaning, they are all just text to be read. So, the language is not an issue for me, but the tools to read/write/compile/debug. In that line of thought, if it works on the command line, it is good. Make it readable, make it verbose and avoid fancy syntax so that there is no ambiguity when reading.
1 comments

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.
I’m not sure, but based on what statistics I can find, it seems most blind people aren’t congenitally blind, so they probably have some familiarity with the symbols, maybe depending on how old they were when their visual impairment manifested. And of course you could always learn the shape of an unfamiliar symbol by feeling a physical representation of it—like on embossed paper, or those letter-shaped fridge magnets—but I dunno how common it is to do that.

If you don’t know the symbol at all, though, that could definitely make things more challenging to learn, since then the notation is (even more) arbitrary. A lot of programming languages’ symbol choices are visually mnemonic: Perl has “$” for scalars, “@” for arrays, and “%” for hashes because dollar-sign looks like S for scalar, at-sign looks like A for array, and percent-sign looks like a pair of things (a key and a value), but there’s nothing about these symbols semantically or in their pronunciation that suggests their Perl meanings.

It is not about if I've seen the symbol or not. { for example is read as "left brace". It takes the screen reader the time to pronounce two words with ambiguity left. What about ${variable}? You have 3 extra symbols totaling five words to surround a single variable. Redundant and abhorrent.