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