如果你看不见你还能编程吗?
这是个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年他就得到一台给盲人用的语音合成器和当时最先进的读屏软件。他现在使用电脑 没有任何障碍,他天天都上网浏览信息,他还可以使用特别的手机来看地图。
不知道你看完这些人的经历后,你有什么感觉?
- 你是否会觉得技术的力量和社会的尊重让他们和正常人一样可以使用电脑?
- 你是否会觉得我们这些正常人是不是平时抱怨的太多了呢?还有什么理由不努力的呢?
相关文章
- Amazon ECS 现在支持 EC2 Inf1 实例
- AWS Step Functions 添加了对“选择”状态的更新、对上下文对象的全局访问、动态超时、结果选择并为 Amazon States Languages 添加了内部函数
- 基于 AWS Graviton2 Arm 架构处理器的 Amazon EC2 C6g 实例为转码工作负载带来更高的性价比
- 开源 Amazon SageMaker XGBoost 算法容器介绍
- AMD Yes! EC2 实例的新选择
- 宣布新推出 AWS 社区构建者计划!
- 新增功能 – 适用于 Amazon FSx for Lustre 文件系统的高性能 HDD 存储
- python lcm()_Python LCM –找到LCM的2种方法
- 在 AWS 上实现无服务器视频字幕自动翻译架构
- 使用 Amazon Redshift 通过配额机制监控及控制 schema 存储空间
- Amazon EMR Managed Scaling 介绍——自动调整集群大小,高效节约运营成本
- Amazon Redshift Federated Query 最佳实践
- 如何在 ADFS 与 AWS 之间建立信任,并通过 Active Directory 凭证配合 ODBC 驱动程序接入 Amazon Athena
- 在EMR 6.0.0 中使用 Docker 简化您的 Spark 依赖项管理
- Komodo Health 公司如何在 EKS 与 EMR 6 上使用多租户 Notebook 平台建立自助服务分析方案
- Compass 公司使用 Amazon ES 推动房屋搜索流程的简化与现代化
- AWS Wavelength 区现已在波士顿和旧金山开放
- Alexa 使用 Amazon Translate 覆盖更多国际客户
- 使用 Amazon Kendra 强化企业搜索能力
- New – Using Amazon GuardDuty to Protect Your S3 Buckets