这是个 StackOverflow 上的问题 How can you program if you’re blind? 。在看到这个问题的时候,我感到应该不可能,但是我错了,这个问题的前两个答案让我深深地震憾了。
第一个答案的回复人是 Jared(其在 StackOverflow 上的积分有将近 14K),但是你能想得到他是一个盲人吗?他回复到——
我是一个完全失明的大学学生,我做过一些程序员的实习工作,所以我的回复基于我的这些经历。我使用 Windows XP 和 Jaws 来为了读出屏幕上的内容。
对于 Java 编程,我使用 eclipse 这个强大的 IDE。我使用 SWT 开发 GUI。对于 .NET 编程,其使用 Visual Studio 2005,使用 Jaws 可以非常容易地操作 VS2005,而且其还有一些很不错的脚本来可容易地用来做表单设计。
对于C/C++,我使用 cygwin + gcc 也使用 emacs 和 vim 做出编辑器(使用Emacspeak虽然有时候有点迟钝)。在实习过程中,我做了很多和Z/OS 相关的编程工作。我使用 rlogin 通过 cygwin 登录大型机的 USS 系统,并使用 C3270 作为其 3270 仿真器来访问大型机的 ISPF 部分。
我依赖于合成语音系统,也需要 Braille display, 我发现使用合成语音系统很快,但是使用 Braille display 有时候有些问题。比如程序有太多的嵌套括号。
关于 Braille display,又叫盲文显示机,是能以盲文进行输出的电子机械式设备。一般来说,该设备通过在平坦表面上打孔来实现点阵的表现。有了该设备的帮助,无法使用一般的显示设备的失明用户也能够阅读文字。如下所示。
第二个答案是 Saqib提供的,其个人主页是 http://www.saqibshaikh.com/,目前在 Microsoft 的 Bing 项目组,他回答到:
我是盲人,我对 Windows, Mac, Linux 和 DOS 有 13 年的编程经验了,我会的编程语言是C/C++, Python, Java, C# 或是其它相似的语言,虽然问题问的是怎么来设置盲人的环境,但是我想从盲人怎么使用电脑来回答。
有些人使用“语音环境”,如T. V. Raman 程序员和 Emacspeak 环境。这样的环境需要有读屏程序来监控操作系统的行为,并通过合成语音系统或是 Braille display 来告诉盲人屏幕上有什么。这样一样,盲人就可以操作任何的应用程序了。
我个人这段时候使用 Visual Studio 2008(注:作者是 09 年回的这个贴的),用其来做一些修改。我关闭了一些 VS2008 的功能,如显示错误,因为这会让我分心。在加入微软以前,我都是在用 notepad 这样的东西开发程序。
对于读屏软件,我需要设置一下,以便其告诉我缩进。老实说我不太关心这个事,因为 VS2008 对程序缩进做得很好。但是对于 Python 来说,这个功能相当重要。最终,Emacspeak 可以使用不同的声音来让我区分缩进的语句块,以及一些语法(关键词,注释,标识,等等。)
对于 Saqib,大家有兴趣可以看看他的视频访谈:Saqib Shaikh and Scott Hanselman: Designing for Accessibility
这个问题中多次提到了 Google 的盲人程序员 T.V. Raman,我在网上搜了一下他,他前段时间来过北京,新京报在今年早期报道过他——《T.V 拉蒙,互联网界也有“盲剑客” ——Google 盲人工程师讲述软件设计之路》
在这篇报道中,他经历过 IBM, Adobe 和 Google 这三个公司,他可以在 23 秒内复原盲人魔方,1989 年他就得到一台给盲人用的语音合成器和当时最先进的读屏软件。他现在使用电脑没有任何障碍,他天天都上网浏览信息,他还可以使用特别的手机来看地图。
不知道你看完这些人的经历后,你有什么感觉?
你是否会觉得技术的力量和社会的尊重让他们和正常人一样可以使用电脑?
你是否会觉得我们这些正常人是不是平时抱怨的太多了呢?还有什么理由不努力的呢?
【编辑推荐】