视觉是大多数程序员认为理所当然的感官之一。大多数程序员会花几个小时盯着电脑显示器(尤其是在他们全神贯注的时候),但我知道有些程序员是盲人(比如目前在谷歌工作的T.V. Raman)。

如果您是一个盲人(或逐渐失明),您将如何设置您的开发环境来帮助您编程?

(每个回答一个建议。这个问题的目的是把好的想法带到最高层。此外,屏幕阅读器可以更早地阅读到好的想法。)


当前回答

盲文键盘到底是什么?

有像盲文书写器这样的东西,但你永远不会用它作为计算机的输入设备。

如果你只是在谈论一个带有盲文符号的键盘,这也是一个非常糟糕的主意。当你打字的时候,你会有更多的键要触到,而且它仍然会变慢。

触摸打字不是一种视觉技能,盲人也能做到和正常人一样好。

其他回答

在我读研究生的时候,我们的研究团队中有一个盲人。他年纪大一点,大概四十五岁左右。他向我们讲述了他如何编写自己的第一台计算机(那时候文本语音转换还不普及),以莫尔斯电码输出屏幕上的内容。为了克服这个明显的“先有鸡还是先有蛋”的问题,他每次都必须从头开始重写代码,直到代码能够正常工作,可以重新读给他听为止。

现在他使用文本转语音,尽管他在实际编写任何代码之前都非常彻底地计划了代码,以最小化调试循环。

他还非常擅长做ppt演讲,尽管他视力不好,但格式和其他视力正常的演讲者一样好。

在新西兰的时候,我认识一个患有黄斑变性的人,所以是部分视力。他是一个非常有才华的程序员,他最终使用了Delphi,因为他可以通过识别单词形状来工作。使用类似pascal的语法比使用类似c的弯弯曲曲的括号更容易做到。他有个网站,但好像根本没提到黄斑变性,所以我就不点名了。

我是一个完全失明的大学生,有过几次编程实习,所以我的答案将基于这些。我使用windows xp作为我的操作系统,“大白鲨”用合成语音来阅读屏幕上出现的内容。对于java编程,我使用eclipse,因为它是一个可访问的功能齐全的IDE。

根据我的经验,使用SWT作为GUI工具包的java程序比使用Swing的程序更容易访问,这就是为什么我远离netbeans的原因。对于任何。net编程,我都使用visual studio 2005,因为它是我实习时使用的标准版本,使用Jaws和一组脚本非常容易访问,这些脚本是为了使表单设计器等东西更容易访问而开发的。

对于C和c++编程,我使用cygwin和gcc作为我的编译器,emacs或vim作为我的编辑器,这取决于我需要做什么。我的很多实习工作都是为Z/OS编程。我使用rlogin会话通过Cygwin访问大型机上的USS子系统,并使用C3270作为我的3270模拟器访问大型机的ISPF部分。

我通常依赖于合成语音,但也有盲文显示。我发现我通常用语音工作得更快,但在标点符号很重要且复杂的情况下使用盲文显示。这方面的例子是带有大量嵌套括号和JCL的if语句,其中标点符号非常重要。

更新

我正在cygwin http://emacspeak.sourceforge.net下使用Emacspeak,我不确定这是否可以用作编程编辑器,因为它似乎有点反应不太好,但我还没有查看任何配置选项。

盲文键盘到底是什么?

有像盲文书写器这样的东西,但你永远不会用它作为计算机的输入设备。

如果你只是在谈论一个带有盲文符号的键盘,这也是一个非常糟糕的主意。当你打字的时候,你会有更多的键要触到,而且它仍然会变慢。

触摸打字不是一种视觉技能,盲人也能做到和正常人一样好。

来自南伊利诺伊大学爱德华维尔分校和华盛顿州立大学的一组学生正在为盲人开发一种编程语言:

http://www.youtube.com/watch?v=lC1mOSdmzFc