17611538698
webmaster@21cto.com

闭上眼睛,感受代码之美:一位盲人程序员的编码梦

资讯 0 3220 2017-06-04 11:55:41
blind-programmer-dream.png

 

21CTO社区导读:
本篇文章是一位盲人程序员Florian Beijers写的。现年23岁,住在Nrnhem附近。是一个Web&应用程序员。在Twitter上有500多名粉丝。



  /uploads/fox/04093626_0.jpg
这张图片里的人就是我,我叫Florian Beijers或者叫我Zersiax都行。我知道在编码圈儿里,朋友们告诉我这张照片拍得挺不错。
 
我是一个Coder,我还是个眼睛失去光明的人,一个盲人。
 
那个视力正常的小伙伴们,会常常问我这些问题。比如:
 
1、你怎么看显示器上的信息?
2、Wow!你怎么写代码?
3、或者,人们常常问到的——『你会做梦吗?』
 
如此之类的问题一遍又一遍,因此我想写这篇博文来回答这些问题。

我想和各位展示关于『盲人编码的可能性』,还有『21世纪的盲人如何使用电脑来进行编码工作』。

我怎么看显示器中的信息?

我很喜欢这个问题。因为它引申出『盲人是怎样使用电脑的』这样一个话题。

大多人会这样认为,盲人需要一台特制的电脑。包括一些有视力障碍的朋友也会这样想。

现在我就为大家揭开这个谜底。
 
现在,我正在用Dell Inspiron 15r SE的笔记本打字,这款机器随处可以买到,运行在Windows 8(不是我个人的选择,而是UEFI的太难以降级)。我所做的只需安装一个名叫NVDA的开源屏幕阅读器。
 
这款屏幕阅读器会我就直接我屏幕的文本内容,有着类似Siri一样的智能朗读的功能。屏幕阅读器还能用盲文显示器,后者是由一系列可刷新的盲文单元组成,可以根据屏幕上显示的内容,形成相应的字母。

/uploads/fox/04093626_1.jpg
1992年惊悚片《运动鞋》中,David Strathairn扮演了Irwin “Whistler” Emery,一位双目失明的黑客和电话骗子。他通过盲文点触设备与计算机连接。
 
这真的是盲人电脑用户最需要的功能了!使用这个程序,我就能做许多事情,你可能还不能想象这些事情,你也可以闭着眼睛做好多事。比如:

1、使用Firefox浏览网页
2、在Microsoft Word中编写报告,然后将其改编为符合大学教授要求的格式布局。
3、写时髦的博客文章,比如现在你正在读的!
4、录音,编辑,混音和录制音频(我的爱好还有唱歌和谱曲)
5、用Reaper,Goldwave,Audacity和Sonar等音频制作应用程序
6、使用Eclipse,Visual Studio(具有讽刺意味的命名),以及NotePad ++等来开发Web和应用程序

我写出这些上述这些主流技术的原因是想告诉大家,我可以像视力正常的朋友们一样使用这些便捷流行工具。

如果你正在编写具有优秀工作流程的大型应用程序,我想委婉地提一个建议——将可访问性视为软件的一部分。 在这个时代,使用UI工具包非常普遍。尤其可以关注到各种Android Activity,iOS NsView和HTML5组件。

就在几周前,我加入了FreeCamp。这些年来,我一直在努力想要获得计算机科学学士学位,不过很不幸,在一个涉及到大量MEAN堆栈工作的学期中挂了科,因此我真的很高兴找到这样一个社区,加入其中一起学习。我相信这个学期一定会顺利通关。

我在学习联合国大会定义的著名Dash教程时,遇到了麻烦。这些教程无疑是好的,但对于我来说无法提取,因为他们将所有文本嵌入幻灯片中图片,没有任何纯文本描述或内容供屏幕阅读器使用。屏幕阅读器能够读出屏幕的纯文字内容,但是目前还不能解析图形。

幸运的是,在FreeCamp营中伙伴们的帮助下,我拿到了专门为我转录的所有幻灯片。非常感谢这些好心的朋友们,为我的的学习所做一切。再次表示感谢!

你怎样写代码?
 
if(x=5){ print(“hello world”)}
左括号对应五个右括号,左括号{hello world}右括号。这是Java-ish编程语言中典型的if-block的过程读取,不过还是相当冗长的。 我倾向于关闭括号和括号之间的通知,不过其他人通过将默认的“左括号”替换为“花边 lace”或“开始”。对于那些不习惯的人来说,读取的速度是非常快的。
 
我的代码实际上与其它代码区别并不大。我已经学会盲打,并在思维上概念化我的代码,这样我就可以像其他程序员一样工作了。 唯一区别是,我比较少使用鼠标,更多使用快捷键与命令行。
 
不过在这个领域,一切并不那么顺遂。
 
其他的编程人员每天使用Premier工具,经如IntelliJ编辑器,还有其它IDE(像PHPStorm,WebStorm,PyCharm)。对我来讲,这些都无法使用。因为这些集成开发工具并没有遵守无障碍指南,它们未能给屏幕阅读器提供文字标签或辅助功能说明。包括SourceTree这样的应用程序也是如此,当然它在慢慢地变好,不过使用起来仍然很痛苦。
 
因此,我不得不继续寻找可访问的教程,程序和工具,而不是简单地选择现成的IDE。
 
你会做梦吗?
 
这是我将要回答的第三个问题。不过,如果期待着会听到什么特别非同凡响的回答的朋友可能会失望了。
 
我的梦和大家一样,把我在白天接收到的经验和刺激转化为晚上可以做的梦。不同的是,我实际上无法用眼睛看到任何东西。
 
我能听,嗅和感觉到一切,这些方面和大家是一样的。其实做梦的原理很简单——基于视觉图像的梦从你已经存储的视觉信息中提取出来,以构建视觉图像。
 
不过,对我来说,我出生以后就失明了,也就失去了任何参考的视觉框架。在我的梦中,视觉部分会遇上一个大大的404错误:图像未找到。

我和代码

这篇文章是我在代码学习营中的一位小伙伴的提议下写的,以此来分享我和世界接轨的方式。我真的非常高兴能写这篇文章,也真心希望和我一样有视力障碍的小伙伴们能从中得到一些启发。
 
关于这个话题,我可以滔滔不绝地谈几个小时,而这篇文章其实比我最初计划要长得多了。
 
如果你还有什么意见和建议,可以在FreeCamp的聊天室找到我,也可以在Twitter上找到我,我的帐号是Zersiax。
 
感谢你的阅读。我们回头见!
 
 

作者:Florian Beijers
原文:https://medium.freecodecamp.co ... 24aec


评论