盲人程序員是如何編程的?
我是一個程序員,我也是一個盲人。我的世界中從來沒有任何畫面,我生來就看不見任何東西。
每次新同事——那些從來沒有經(jīng)歷過任何形式視力障礙的人——聽說了我的事跡,常常會跑來問我以下這些問題:
- 那么,你怎么讀取別人的代碼?
- 哇!你是怎么做到寫代碼的呢?
- 或,最普遍的一個——你會做夢嗎?
我總是一次又一次地被問及這些問題。所以今天的主題主要就是回答這三個問題。我會盡量解答大家最大的困惑——盲人究竟是如何寫代碼的。
關(guān)于如何打字
在很多人的印象里,盲人需要使用經(jīng)過特殊改裝的電腦。甚至有些同樣有視力障礙的人也贊同這一觀點。
那么,現(xiàn)在就讓我來揭穿這個秘密吧。上面你看到的字以及下面我將寫下來的字都是用一個非常平常的戴爾 Inspiron 15r SE 筆記本打出來的,你可以在任何戴爾筆記本商店中買到它。該機(jī)運(yùn)行的是 Windows 8(這是預(yù)裝的)。我只需要做一件事,那就是安裝一個開源的屏幕閱讀器名為 NVDA(www.nvaccess.org)。
屏幕閱讀器,基本上要做的就是——等待它——讀取屏幕上的內(nèi)容。它將屏幕的文本內(nèi)容通過類似 Siri 的語音完成從文本到語音的轉(zhuǎn)換。
屏幕閱讀器還允許使用盲文顯示器,盲文顯示器這個設(shè)備上面的盲文系統(tǒng)單元可以根據(jù)屏幕上的高亮內(nèi)容不斷地刷新形成新的字母。
所有有視力障礙的計算機(jī)用戶只需要適應(yīng)這些就夠了。這個程序,可以讓我做很多事情,很多你閉上眼睛可能完全不能想象的事情,如:
- 使用 Firefox 瀏覽網(wǎng)頁
- 使用 Microsoft Word 寫報告,然后按照大學(xué)教授的嚴(yán)格要求整理格式
- 寫博客文章,就像本文
- 錄制、編輯、混音和發(fā)布音頻(唱歌和制做音樂也是我的愛好之一)
- 使用制作音頻的 app,如 Reaper、Goldwave、Audacity 和 Sonar
- 使用 Eclipse、Visual Studio 和古老的 NotePad++ 編碼網(wǎng)站和 app
我之所以將這些技術(shù)一一列舉出來是為了說明,我也可以和你們一樣使用它們。
關(guān)于如何編碼
比如下面這段代碼:
if(x=5){ print ("hello world!") }
讀出來的效果就是:If 左括號x等于 5 右括號左大括號 print 左括號引號 hello world 驚嘆號引號右括號右大括號。
這是一個典型的 if 模塊 Java 編程語言,聽到我耳朵里的就是上面這么冗長的一句話。我傾向于先關(guān)閉括號和括號中的語音通知,直到后面需要括號匹配調(diào)試的時候再關(guān)注括號中的內(nèi)容,這樣我就不會因為描述過于冗長而聽得云里霧里不知所以。有的人喜歡將默認(rèn)的“左大括號”替換成“花括號”或者“開始”,只是為了節(jié)省幾毫秒的時間。老實說,這語速對于不習(xí)慣的人而言那是相當(dāng)快滴。
也許你不相信,但是我確實是通過語音閱讀用 NotePad++ 寫下了這篇博客文章。
所以,我的編碼方式可能和你們的并沒有什么本質(zhì)的區(qū)別,也不用將我想象的有多么的牛逼。唯一的區(qū)別是,我不用鼠標(biāo),我用的是快捷鍵和命令行。
不過不幸的是,在盲人編程這個領(lǐng)域,一切都沒有得到很好的完善。程序員每天都在使用主要工具,如 IntelliJ 編輯器,以及它所有的衍生產(chǎn)品(PHPStorm、WebStorm、PyCharm),我都沒辦法使用。因為這些程序的開發(fā)人員沒有遵守?zé)o障礙原則,正如在修建公園的時候沒有設(shè)置一個無障礙通道一樣。SourceTree 也同樣如此,雖然它有在慢慢改善,但是直到現(xiàn)在每次用的時候,依然讓我異常痛苦。
因此,我不得不不斷地尋找可用的教程、程序和工具,而不能像在超市貨架上隨便挑一個現(xiàn)成的就可以。
關(guān)于我如何做夢
我也會做夢,和你們是一樣的。大致就是白天接收過的信息,晚上再將這些經(jīng)歷和神經(jīng)興奮反饋到夢里。所不同的是,我實際上是看不到任何東西的。
不過,我可以聽到、聞到、感覺到一切,就像在現(xiàn)實生活中。原因很簡單:夢里面的視覺形象是在已存儲的視覺知識上來構(gòu)建的。由于我打從娘胎以來就一直沒看到過東西,所以我沒有任何可參考的視覺框架。例如,我的夢中曾碰到過一個大大的 404 error:但是沒有圖片的。
和我一起寫代碼
我真心希望這篇文章能對大家有所幫助,無論是鼓勵還是激勵。編程是一份很有意思的工作,也是可以養(yǎng)活我自己的高薪職業(yè),希望大家能和我一起 good good study,day day up:)