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

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

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


当前回答

盲文键盘到底是什么?

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

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

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

其他回答

我认为这在使用结对编程原理的极限编程中会很有效。如果你是为盲人开发软件,那么谁会比那些真正了解业务需求的人更适合做这个软件呢,所以我认为这一点都不牵强。

至于写代码,除非有某种反馈,否则我认为一个人可能会在语法上挣扎。音频反馈可能会有所帮助。

harald van Breederode是荷兰著名的Oracle DBA专家、培训师和演讲者,他是一位盲人。他的博客为视障人士提供了一些有用的建议。

发明一种设备,你插入usb端口,它基本上是一块“橡胶”,它会自我修改,显示你的代码,让盲人阅读而不是听到它,怎么样?

有一次我遇到了Sam Hartman,他是一个著名的Debian开发人员,从2000年开始,他是盲人。在这次采访中,他谈到了Linux用户的可访问性。他使用Debian和Gnome -orca作为屏幕阅读器,它与Gnome一起工作,并且“在Iceweasel/Firefox和Libreoffice方面做得相对不错”。

在谈到编程时,他说:

虽然[地精-虎鲸]会说地精终端,但它真的不够好 说终端程序,我很舒服地使用它。所以,我跑了 Emacspeak包。在其中,我运行Emacs 在终端模拟器中,我倾向于运行Screen。为了增加 有趣的是,我经常在内部运行额外的Emacs实例 屏幕。

我是个盲人,在过去的12年里一直是一名程序员。目前,我是一名高级架构师,在Sapient公司(一家总部位于剑桥的咨询公司,创建基于web和基于厚客户端的企业解决方案)工作。 我使用了几个屏幕阅读器,但大多数情况下都坚持使用Jaws用于窗口和NVDA。

I have mostly worked on the Microsoft platform and visual studio as my environment. I also use tools like the MS Sql enterprise studio and others for DB access, network monitoring etc. I tried to spend some time with emacspeak but since my work was mostly based on the MS platform, never really spent a lot of time there. I have also spent a couple of years working on C++ on linux - mostly used notepad or visual studio on windows for all the coding and then samba to share files with the linux environment. Also used borland C for some experimental stuff. Have recently been playing around with python, which as other people have noted above is particularly unfriendly for a blind user because it is written using indentation as the nesting mechanism. Having said that, NVDA, the most popular open source screen reader is written completely using python and some of the commiters on that project are themself blind. A particularly interesting question I get frequently asked as an architect is how do I deal with diagrams - UML and visio and rational rose etc. Visio is probably the most accessible diagraming tool out there. I was able to write jaws scripts to read rational rose diagrams for me. I've used a tool called T-dub (technical diagram understanding for the blind) developed by some german university for accessing UML 2.0 diagrams. Have used a java-based ugly tool called magic draw for doing model-driven development and was a commiter on the androMDA project and helped develop the .Net code generator from a UML model.

In general, I find that I thrive most in a team environment where I can work on my strengths. For example, while a diagram is extremely useful to communicate/document a design, the actual design process involves a lot of thinking and brainstorming and when the design has been thought out, one of your team mates can help you quickly put together a neatly drawn picture out of it. People incorrectly mis-construe the above to be lack of independence or ability while I see this as pure inter-dependence -- as in I am sure that the team mate alone could never have come up with that design on his/her own and in-turn, if I depend on him to document the design, so be it. Most hurdles I face are tool-based inaccessibility. For example all oracle products have been progressively declining in accessibility over the years (shame on them) and a team environment basically allows me an extra layer of defense against these over and above my screen readers and custom scripts.