我是一个程序员,我也是一个盲人。我的世界中从来没有任何画面,我生来就看不见任何东西。

每次新同事——那些从来没有经历过任何形式视力障碍的人——听说了我的事迹,常常会跑来问我以下这些问题:

那么,你怎么读取别人的代码?

哇!你是怎么做到写代码的呢?

或,最普遍的一个——你会做梦吗?

我总是一次又一次地被问及这些问题。所以今天的主题主要就是回答这三个问题。我会尽量解答大家最大的困惑——盲人究竟是如何写代码的。

关于如何打字

在很多人的印象里,盲人需要使用经过特殊改装的电脑。甚至有些同样有视力障碍的人也赞同这一观点。

那么,现在就让我来揭穿这个秘密吧。上面你看到的字以及下面我将写下来的字都是用一个非常平常的戴尔Inspiron 15r SE笔记本打出来的,你可以在任何戴尔笔记本商店中买到它。该机运行的是Windows8(这是预装的)。我只需要做一件事,那就是安装一个开源的屏幕阅读器名为NVDA(www.nvaccess.org)。

屏幕阅读器,基本上要做的就是——等待它——读取屏幕上的内容。它将屏幕的文本内容通过类似Siri的语音完成从文本到语音的转换。

屏幕阅读器还允许使用盲文显示器,盲文显示器这个设备上面的盲文系统单元可以根据屏幕上的高亮内容不断地刷新形成新的字母。

所有有视力障碍的计算机用户只需要适应这些就够了。这个程序,可以让我做很多事情,很多你闭上眼睛可能完全不能想象的事情,如:

使用Firefox浏览网页

使用Microsoft Word写报告,然后按照大学教授的严格要求整理格式

写博客文章,就像本文

录制、编辑、混音和发布音频(唱歌和制做音乐也是我的爱好之一)

使用制作音频的app,如Reaper、Goldwave、Audacity和Sonar

使用Eclipse、Visual Studio和古老的NotePad++编码网站和app

我之所以将这些技术一一列举出来是为了说明,我也可以和你们一样使用它们。

关于如何编码

比如下面这段代码:

if(x=5){

print("hello world!")

}

读出来的效果就是:If左括号x等于5右括号左大括号print左括号引号hello world惊叹号引号右括号右大括号。

这是一个典型的if模块Java编程语言,听到我耳朵里的就是上面这么冗长的一句话。我倾向于先关闭括号和括号中的语音通知,直到后面需要括号匹配调试的时候再关注括号中的内容,这样我就不会因为描述过于冗长而听得云里雾里不知所以。有的人喜欢将默认的“左大括号”替换成“花括号”或者“开始”,只是为了节省几毫秒的时间。老实说,这语速对于不习惯的人而言那是相当快滴。

也许你不相信,但是我确实是通过语音阅读用NotePad++写下了这篇博客文章。

所以,我的编码方式可能和你们的并没有什么本质的区别,也不用将我想象的有多么的牛逼。唯一的区别是,我不用鼠标,我用的是快捷键和命令行。

不过不幸的是,在盲人编程这个领域,一切都没有得到很好的完善。程序员每天都在使用主要工具,如IntelliJ编辑器,以及它所有的衍生产品(PHPStorm、WebStorm、PyCharm),我都没办法使用。因为这些程序的开发人员没有遵守无障碍原则,正如在修建公园的时候没有设置一个无障碍通道一样。SourceTree也同样如此,虽然它有在慢慢改善,但是直到现在每次用的时候,依然让我异常痛苦。

因此,我不得不不断地寻找可用的教程、程序和工具,而不能像在超市货架上随便挑一个现成的就可以。

关于我如何做梦

我也会做梦,和你们是一样的。大致就是白天接收过的信息,晚上再将这些经历和神经兴奋反馈到梦里。所不同的是,我实际上是看不到任何东西的。

不过,我可以听到、闻到、感觉到一切,就像在现实生活中。原因很简单:梦里面的视觉形象是在已存储的视觉知识上来构建的。由于我打从娘胎以来就一直没看到过东西,所以我没有任何可参考的视觉框架。例如,我的梦中曾碰到过一个大大的404 error:但是没有图片的。

和我一起写代码

我真心希望这篇文章能对大家有所帮助,无论是鼓励还是激励。编程是一份很有意思的工作,也是可以养活我自己的高薪职业,希望大家能和我一起good good study,day day up:)

