视觉是大多数程序员认为理所当然的感官之一。大多数程序员会花几个小时盯着电脑显示器(尤其是在他们全神贯注的时候),但我知道有些程序员是盲人(比如目前在谷歌工作的T.V. Raman)。
如果您是一个盲人(或逐渐失明),您将如何设置您的开发环境来帮助您编程?
(每个回答一个建议。这个问题的目的是把好的想法带到最高层。此外,屏幕阅读器可以更早地阅读到好的想法。)
视觉是大多数程序员认为理所当然的感官之一。大多数程序员会花几个小时盯着电脑显示器(尤其是在他们全神贯注的时候),但我知道有些程序员是盲人(比如目前在谷歌工作的T.V. Raman)。
如果您是一个盲人(或逐渐失明),您将如何设置您的开发环境来帮助您编程?
(每个回答一个建议。这个问题的目的是把好的想法带到最高层。此外,屏幕阅读器可以更早地阅读到好的想法。)
当前回答
来自南伊利诺伊大学爱德华维尔分校和华盛顿州立大学的一组学生正在为盲人开发一种编程语言:
http://www.youtube.com/watch?v=lC1mOSdmzFc
其他回答
我是个盲人,已经在Windows、Mac、Linux和DOS上编程了大约13年,使用的语言包括C/ c++、Python、Java、c#和各种较小的语言。虽然最初的问题是关于配置环境的,但我认为最好的回答是看看盲人如何使用计算机。
有些人使用谈话环境,比如在其他答案中提到的拉曼和Emacspeak环境。到目前为止,更常见的解决方案是有一个屏幕阅读器,它在后台监控操作系统活动,并通过合成语音或物理盲文显示(通常一次显示20到80个字符)提醒用户。这意味着盲人可以使用任何可访问的应用程序。
因此,我个人现在使用Visual Studio 2008,并且运行它时只做了很少的修改。我关闭了某些功能,比如在打字时显示错误,因为我觉得这会让人分心。在加入微软之前,我所有的开发都是在一个标准的文本编辑器(如记事本)中完成的,所以同样没有定制。
可以配置屏幕阅读器来宣布缩进。我个人不使用这个,因为Visual Studio会处理这个问题,而c#使用大括号。但这在Python这样的语言中是非常重要的,因为这里有空格。最后,Emacspeak使用不同的声音/音调来表示语法的不同部分(关键字、注释、标识符等)。
harald van Breederode是荷兰著名的Oracle DBA专家、培训师和演讲者,他是一位盲人。他的博客为视障人士提供了一些有用的建议。
I'm a postgraduate student in Beijing,China. I major in computer science and a lot of my work is programming. I am born with low sight, I need to use magnifying tools to see fonts on screen clearly. I use microsoft's mgnify tools on windows and use compiz's magnify plug in if on linux. I usally set the tool to magnify as three times many as the original font size. For me maginify tools is ok, the main problem is the speed,I have to move mouse to keep cursors follow the text I'm looking at, microsoft's magnify provides a option of "auto follow the text edit points",that set me from continuously mouse movement when editting or coding. But it doesn't always works because of the edit software or IDE may not support that. Magnifying tools on linux are hard to use. The KMag come with KDE has a terrible refresh rate which make my eyes unconfortable, compiz's magnifying plugs which I'm using now is OK,but has no function of auto focus(focus auto following). iOS provides quite perfect solution for me with full screen magnifying, especially on ipad's 9.7 inches screen. there auto focus is not necessary because I hardly use them to code or do other edit stuff. Android provides very little accessibility functions, only like shake feedback, which is useless for me. there is no any kind of good magnifying tools on android , not to mention advance function like full screen magnify on iOS. I used to study Qt, want to build a useful magnify tools on linux, even on android. But hardly have some progress.
我认为这在使用结对编程原理的极限编程中会很有效。如果你是为盲人开发软件,那么谁会比那些真正了解业务需求的人更适合做这个软件呢,所以我认为这一点都不牵强。
至于写代码,除非有某种反馈,否则我认为一个人可能会在语法上挣扎。音频反馈可能会有所帮助。
Hanselman最近与一位盲人开发人员进行了一次非常有趣的播客。