盲人程式設計師是如何程式設計的?
本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
我是一個程式設計師,我也是一個盲人。我的世界中從來沒有任何畫面,我生來就看不見任何東西。
每次新同事——那些從來沒有經歷過任何形式視力障礙的人——聽說了我的事蹟,常常會跑來問我以下這些問題:
- 那麼,你怎麼讀取別人的程式碼?
- 哇!你是怎麼做到寫程式碼的呢?
- 或,最普遍的一個——你會做夢嗎?
我總是一次又一次地被問及這些問題。所以今天的主題主要就是回答這三個問題。我會盡量解答大家最大的困惑——盲人究竟是如何寫程式碼的。
關於如何打字
在很多人的印象裡,盲人需要使用經過特殊改裝的電腦。甚至有些同樣有視力障礙的人也贊同這一觀點。
那麼,現在就讓我來揭穿這個祕密吧。上面你看到的字以及下面我將寫下來的字都是用一個非常平常的戴爾Inspiron 15r SE筆記本打出來的,你可以在任何戴爾筆記本商店中買到它。該機執行的是Windows8(這是預裝的)。我只需要做一件事,那就是安裝一個開源的螢幕閱讀器名為NVDA(www.nvaccess
螢幕閱讀器,基本上要做的就是——等待它——讀取螢幕上的內容。它將螢幕的文字內容通過類似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:)
譯文連結:http://www.codeceo.com/article/how-blind-coding.html
英文原文:A Vision of Coding, Without Opening your Eyes
翻譯作者:碼農網 – 小峰
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- 盲人程式設計師的程式設計生涯程式設計師
- 盲人程式設計師是怎樣煉成的程式設計師
- 視障程式設計師是如何程式設計的?程式設計師
- 一個盲人程式設計師的自傳程式設計師
- Google盲人程式設計師講述軟體設計之路Go程式設計師
- 驚歎!這個盲人程式設計師是這樣寫程式碼的程式設計師
- 首批程式設計師他們是如何程式設計的?程式設計師
- 那天我們招了一個盲人程式設計師程式設計師
- 愛偷懶的程式設計師是好程式設計師程式設計師
- 菜雞程式設計師是如何寫程式碼的?程式設計師
- 程式設計師你是如何降低NPE的?程式設計師
- 信仰是如何毀掉程式設計師的程式設計師
- 【1024程式設計師節】程式設計師,你學程式設計的初衷是什麼?程式設計師
- 程式設計師的“非程式設計師”之路程式設計師
- 1985年程式設計師是如何寫程式碼的程式設計師
- 程式設計師如何獲取新程式設計技能程式設計師
- 如何向新手程式設計師介紹程式設計?程式設計師
- 牛逼程式設計師是如何煉成的?程式設計師
- Java程式設計師在Google是如何工作的Java程式設計師Go
- 程式設計師該如何改變枯燥的程式設計生活?程式設計師
- 同事的女友是程式設計師程式設計師
- 程式設計師必看的書-Ruby程式設計師程式設計師
- 《程式設計師的春天:EOM與程式設計師》程式設計師
- Lisp程式設計師眼中的其他程式設計師Lisp程式設計師
- 如何招聘程式設計師?程式設計師
- 如何面試程式設計師?面試程式設計師
- 如何誇程式設計師?程式設計師
- 在程式之外,是程式設計師的生活程式設計師
- 程式設計師OR非程式設計師,有些程式設計的事需要知道程式設計師
- 以前的程式設計師,現在的程式設計師程式設計師
- 你好,我是程式設計師程式設計師
- 王子以前是程式設計師程式設計師
- 程式設計師是洋蔥程式設計師
- 假如李小龍是程式設計師……程式設計師
- 假如我是程式設計師程式設計師
- 程式設計師?還是小丑?程式設計師
- 程式設計師是樂天派程式設計師
- 程式設計師如何選擇程式設計技術書?程式設計師