盲人如何学计算机编程,盲人程序员是如何编程的?相关推荐

  1. 学计算机励志名言,程序员励志格言

    简介<程序员励志格言>精选: 程序员励志格言 1.在seso 的blog上看到的,粘贴过来,鼓励自己~ 2.曾经的理想是做个程 程序员励志格言 1.在seso 的blog上看到的,粘贴过来 ...

  2. 新手编程:程序员 5 种编程入门方法,快速学会一门编程语言!

    程序员要精通一门语言,还是要掌握多门语言? 对于这个问题,公说公有理,婆说婆有理. 技术更新太快,精通一门编程语言已经实属不易,又怎么好意思说精通多门语言呢? 不过呢,当你精通一门语言同时,涉猎一下其 ...

  3. 【看动漫学编程】程序员在异世界生个娃 第2篇:外挂已准备就绪

    前言 作者文笔比较水,还请见谅. 以下内容还将使用视频动态漫画表现,剪辑完将会贴出链接. 小说剧情为剧情需要,过渡到知识点,部分篇幅可能没有技术知识点还望谅解. 由于没有经费支持,所以画出来的东西是我 ...

  4. 【看动漫学编程】程序员在异世界生个娃 第1篇:太极村

    前言 作者文笔比较水,还请见谅. 以下内容还将使用视频动态漫画表现,剪辑完将会贴出链接. 小说剧情为剧情需要,过渡到知识点,部分篇幅可能没有技术知识点还望谅解. 由于没有经费支持,所以画出来的东西是我 ...

  5. 全国计算机程序员等级,计算机等级考试程序员级考试之四大经验

    现在,越来越多的大学生都在参加计算机考试.在各类计算机考试中,参加人数比较多的是计算机等级考试中的二级考试和软件水平考试.相对而言,二级考试比较容易通过,而软件水平考试难度则要大一些,也更具有挑战性和 ...

  6. 程序员:开始编程生涯的5个建议

    程序员:开始编程生涯的5个建议 ugmbbc发布于 2010-10-18 13:14:21| 感谢GG的投递 如果想成为一名程序员,你需要通过一些有创造性的方式来获取经验并且并推销自己.本文作者分享了 ...

  7. 为什么只会编程的程序员无法成为优秀的开发者?

    目录 1 开发者的工作目的 2 开发者的工作流程 3 计算思维是很多人可以具备的能力 4 技可进乎道:坚持工匠精神避免实用主义 今天我尝试从计算教育的角度,解释为什么只会编程的程序员无法成为优秀的开发 ...

  8. 为什么我害怕数据结构学得好的程序员?

    我害怕数据结构学得好的程序员,一跟他们讨论技术,我就感觉自己不是程序员,仅仅是在搬砖维持生活. 我所拥有的编程技巧是什么?不就是每个程序员都会的,对数据库的增删改查吗?每一个初入职场的程序员都会.但数 ...

  9. 骨灰级程序员20条编程经验,赶紧收藏!!

    1. 估算解决问题所需要的时间.不要怕,承认吧!我曾见过一些程序员为了解决一个特殊问题而坐在显示器前面8小时.为自己定一个时间限制吧,1小时.30分钟或甚至15分钟.如果在这期间你不能解决问题,那就去 ...

  10. 给入门程序员20条编程经验

    给入门程序员20条编程经验(转) 1. 估算解决问题所需要的时间. 不要怕,承认吧!我曾见过一些程序员为了解决一个特殊问题而坐在显示器前面8小时. 为自己定一个时间限制吧,1小时.30分钟或甚至15分 ...

最新文章

  1. 人员梯度培养_关键人才的梯队培养
  2. Devexpress报表开发(二):创建数据报表
  3. adb可以连接linux设备吗,Linux通过ADB与Android设备交互
  4. Visual Studio 2015 update 3各版本下载地址
  5. 增加网格_网格交易法(期货)
  6. 使用CRT调试内存分配堆来找出未释放的内存空间
  7. 环境在c盘_如何给女朋友解释为什么 Windows 上面的软件都把自己安装在 C 盘
  8. mysql触发器如何获取当前表名_Mysql如何获取中位数
  9. 揭秘OCR的策略规则
  10. 51nod1079中国剩余定理
  11. 高中低压电网光伏并网二次设计——分布式光伏电站并网市电通讯组网
  12. php怎么在图片上加文字居中,php GD库为图片添加文字且自动换行,水平居中
  13. ThinkPad T43续命记
  14. 计算天数c语言pta,PTA练习7-9 计算天数 (15 分)
  15. caniuse_使用此工具将CanIUse表嵌入到您的网站中
  16. java组合算法应用:购物满减(任意数字组合相加在某个范围内)
  17. 第七章--图--基本概念
  18. jmeter性能测试从零基础到精通
  19. Vue-自定义tab组件v-model
  20. 冷门专业应届博士获加拿大阿尔伯塔大学博士后/年薪3.8万加元

热门文章

  1. java日期用什么属性_java日期以及使用Java反射机制遍历实体类的属性和类型
  2. 矩阵论思维导图_《实变函数论》 江泽坚 3rd 思维导图与笔记整理
  3. linux shell 豆瓣,用Linux shell脚本爬取豆瓣邮箱
  4. python中八皇后如何运算的_python解决八皇后算法
  5. 路畅畅云固件升级教程_斐讯K2P MTK版简单几步刷入breed教程,附刷第三方固件方法...
  6. WebSocket协议入门介绍
  7. 学.net还是php,ASP.NET和php哪个更容易学
  8. 华为路由器hilink怎么用_华为无线充电怎么用?MatePadPro无线充电使用方法
  9. 下图中的蓝月亮为科学家用计算机,2018年高一地理前半期课时练习试卷带答案和解析...
  10. IDEA——常用代码模板