我是一名程序员,我也是盲人。我的世界里从来没有任何照片,我天生就什么都看不见。每当新同事——从未经历过任何形式的视觉障碍的人——听说我的故事时,他们经常来找我并问我这些问题:那么,你如何阅读别人的代码?哇!你是怎么写代码的?或者,最常见的一个——你做梦吗?我一遍又一遍地被问到这些问题。所以今天的话题主要是回答这三个问题。我会尽力解答你最大的困惑——盲人是怎么写代码的。关于怎么打字,很多人的印象是盲人需要用专门改装过的电脑。甚至一些同样有视力障碍的人也同意这种观点。那么,现在让我揭穿这个秘密。您在上面看到的文字和我将在下面写的内容是在非常普通的DellInspiron15rSE笔记本电脑上键入的,您可以在任何戴尔笔记本电脑商店购买。机器运行的是Windows8(预装)。我所要做的就是安装一个名为NVDA(www.nvaccess.org)的开源屏幕阅读器。一个屏幕阅读器,基本上它所做的就是——等等——阅读屏幕上的内容。它通过类似Siri的声音将屏幕的文本内容从文本转换为语音。屏幕阅读器还允许使用盲文显示器,具有盲文系统元素的设备会根据屏幕上突出显示的内容不断刷新以形成新字母。所有视障计算机用户只需适应这些即可。这个程序让我可以做很多事情,很多事情你闭上眼睛可能都想象不到,比如:用Firefox浏览网页,用MicrosoftWord写报告,然后根据严格的规范写博客文章大学教授的要求,就像这篇文章录制、编辑、混音和发布音频(唱歌和制作音乐也是我的爱好之一)使用Reaper、Goldwave、Audacity和Sonar等音频制作应用程序使用Eclipse、VisualStudio和旧的NotePad++编写网站和应用程序我列出这些技术的原因是为了表明我可以像你一样使用它们。关于如何编码,例如下面的代码:if(x=5){print("helloworld!")}读出来的效果是:如果左括号x等于5右括号左花括号printleftparenthesis引号你好世界感叹号引号右括号右花括号。这是Java编程语言中典型的if模块,耳边听到的就是上面这么长的一句话。我倾向于先关掉括号和括号里的语音通知,等后面需要调试括号匹配的时候再注意括号里的内容,这样就不会因为描述太长而糊涂了.有些人喜欢用“brace”或“begin”替换默认的“opencurlybrace”,只是为了节省几毫秒。说实话,对于不习惯的人来说,这个语速还是挺快的。你可能不相信,但我确实通过音频阅读在NotePad++中写了这篇博文。因此,我的编码方法可能和你的没有本质的不同,不用想象我有多厉害。唯一的区别是,我不使用鼠标,而是使用键盘快捷键和命令行。不幸的是,在盲人编程领域,一切都不是很成熟。程序员天天用的主要工具,比如IntelliJ编辑器,还有它的所有衍生品(PHPStorm、WebStorm、PyCharm),我都没有办法用。因为这些项目的开发者并没有遵循无障碍原则,就像建公园的时候没有无障碍通道一样。SourceTree也是如此。虽然它在慢慢改善,但每次使用它仍然让我非常痛苦。因此,我不得不不断搜索可用的教程、程序和工具,而不是仅仅从超市的货架上挑选一个。关于我如何做梦我做梦,和你一样。大致就是白天接收到的信息,晚上将这些经历和神经兴奋反馈到梦境中。不同的是,我实际上什么也看不到。但是,我可以听到、闻到、感觉到一切,就像在现实生活中一样。原因很简单:梦中的视觉图像是在储存的视觉知识的基础上构建的。因为我从子宫开始就没有见过任何东西,所以我没有任何视觉框架可以参考。比如我在梦中遇到了一个很大的404错误:但是没有图片。和我一起写代码。衷心希望这篇文章能够对大家有所帮助,无论是鼓励还是激励。编程是一份很有意思的工作,也是一份能够养活我的高薪工作。希望大家能和我一起好好学习,开开心心:)英文原文:AVisionofCoding,WithoutOpeningyourEyes翻译链接:http://www.codeceo.com/article/how-blind-编码.html
