如果你看不見你還能編程嗎?
這是個StackOverflow上的問題 How can you program if you’re blind? 。在看到這個問題的時候,我感到應該不可能,但是我錯了,這個問題的前兩個答案讓我深深地震憾了。
第一個答案的回復人是Jared(其在StackOverflow上的積分有將近14K),但是你能想得到他是一個盲人嗎?他回復到——
我是一個完全失明的大學學生,我做過一些程序員的實習工作,所以我的回復基于我的這些經歷。我使用Windows XP 和 Jaws 來為了讀出屏幕上的內容。
對于Java 編程,我使用eclipse這個強大的IDE。我使用SWT開發GUI。對于.NET編程,其使用Visual Studio 2005,使用Jaws可以非常容易地操作VS2005,而且其還有一些很不錯的腳本來可容易地用來做表單設計。
對于C/C++,我使用cygwin + gcc 也使用emacs 和 vim 做出編輯器(使用Emacspeak雖然有時候有點遲鈍)。在實習過程中,我做了很多和Z/OS相關的編程工作。我使用rlogin通過cygwin登錄大型機的USS系統,并使用C3270作為其3270仿真器來訪問大型機的ISPF部分。
我依賴于合成語音系統,也需要 Braille display, 我發現使用合成語音系統很快,但是使用 Braille display有時候有些問題。比如程序有太多的嵌套括號。
關于Braille display,又叫盲文顯示機,是能以盲文進行輸出的電子機械式設備。一般來說,該設備通過在平坦表面上打孔來實現點陣的表現。有了該設備的幫助,無法使用一般的顯示設備的失明用戶也能夠閱讀文字。如下所示。
第二個答案是Saqib提供的,其個人主頁是http://www.saqibshaikh.com/,目前在Microsoft的Bing項目組,他回答到:
我是盲人,我對Windows, Mac, Linux 和 DOS有13年的編程經驗了,我會的編程語言是C/C++, Python, Java, C#或是其它相似的語言,雖然問題問的是怎么來設置盲人的環境,但是我想從盲人怎么使用電腦來回答。
有些人使用“語音環境”,如T. V. Raman程序員和Emacspeak 環境。這樣的環境需要有讀屏程序來監控操作系統的行為,并通過合成語音系統或是Braille display 來告訴盲人屏幕上有什么。這樣一樣,盲人就可以操作任何的應用程序了。
我個人這段時候使用Visual Studio 2008(注:作者是09年回的這個貼的),用其來做一些修改。我關閉了一些VS2008的功能,如顯示錯誤,因為這會讓我分心。在加入微軟以前,我都是在用notepad這樣的東西開發程序。
對于讀屏軟件,我需要設置一下,以便其告訴我縮進。老實說我不太關心這個事,因為VS2008對程序縮進做得很好。但是對于Python來說,這個 功能相當重要。最終,Emacspeak 可以使用不同的聲音來讓我區分縮進的語句塊,以及一些語法(關鍵詞,注釋,標識,等等。)
對于Saqib,大家有興趣可以看看他的視頻訪談:Saqib Shaikh and Scott Hanselman: Designing for Accessibility
這個問題中多次提到了Google的盲人程序員 T.V. Raman,我在網上搜了一下他,他前段時間來過北京,新京報在今年早期報道過他——《T.V 拉蒙,互聯網界也有“盲劍客” ——Google盲人工程師講述軟件設計之路》
在這篇報道中,他經歷過IBM, Adobe和Google 這三個公司,他可以在23秒內復原盲人魔方,1989年他就得到一臺給盲人用的語音合成器和當時最先進的讀屏軟件。他現在使用電腦 沒有任何障礙,他天天都上網瀏覽信息,他還可以使用特別的手機來看地圖。
不知道你看完這些人的經歷后,你有什么感覺?
- 你是否會覺得技術的力量和社會的尊重讓他們和正常人一樣可以使用電腦?
- 你是否會覺得我們這些正常人是不是平時抱怨的太多了呢?還有什么理由不努力的呢?