视觉是大多数程序员认为理所当然的感官之一。大多数程序员会花几个小时盯着电脑显示器(尤其是在他们全神贯注的时候),但我知道有些程序员是盲人(比如目前在谷歌工作的T.V. Raman)。
如果您是一个盲人(或逐渐失明),您将如何设置您的开发环境来帮助您编程?
(每个回答一个建议。这个问题的目的是把好的想法带到最高层。此外,屏幕阅读器可以更早地阅读到好的想法。)
视觉是大多数程序员认为理所当然的感官之一。大多数程序员会花几个小时盯着电脑显示器(尤其是在他们全神贯注的时候),但我知道有些程序员是盲人(比如目前在谷歌工作的T.V. Raman)。
如果您是一个盲人(或逐渐失明),您将如何设置您的开发环境来帮助您编程?
(每个回答一个建议。这个问题的目的是把好的想法带到最高层。此外,屏幕阅读器可以更早地阅读到好的想法。)
当前回答
我在大底特律盲人协会工作了三年,经营一个专为盲人访问而设计的BBS,并与许多盲人用户合作,以更好地满足他们的需求,并与新盲人用户合作,让他们适应当时可用的硬件和软件产品。如果不出意外的话,我至少学会了阅读盲文,以避免自己陷入同样的境地!
大多数盲人电脑用户和程序员使用某种屏幕阅读器。《大白鲨》尤其受欢迎。幸运的是,目前大多数主要应用程序都提供了某种形式的残疾人访问。你可能需要稍微调整你的环境来减少杂音,例如考虑在Visual Studio中禁用智能感知。
盲文显示器不太常见,而且相对昂贵得多,可以显示40或80列文本,并且可以在精确定位/标点符号很重要的情况下使用。虽然屏幕阅读器可以配置成快速读出标点符号,但很多人觉得这会分散注意力,而且在很多情况下,你更容易自己摸索。Jaws可以配置为驱动显示,因此您不必同时处理辅助应用程序。
此外,许多合法失明的用户仍有一定程度的视力。使用高对比度背景和放大功能可以帮助这些用户。
在Windows中使用ToggleKeys会让你听到当你不小心点击一个模式“caps lock”,“num lock”,“scroll lock”等键。
I know at least one Haskell programmer who uses a screen reader and who explicitly programs without using Haskell's layout rules, and instead opts to use the rather non-idiomatic, but supported {;}'s instead, because it is easier/less distracting for him to get his screen reader to read off punctuation than for him to figure out exact indentation that complies with Haskell's layout rules. On that same note, I've heard some grumbling from a couple of blind programmers about when they have to write Python.
最终,你学会了发挥自己的优势。
其他回答
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.
请记住,“失明”是一系列的情况——有一些人在法律上是盲人,他们可以阅读一个非常大的显示器或在放大设备的帮助下,还有一些人根本没有视力。我记得大学时的一个同学有一种可以放大书本的特殊设备,还有一种可以放大屏幕一部分的特殊软件。她正在努力完成大学学业,因为她的视力越来越差,几乎要完全消失了。
编程也有一系列的需求——有些人擅长写出大量的代码,有些人更擅长看大局和架构。我可以想象,考虑到屏幕界面所施加的难度,失明可能会增强你获得大局的能力……
一个开始的地方是linux项目:
http://leb.net/blinux/
该项目描述了如何获得Emacspeak(文本到语音的编辑器),并提供了许多其他资源。
我曾经和一个人一起工作,他的视力几乎阻止了他们使用显示器——他们用屏幕阅读器软件做得很好,花了很多时间使用基于文本的应用程序和shell。
维基百科的屏幕阅读器包列表是另一个开始的地方:http://en.wikipedia.org/wiki/List_of_screen_readers
在我读研究生的时候,我们的研究团队中有一个盲人。他年纪大一点,大概四十五岁左右。他向我们讲述了他如何编写自己的第一台计算机(那时候文本语音转换还不普及),以莫尔斯电码输出屏幕上的内容。为了克服这个明显的“先有鸡还是先有蛋”的问题,他每次都必须从头开始重写代码,直到代码能够正常工作,可以重新读给他听为止。
现在他使用文本转语音,尽管他在实际编写任何代码之前都非常彻底地计划了代码,以最小化调试循环。
他还非常擅长做ppt演讲,尽管他视力不好,但格式和其他视力正常的演讲者一样好。
盲文键盘到底是什么?
有像盲文书写器这样的东西,但你永远不会用它作为计算机的输入设备。
如果你只是在谈论一个带有盲文符号的键盘,这也是一个非常糟糕的主意。当你打字的时候,你会有更多的键要触到,而且它仍然会变慢。
触摸打字不是一种视觉技能,盲人也能做到和正常人一样好。